rings-core

rings-node

ICE Scheme:

  1. Peer A: { create offer, set it as local description } -> Send Offer to Peer B

  2. Peer B: { set receiveed offer as remote description create answer set it as local description Send Answer to Peer A }

  3. Peer A: { Set receiveed answer as remote description }

Keywords

``` To Internet

                 |
                 |
                 |  /------------  Relayed
             Y:y | /               Address
             +--------+
             |        |
             |  TURN  |
             | Server |
             |        |
             +--------+
                 |
                 |
                 | /------------  Server
          X1':x1'|/               Reflexive
           +------------+         Address
           |    NAT     |
           +------------+
                 |
                 | /------------  Local
             X:x |/               Address
             +--------+
             |        |
             | Agent  |
             |        |
             +--------+

                 Figure 2: Candidate Relationships

```

In the WebRTC framework, communication between the parties consists of media (for example, audio and video) and non-media data.

Non-media data is handled by using the Stream Control Transmission Protocol (SCTP) [RFC4960] encapsulated in DTLS.

``` +----------+ | SCTP | +----------+ | DTLS | +----------+ | ICE/UDP | +----------+

```

The encapsulation of SCTP over DTLS (see [RFC8261]) over ICE/UDP (see [RFC8445]) provides a NAT traversal solution together with confidentiality, source authentication, and integrity-protected transfers.

The layering of protocols for WebRTC is shown as:

+------+------+------+ | DCEP | UTF-8|Binary| | | Data | Data | +------+------+------+ | SCTP | +----------------------------------+ | STUN | SRTP | DTLS | +----------------------------------+ | ICE | +----------------------------------+ | UDP1 | UDP2 | UDP3 | ... | +----------------------------------+

Architecture

+-----------------------------------------------------------------------------------------+ | RINGS | +-----------------------------------------------------------------------------------------+ | Encrypted IM / Secret Sharing Storage / Distributed Content / Secret Data Exchange | +-----------------------------------------------------------------------------------------+ | SSSS | Perdson Commitment/zkPod/ Secret Sharing | +-----------------------------------------------------------------------------------------+ | | dDNS | Sigma Protocol | + K-V Storage +------------------+------------------------------------------------+ | | Peer LOOKUP | MSRP | End-to-End Encryption | +----------------------------------------+------------------------------------------------+ | Peer-to-Peer Network | | |----------------------------------------+ DID / Resource ID | | Chord DHT | | +----------------------------------------+------------------------------------------------+ | Trickle SDP | ElGamal | Persistence Storage | +----------------------------------------+-----------------------+------------------------+ | STUN | SDP | ICE | Crosschain Binding | Smart Contract Binding | +----------------------------------------+------------------------------------------------+ | SCTP | UDP | TCP | Finate Pubkey Group | +----------------------------------------+------------------------------------------------+ | WASM Runtime | | | +-------------------| Operation System | ECDSA | | Browser | | | +-----------------------------------------------------------------------------------------+

Ref:

  1. https://datatracker.ietf.org/doc/html/rfc5245

  2. https://datatracker.ietf.org/doc/html/draft-ietf-rtcweb-ip-handling-01

  3. https://datatracker.ietf.org/doc/html/rfc8831

  4. https://datatracker.ietf.org/doc/html/rfc8832