Key concepts

This section describes the key concepts and features of the Corda platform. It is intended for readers who are new to Corda, and want to understand its architecture. It does not contain any code, and is suitable for non-developers.

The first topics in this section provide an overview of the Corda Distributed Ledger:

  • The network - The ecosystem that Corda exists in
  • The ledger - The ledger, and how facts on the ledger are shared between nodes

The second set of topics describe the core CorDapp Concepts:

  • States - The states represent shared facts on the ledger
  • Transactions - The transactions update the ledger states
  • Contracts - The contracts govern the ways in which states can evolve over time
  • Flows - The flows describe the interactions that must occur between parties to achieve consensus (to satisfy some business requirement)

The following Advanced Corda Concepts describe important conceptual information:

  • Consensus - How parties on the network reach consensus about shared facts on the ledger
  • Notaries - The component that assures uniqueness consensus (prevents double spends)
  • Vault - The component that stores on-ledger shared facts for a node

Finally, some concepts that expand on other areas:

  • Time-windows - Transactions can be validated as having fallen after, before or within a particular time window
  • Oracles - Transactions can include off-ledger facts retrieved using Oracles
  • Nodes - Each node contains an instance of Corda, one or more CorDapps, and so on
  • Transaction tear-offs - Transactions can be signed by parties who have access to only a limited view of the transaction parts
  • Trade-offs - Trade-offs that have been made in designing Corda and CorDapps
  • Deterministic JVM - Information about the importance and details of the deterministic JVM

The detailed thinking and rationale behind these concepts are presented in two white papers:

Explanations of the key concepts are also available as videos.