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

Introduction to Corda DLT

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Koshik Raj Koshik Raj
November 16, 2019

Introduction to Corda DLT

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

Avatar for Koshik Raj

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