corda/docs/source/key-concepts.rst
ChrissyAtWork 79616536d4 DEVREL-1297 Ledger - Doc Site Lessonly Conformance (#5128)
* DEVREL-1297 Ledger - Doc Site Lessonly Conformance

Rewrite to bring Doc Site and Lessonly into conformance. Assumption is that Doc Site is more up to date.

* DEVREL-1297 Ledger - Doc Site Lessonly Conformance

* DEVREL-1297 Ledger - Doc Site Lessonly Conformance

Home page describes sections that link from it to enable easier navigation.

* Removed comment
2019-05-21 14:59:11 +01:00

3.3 KiB

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.

Note

The pages in this section should be read in order.

The Network <key-concepts-ecosystem> The Ledger <key-concepts-ledger> States <key-concepts-states> Transactions <key-concepts-transactions> Contracts <key-concepts-contracts> Flows <key-concepts-flows> Consensus <key-concepts-consensus> Notary <key-concepts-notaries> Vault <key-concepts-vault> Time Windows <key-concepts-time-windows> Oracles <key-concepts-oracles> Nodes <key-concepts-node> Transaction Tear-Offs <key-concepts-tearoffs> Trade Offs <key-concepts-tradeoffs> Deterministic JVM <key-concepts-djvm>

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

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

The second set of topics describe the core CorDapp Concepts:

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

Note

When you build a custom CorDapp, your CorDapp will have state, transaction, contract and flow classes.

The following Adavnced Corda Concepts describe important conceptual information:

  • key-concepts-consensus - How parties on the network reach consensus about shared facts on the ledger
  • key-concepts-notaries - The component that assures uniqueness consensus (prevents double spends)
  • key-concepts-vault - The component that stores on-ledger shared facts for a node

Finally, some concepts that expand on other areas:

  • key-concepts-time-windows - Transactions can be validated as having fallen after, before or within a particular time window
  • key-concepts-oracles - Transactions can include off-ledger facts retrieved using Oracles
  • key-concepts-node - Each node contains an instance of Corda, one or more CorDapps, and so on
  • key-concepts-tearoffs - Transactions can be signed by parties who have access to only a limited view of the transaction parts
  • key-concepts-tradeoffs - Trade-offs that have been made in designing Corda and CorDapps
  • key-concepts-djvm - 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.