Description
The high-level architecture diagram seems more up-to-date than the text around it:
The RChain Network implements direct node-to-node communication, where each node runs the RChain platform and a set of dApps on the top of it.
A node runs a set of dApps? I wonder what that means, exactly.
The diagram shows:
- Each node runs a set of "Node-local Contracts" (is that terminology preferred over "system contracts"? I suppose it's more clear.)
- On-chain contracts on top of the Casper consensus protocol.
The heart of an RChain is the Rho Virtual Machine (RhoVM) Execution Environment, which runs multiple RhoVMs that are each executing a smart contract. These execute concurrently and are multi-threaded.
Each RhoVM executes one smart contract? That would be a strange way to define "smart contract". I suppose each shard / namespace has an independent distributed RhoVM, but each of those RhoVMs runs many contracts in parallel, no?
This concurrency, which is designed around on the formal models of mobile process calculi, along with an application of compositional namespaces, allows for what are in effect multiple blockchains per node.
A node can participate in multiple shards or regions, but "multiple blockchains per node" seems passe.
This multi-chain, independently executing virtual machine instances is in sharp contrast to a “global compute” design which constrains transactions to be executed sequentially, on a single virtual machine.
There's still a "global compute" design to RChain, yes? i.e. the distributed RhoVM that results from the Casper protocol. It's just that the RhoVM isn't sequential.
In addition, each node can be configured to subscribe to and process the namespaces (blockchains) in which it is interested.
Wait... that's in addition? Now I'm really lost.