Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Corda DLT

Koshik Raj
November 16, 2019

Introduction to Corda DLT

An introductory talk on Corda DLT at a meetup organized by BChain Dynamics, Bangalore.

Koshik Raj

November 16, 2019
Tweet

More Decks by Koshik Raj

Other Decks in Education

Transcript

  1. Agenda • Corda basics • Corda network and ledger •

    Corda consensus mechanism • Intro to CorDapp • Obligation CorDapp • Code walkthrough and demo
  2. Corda basics Corda is a DLT platform that provides all

    the necessary features needed solve the business use cases: ➔ Transaction Privacy ➔ Transaction finality ➔ Scalability ➔ Enterprise integration ➔ Legally identifiable entities
  3. Corda network Nodes that run Corda and apps (CorDapp) form

    the network. ➔ Each node has network identity and certificate ➔ The nodes communicate on need to know basis ➔ A network operator allows the admission to the permissioned network
  4. Corda ledger Corda nodes doesn’t share a single global ledger.

    Intead, ➔ Each node will maintain subset of global facts (transactions) ➔ 2 peers will have the same version of the facts that they share
  5. Corda consensus The consensus in Corda is achieved with the

    help of Notary nodes ➔ Each signer validates the transaction ➔ Notary makes sure that each transaction is unique to avoid double spends Notary is a network service that ensures uniqueness of the transaction by checking all the input states. It provides pluggable consensus algorithms (RAFT, BFT etc)
  6. CorDapp ➔ Every CorDapp will have 3 major components defined:

    ◆ States - represents the state of an asset ◆ Contracts - validates the transaction ◆ Flows - defines the transaction & communication flow ◆ Also bundles APIs and static web content
  7. Corda states Corda nodes maintain state information in a vault

    ➔ State is an immutable object representing any fact ➔ When a state is updated, the old state becomes a consumed historical state
  8. Interacting with the CorDapp Middleware services ➔ External services often

    communication with Corda nodes through either direct RPC protocol or through middleware services ➔ Middleware services are APIs created with web frameworks such as Java Spring ➔ A project called Braid allows to run customizable service on top of Corda node to create RPC endpoints
  9. Development environment JVM and IntelliJ IDE ➔ Every development node

    should have the following tools: ◆ Java 8 JVM ◆ IntelliJ IDEA ➔ CorDapp is coded in either Java or Kotlin so that they could be compiled to Java bytecode
  10. Obligation CorDapp ➔ IOU-like agreement that can be issued, transferred

    and settled confidentially ➔ Borrower will issue an obligation with lender ➔ Lender can view the obligation ➔ Borrower later settles or transfers the obligation