3 The peer to peer network
3.1 Network overview
Corda network consists of the following components:
• Nodes, communicating using AMQP/1.0 over TLS. Nodes use a relational database for data storage.
• A permissioning service that automates the process of provisioning TLS certificates.
• A network map service that publishes information about nodes on the network.
• One or more notary services. A notary may itself be distributed over multiple nodes.
• Zero or more oracle services. An oracle is a well known service that signs transactions if they state a fact and that fact is considered to be true.
They may also optionally also provide the facts. This is how the ledger can be connected to the real world, despite being fully deterministic. A purely in-memory implementation of the messaging subsystem is provided which can inject simulated latency between nodes and visualise communica- tions between them. This can be useful for debugging, testing and educational purposes. Oracles and notaries are covered in later sections.
3.2 Identity and the permissioning service
Unlike Bitcoin and Ethereum, Corda is designed for semi-private networks in which admission requires obtaining an identity signed by a root authority. This assumption is pervasive – the flow API provides messaging in terms of identities, with routing and delivery to underlying nodes being handled automatically. There is no global broadcast at any point. This ‘identity’ does not have to be a legal or true identity. In the same way that an email address is a globally unique pseudonym that is ultimately rooted by the top of the DNS hierarchy, so too can a Corda network work with arbitrary self-selected usernames. The permissioning service can implement any policy it likes as long as the identities it signs are globally unique. Thus an entirely anonymous Corda network is possible if a suitable IP obfuscation system like Tor 6 is also used.
If you want to change selection, open document below and click on "Move attachment"
- (no access) - corda-technical-whitepaper.pdf, p7
|status||not read|| ||reprioritisations|
|last reprioritisation on|| ||suggested re-reading day|
|started reading on|| ||finished reading on|