Date: Thu, 28 Mar 2024 08:23:13 +0000 (UTC)
Message-ID: <194319290.47.1711614193330@389843ece5a9>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_46_1819325118.1711614193330"
------=_Part_46_1819325118.1711614193330
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
The communication layer of an RChain node comprises several levels of ab=
straction. It is responsible for assembling an overlay network upon the Int=
ernet, handling peers appearing and disappearing. It is further responsible=
for providing reliable communication among subsets of RChain nodes suitabl=
e for implementing time-sensitive protocols like Casper. In addition, it ex=
poses a set of networking primitives to the RhoVM, giving Rholang code some=
communications ability.
It is simplest to describe this structure from the bottom protocols upwa=
rds, from peer-to-peer networking to direct communication functions exposed=
to the VM.
Please note that since namespacing hasn't been finalized, yet, much of t=
his is subject to change when the namespace-related duties of the communica=
tion layers are decided. Of particular interest are the effects that namesp=
aces might have on which remote nodes get included in a node's peer group.<=
/p>
Wire Protocol
For all structured, protocol messages, the wire format is serialized pro=
tocol buffers. This is a thoroughly debugged, forwards-compatible message f=
ormat, and there is a protocol buffer implementation for nearly every major=
language and no few minor ones.
The format of messages is controlled at compile time by code generated a=
ccording to simple schema. This code, native to the language for which it i=
s generated, allows messages to be serialized into native types (instances =
of classes or structs, for example) and used directly within the language.<=
/p>
Protocol buffer messages yield relatively compact serialization formats.=
All integral types are varint encoded, for example, and fields without dat=
a may be elided. Since schema enforcement is done at compile time, there is=
no schema overhead in the serialized format. A few rules of construction a=
re all that is required to ensure forwards compatibility of a protocol, by =
allowing previous versions of systems to ignore unrecognized fields.
This lack of rich type information in serialized protocol buffers, altho=
ugh yielding good network performance, is not without its annoyances. An pr=
otocol buffer of unknown type cannot be deserialized upon receipt; the rece=
iver must assume its type. This leads to the use of a union-type pattern in=
protocol design. Moreover, there is no native framing protocol, so message=
s cannot be streamed effectively without cobbling together one of your own.=
Finally, if protocol version is important, it must be included explicitly =
as part of a message.
Overlay Network
Like Ethereum, RChain borrows the peer-to-peer mesh overlay from BitTorr=
ent and other file-sharing technologies. The current implementation in RCha=
in is based on the parts of the Kademlia protocol that establish and mainta=
in a view of some subset of the network (a node's peers). This is described=
in more detail here.
Each peer included in the network overlay for a particular node may carr=
y subjective measures. These include reputation, a measure of how well the =
peer is performing the duties from the protocol perspective. Also included =
might be metric information about latency to this node or measured throughp=
ut (if doing large transfers, for instance). These measures may be used for=
a number of reasons. A node may wish to replace underperforming peers. Alt=
ernatively, a node may wish to pick a certain number of the best performing=
peers to use in a validation subnet.
Peer-to-Peer Protoc=
ol
There is a need for security and compatibility testing above the basic m=
esh overlay, so that peers which are either incompatible (running too-old v=
ersions of the software, for example) or which are simply unfamiliar with t=
he cryptographic protocols in RChain (running different or malicious softwa=
re, say) are not joined to the node's view.
Belonging in this layer, but not yet implemented, is filtering based on =
namespace interests. If a validator's view of the network should be limited=
to other nodes interested in processing transactions from the same or rela=
ted namespaces, this should form part of a potential peer's inclusion-or-ex=
clusion decision.
Other RChain Protoc=
ols
For consensus and any other activity under the control of the nodes them=
selves, a more direct, connected, reliable topology may be required. Curren=
tly, a ZeroMQ-based communications object is implemented to fill that role.=
ZeroMQ is not required but simplifies a number of network-programming chor=
es, including reconnection and buffering. However, those characteristics th=
at make it easy to program network-aware applications using ZeroMQ argue ag=
ainst exposing it to higher layers in the RChain node code, since they are =
also useful tools in carrying out denial-of-service or other resource-exhau=
stion attacks.
ZeroMQ imposes few, if any, restrictions on the form that communication =
takes. It provides enough of a framing protocol that in combination with pr=
otocol buffers, the communication needs of a robust consensus protocol like=
Casper could be met. If the overhead imposed by a message queuing system i=
s too high, the system could simply use a less reliable, connectionless tra=
nsport like UDP, as a sort of optimistic communications layer.
External Ne=
twork Communication
If RChain is to support connection to and communication with nodes that =
may not even be part of the RChain peer network, then clearly these connect=
ions cannot be part of any peer-to-peer networking overlay. As such, the cu=
rrent plan is to implement these connections directly, but within a differe=
nt part of the communications layer.
There are perhaps two broad types of network resources, termed here "act=
ive" and "passive" resources. An active resource is a specific resource req=
uested from the communication system for the exclusive use of a running Rho=
lang program (or by the RhoVM). By contrast, an example of a passive resour=
ce might be "external network input on name N," which causes the c=
ommunications layer to wait for input that can be routed to the appropriate=
place in a higher layer of the system.
For active network communication, network resources (sockets, for exampl=
e) should be exposed in a manner consistent with other system-level resourc=
es. My assumption is that this will be done using a "resource handle" of so=
me type, most likely an index into a table. The table of raw resources woul=
d never be exposed to the RhoVM layer or higher. All actions, including set=
ting and getting configuration parameters, reading data, writing data with =
or without blocking, and so on, are done through primitives via the handle.=
Examples in a fictional Rosette-like language might include (for unreliabl=
e, connectionless communication):
- reserving a system UDP socket resource
(make-socket 'udp) =3D> handle
- writing data to a the socket
(write
handle address data)
=3D> bool
or (for connection-oriented input, here a simplified version of a patter=
n that enables servers to be written):
- reserving a system TCP socket resource
(make-socket 'tcp) =3D> handle1
- readying a socket for serving connections
(bind-and-listen handle1 address)
- accepting connections on the socket
(accept
handle<=
/em>1)
=3D> handle2
- reading data on the new socket
(read
handle2)
=3D> data
An active resource, like a raw connection over TCP or UDP, a socket is c=
reated in the JVM. The socket is entered into a table and a handle returned=
. Since all socket operations are thereafter indirect via RhoVM-called prim=
itives, they can be monitored and charged to the calling account appropriat=
ely. An entry in the table may be associated at creation time with informat=
ion that controls its lifespan, which may be updated from higher layers in =
the RChain system.
Your crack communications layer team does not yet have a great idea of h=
ow passive network operations might work, beyond a simple model of reservin=
g one known (or discoverable) TCP and one known (or discoverable) UDP port =
for data multiplexing. Any incoming data will have to be well-formed, in th=
e sense that it must be name-routable. There can be a protocol buffer for g=
eneralized input that carries routing information as well as a binary paylo=
ad that is only restricted in size, not form.
------=_Part_46_1819325118.1711614193330
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: file:///C:/e866ec44d0cf8473f6eea3774eddbf10540e3d384cbf8bf5846b4ab4098299cb
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
4+NjaWmppqY2PT3t5uYmLy9fU1NTVlaWmJhoZmZWWVmZn5//6NGjzMxMkJuamlpNTc3Y2NiXX37p
5ubm6OhoYGBQVlaGx+M9PDyMjY37+vq++uqriooKSUlJVVVVMpksIyPT19d369atsLAwdXV1BEHE
xcXt7OxkZGTQnvg9JBQWi9XR0ZGXl8/JyTE0NBQTEzM3N3dwcJCSksrPz3d1dS0qKlJRUQkNDcXj
8TY2NnZ2dlFRUV5eXp2dnbq6us+ePVNUVAT1Hriak2gD8LT4QW47yrkA01k7iTYhVFtb25MnTxAE
uXXrVkhISGZmZldX16NHj+rq6jIzM6OioohEoqmp6YsXL6KioqKjo9XV1T08POLi4gwMDOzs7NBH
P0ioD62nPDMz8/79+woKCuCRPiEhISYmJigoaGxsbG5uzsvLS0ZGJicnBzRGVFVV29vb8/LyrKys
QG6BgYFEIhFBEBcXF19f35WVFXd3d3l5+fr6+uHhYU1Nzd7eXiUlpdnZWW9vb3ADh4WFqampVVRU
NDc3e3l5IQji6Og4OTmJwWByc3N32YzasA2Vl5fn7++fnJzs5OTk7u6el5dXW1srLi6ur6/v5+eX
nJxsY2Pj4eHh7+9vZmaWmJhYVVXl4uJSV1dnY2Pj6uqakpIC7qIt21Dg4Xe74cvcoIVVnwgICGzy
lOfu7g5QZWVlpaysPDg46ODg0NLSUldXV1RU1NPTExgYOD09bWJiYm5uPjw8TKVSlZWVOzo6XF1d
5eTk6uvrIaE+KEKtj2Fb85vPeROAdYRu/Vsc5oDshdb3QzU1NQ0NDTEYjNLS0rGxscjISBqN1tDQ
EBQUNDIyQiAQ4uLiVlZWSktLMzMzyWQyjUZDECQ9PT0rK4vBYMTFxYExSs6f8hYWFmg0mr29vYiI
CBgo4M7GlJiYmJqaWllZ2ezsLPAAjNjkRu2SUHNzc2C4CvwFo1romC4IyAT/osNbrAFQ6LMM+Czr
R9AYFtDUR7MF+YC30L979VjEbixvw3YZasDh925OKHl5eVNTU19f32PHjv3617/m4eH53e9+R6fT
l5eXZ2ZmGNyk2VUkfffdd2Ay1l//+lc5Obnc3Nxz5861tbWxczhrDBSoM6z1jTWYDn0drTmg+rEr
MhhT/oG0oYDQ+gGwsoZQ8/Pzi4uL4EtR0ACzw9BSWE8olKfgKgYHBwcGBvr6+iYmJsCLYIxvaWlp
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
------=_Part_46_1819325118.1711614193330--