- Corda is an open-source, enterprise-grade Distributed Ledger Technology (DLT) platform developed by R3.
- It is specifically designed for recording and automating legal agreements between parties.
- Unlike traditional blockchains (like Bitcoin or Ethereum), Corda does not use blocks or global broadcasting.
- Instead, it allows direct P2P transactions between known, permissioned parties — making it ideal for industries like finance, healthcare, and supply chain where privacy, scalability, and regulatory compliance are essential.
Components of Corda
Corda architecture is composed of several core components that ensure decentralized operations, privacy, and secure communication:
1. Nodes
A Node is a JVM-based runtime environment in Corda. Each node represents a unique participant (bank, company, etc.) in the network.
Key Characteristics:
- Has a unique identity (verified via KYC)
- Communicates using AMQP over TLS (secure protocol)
- Uses Apache Artemis (ActiveMQ) for message queuing
- Hosts CorDapps and flows
A Node can play multiple roles:
- Regular Node
- Notary Node
- Oracle Node
- Network Map Service Node
2. Persistence Layer
Handles data storage for the node.
Components:
- Vault – Stores all states (like assets, contracts, etc.)
- Storage Service – Handles long-term data storage in a relational database (like PostgreSQL or H2)
Vault stores both current and historic states of transactions.
3. Network Interface
Enables peer-to-peer communication between nodes.
- Uses Advanced Message Queuing Protocol (AMQP) for sending messages
- Messages are encoded in compact binary format
- Ensures direct and secure communication without broadcasting to the entire network
4. RPC Interface (Remote Procedure Call)
Allows external clients or admin tools to interact with the node.
- Used by developers and apps to:
- Start/monitor flows
- Query vault states
- Manage node info
This is how web interfaces or backend apps talk to the Corda node.
5. Service Hub
A utility toolbox inside the node that gives flows access to:
- Vault services
- Identity services
- Key management
- Network map
- Clock services
Basically, it supports internal operations required by smart contracts and flows.
6. CorDapps (Corda Distributed Applications)
These are smart contract packages in Corda, usually written in Kotlin or Java.
- Contain:
- Contracts (business rules)
- States (data models)
- Flows (workflow logic)
CorDapps extend a node’s behavior and define how transactions are created, signed, and recorded.
