Corda

Key Points

Enterprise blockchains include: Fabric, Ethereum, Corda, Quorum, Sawtooth



References

Reference_description_with_linked_URLs__________________________Notes__________________________________________________________________
Overview
https://docs.r3.com/Corda docs home
https://training.corda.net/corda-fundamentals/concepts/Corda key concepts docs
Corda version features list  r4.6
https://101blockchains.com/corda-tutorial/ ***
Old Corda Fabric comparison pdf - 2018  
s Blockchains Compared: Fabric, Corda, Ethereum


https://kotlinlang.org/
https://play.kotlinlang.org/byExample/01_introduction/02_Functions
https://vinn9686.medium.com/enterprise-blockchain-token-comparison-xrp-vs-xdc-6d80b9a79113Corda XDC token - a staking token that is Ethereum compatible for DeFi


Corda atomic swap explained - mediumCorda atomic swap explained **


https://medium.com/newcryptoblock/hyperledger-fabric-vs-r3-corda-7954035a4884

medium.com-Hyperledger Fabric vs R3 Corda.pdf

Hyperledger Fabric vs. R3 Corda  - 2019

https://medium.com/akeo-tech/hyperledger-fabric-vs-corda-vs-
quorum-the-business-choice-dd5238b20d88

medium.com-Hyperledger Fabric vs Corda vs Quorum The business choice.pdf

Hyperledger Fabric vs Corda vs Quorum: The business choice?

https://kaleido.io/a-technical-analysis-of-ethereum-vs-fabric-vs-corda/

kaleido.io-Enterprise Blockchain Protocols A Technical Analysis of Ethereum vs Fabric vs Corda.pdf

2019 - Tech compare Fabric Ethereum Corda - Zhang

Enterprise Blockchain Protocols: A Technical Analysis of Ethereum vs Fabric vs Corda

https://drive.google.com/open?id=1aDDZ75LLtUi5SoASc0Svbwmk-WpAw0j42017 - Compare Fabric  Ethereum  Corda
https://drive.google.com/open?id=19_R9yWJFO9wwo6x4tHl39i6wmjIyX32KBLOCK BY BLOCK
A Comparative Analysis of DLT - Sep 2018

https://www.ledgerinsights.com/quorum-blockchain-competitor-hyperledger-besu/

ledgerinsights.com-Quorum blockchain competitor joins Hyperledger ecosystem.pdf

BESU - Quorum blockchain competitor joins Hyperledger ecosystem

https://akeo.tech/blog/blockchain-and-dlt/enterprise-blockchains-
hyperledger-fabric-corda-quorum/

akeo.tech-Why Hyperledger Fabric will Win Against R3 Corda and Quorum.pdf

Why Hyperledger Fabric will Win Against R3 Corda and Quorum? = 2019





Corda
https://training.corda.net/corda-fundamentals/concepts/Corda Concepts
https://training.corda.net/corda-fundamentals/concepts/Corda Notary witnesses the transaction but does not validate it. They only attest to the ID of the party making the transaction. 
Transaction validation ( double spend for example ) must be done elsewhere in the solution
https://nms.kcl.ac.uk/moritz.platt/assets/standards/2020-corda-did-method.pdfCorda DID method to ID party in a transfer
















Compare Blockchains
https://medium.com/newcryptoblock/hyperledger-fabric-vs-r3-corda-7954035a4884Fabric vs Corda - Medium 2018













Session Overview



Key Concepts


Corda Overview - R3



Corda Overview - Blockchains 101

https://101blockchains.com/corda-tutorial/




Compare Hyperledger Fabric, Ethereum, Corda, Quorum -2020 ratings

https://blockchainsimplified.com/blog/hyperledger-vs-quorum-vs-corda-which-is-correct-for-your-business/

file:///Users/jimmason/Documents/temp/delete/fabric-v-corda-2018-features-medium.com-Hyperledger%20Fabric%20vs%20R3%20Corda.pdf


Hyperledger vs Quorum vs Corda survey




Fabric v Corda - 2018

fabric-v-corda-2018-features-medium.com-Hyperledger Fabric vs R3 Corda.pdf


corda v fabric feature compare

tokens c??? fabtoken delayed

privacy b

scale f???

finality b

batch proc ????

admin ????

languages f

interoperability b

open platform b

identity tools b???

pluggable f???

wide use cases f???

did support ????

multi cloud ????

consensus ????

default net b hyperchain, aws, ibm, azure



Enterprise Blockchain Protocols: A Technical Analysis of Ethereum vs Fabric vs Corda

https://kaleido.io/a-technical-analysis-of-ethereum-vs-fabric-vs-corda/

kaleido.io-Enterprise Blockchain Protocols A Technical Analysis of Ethereum vs Fabric vs Corda.pdf




Enterprise EthereumFabricCorda
Node PermissioningSmart contract based rules, with file-based per-node rules as local overrides.Configurable on node, channel and consortium levels.Trusted network map service complemented by file-based configurations on each node. Corda networks are partitioned into compatibility zones that are governed by separate Certificate Authorities.
IdentityPublic keys – distributed, and interoperable between Ethereum based chains. Coupled to PKI via proofs.Based on PKI with native organizational identity. Organizational identity rather than individual identities used throughout in consensus, and permissioning.Based on PKI with both individual and organizational identity.
Cryptographysecp256k1Pluggable (ECDSA with secp256r1 and secp384r1 built-in).ed25519
secp256r1
secp256k1
RSA (3072bit) PKCS#1
SPHINCS-256 (experimental)
Transaction ConsensusOrder -> Execute/ValidateExecute -> Order -> ValidateExecute/Validate -> Order/Notarize
Application ResponsibilitySending signed transactions to one node in the network.Coordinating directly with all required participants to obtain endorsement, checking for consistent execution results, signature, and submission.CorDapps use the flow framework to coordinate with transaction counter-parties to negotiate proposed updates, obtain signatures, and to finalize with the notary service.
Applied Consensus AlgorithmsProof-of-Authority (BFT).
Raft (CFT with trusted leader).
Istanbul BFT (BFT with deterministic leader rotation).
Tendermint
Kafka/Zab (CFT with trusted leader).
Raft (CFT with trusted leader).
Raft (CFT with trusted leader)
BFT
Smart Contract EngineEVM, in-process sandboxDocker isolation by default, pluggable in v2.0Deterministic JVM
Smart Contract LanguagesDSL (Solidity, Serpent), guaranteed deterministic.Full languages (Go, Node.js, Java), non-determinism is tolerated.Java, Kotlin, deterministic by using recommended libraries
Smart Contract LifecycleImmutable. Easy to deploy. Stored on-chain.Requires elaborate process to deploy/change. Stored off-chain.Requires node-level administrative operations to deploy/update. Stored off-chain.
Ongoing work to split consensus-critical code vs. non-consensus-critical code for different storage strategy (on-chain vs. off-chain respectively)
Smart Contract UpgradeProgramming patterns to extend/migrate code & data.Replacing off-chain code via administrative procedure and upgrade transactions.Contracts with hash-based constraints are explicitly upgraded via node-level administrative procedures and coordinated flow to authorize and upgrade.
Contracts with signature constraints automatically allow new versions to execute, as long as signed according to the constraints and the hash matches.
Tokenization of AssetsNative feature
Many token standards: ERC20/ERC721/ERC777 etc.
Possible with custom solution.Possible with custom solution.
Corda Token SDK makes it easier to build.
Multi-chainsEach chain is unique, and requires separate node runtimes (min or 3 or 4 depending on consensus).Native feature (channels) with shared peer runtime, and shared orderer. Built-in governance for creating side-chains with isolated state.No concept of a chain (shared ledger). Transactions always explicitly target specific nodes. States are scoped to the designated notary which can be retargeted to a different notary.
Private TransactionsPublic hash represents input.Public hash represents input and private end state.Inherently all transactions are private. The entire transaction is visible to a validating notary.
Community of Contributors
(as of writing)
Go-Ethereum: 429
Quorum: 383
Besu: 60
Autonity: 360
Fabric: 185Corda: 146
Community Pulse
(Month of Nov. 2019)
Go-Ethereum: 15 authors, 98 PRs
Quorum: 9 authors, 13 PRs
Besu: 23 authors, 66 PRs
Autonity: 6 authors, 6 PRs
Fabric: 31 authors, 220 PRsCorda: 33 authors, 91 PRs



Ethereum Enterprise Blockchain implementations

EE ClientModified FromDeveloperOpen Source License
Quorumgo-ethereumJPMorgan ChaseLGPL
BesuNew implementation in JavaPegaSysApache 2.0
Autonitygo-ethereumClearmaticsLGPL
StratoHaskell EthereumBlockAppsClosed-source


Consensus Models Compared

All blockchain systems need a consensus mechanism to ensure all nodes have the same view of the transactions input and order. Almost all existing protocols utilize consensus algorithms designed around the “order-and-execute” architecture. First all nodes agree on the transactions order inside a block, then the transactions are independently executed by each node to calculate the resulting state.

Hypeledger Fabric Consensus Model

Fabric consensus model is different - order > execute > commit

Fabric achieves transaction finality differently.

It has a faster consensus model:   execute > order > commit

option to listen for transaction commit completion event ensures finality


At a high level, a configurable number of organizations must come to consensus on the execution results, where the “endorsement policy” is defined at the chaincode level, private data collection level (starting in v2.0), or key level.

Corda consensus design is very similar to Fabric. First the nodes involved in the transaction coordinate among them to process the transaction by executing the target contract and signing the execution result. Once the required signatures are collected, the initiator node is responsible for sending the transaction to the notary service for consensus signature. The notary service maintains a full history of all the transactions that have been submitted and is able to determine if a double spending situation is happening. Once the notary service approves the transaction and signs of on the proposed result, the transaction is finalized and committed by all the parties. This makes it effectively the same execute-order-validate design that Fabric follows.


Transaction ExecutionOrdering (double-spend detection)
EthereumEthereum Node (all nodes)Ethereum Node (block proposer)
FabricEndorsing PeerOrderer
CordaCorda NodeNotary


Multi-version Concurrency Control for execute > order > commit flows

“execute first and order next” design implies that some kind of concurrency version control is necessary, otherwise when multiple transactions are trying to modify the same state value in parallel, the later one will overwrite the earlier one and wipe out the state transfer from the earlier transaction, instead of building on the result of the earlier transaction. Fabric employs a multiversion concurrency control (MVCC) technique borrowed from database design. Under the cover, the chaincode engine keeps track of what state values are being viewed (in readset) and updated (in writeset) when the smart contract is executed. During the validation phase, where each transaction contained inside a block is validated and state transfer is applied, if a transaction’s state value versions in its readset do not match the current versions, typically because they have been updated by an earlier transaction in the block, then the transaction is marked as invalid.

implication is that if a series of transactions need to modify the same state value, they must be regulated such that no more than one transaction lands inside a single block. Otherwise the application will observe a lot of invalid transactions due to concurrent modifications.

Techniques exist to program around this limitation, such as utilizing the composite key capability to assemble unique keys for each transaction while having the ability to group together keys targeting the same underlying state variable. The high-throughput sample application demonstrates how this can be done. Note, though, that not all scenarios can take advantage of this technique.



Corda XDC token - a staking token that is Ethereum compatible for DeFi

https://vinn9686.medium.com/enterprise-blockchain-token-comparison-xrp-vs-xdc-6d80b9a79113

The XinFin network deploys its version of the Delegated Proof of Stake mechanism known as XinFin DPos or xDPoS. Their protocol allows a selected group of nodes to represent all nodes on the network and approve the transactions. By doing so, they reduce the number of nodes that must individually approve a transaction, which results in a shorter time for transaction settlement. xDPoS also enforces KYC requirements on nodes to fit with the needs of all enterprises using the XinFin blockchain.

At present, the XinFin network creates one new block every 2 seconds and is capable of processing approximately 2,000 transactions every second.

https://medium.com/blockdegree/blockdegree-implemented-payment-and-auto-burn-of-xdc-xdce-62db816a9fee

Stellar vs XinFin networks

https://vinn9686.medium.com/stellar-vs-xinfin-which-one-makes-the-cut-4ab60999c3d5

XinFin Network Features

https://vinn9686.medium.com/stellar-vs-xinfin-which-one-makes-the-cut-4ab60999c3d5

 They have a host of applications that form a complete ecosystem that can be used for cross-selling or up-selling products for different intertwined business functions. Working on the principle of hybrid blockchain i.e. a combination of a public and private blockchain, this network has revolutionized the workings of a blockchain by making it more liberal, all the while keeping it more secure. This is done by a series of checks enabled by proof of stakes (PoS) methodology wherein, the nodes holding the largest amount of stakes would have the right to sanction transactions. The aforementioned host node is practically a part of a larger public chain while hosting its own private blockchain on that node. This creates a global connection while keeping the privacy of the organization secure.

Stellar Network Features

  • Stellar (XLM) is a completely decentralized consensus platform.
  • It is designed to support any type of currency.
  • It has a built-in decentralized exchange that can be used to trade any type of currency or asset.
  • Supports thousands of transactions per second
  • It can be used to send or trade any currency, asset, or token.

Anchors are simply entities that people trust to hold their deposits and issue credits into the Stellar network for those deposits. Anchors do two simple things:

1) They take your deposit and issue the corresponding credit to your account address on the Stellar ledger.

2) You can make a withdrawal by bringing them the credit they issued.

Stellar has added enhanced security features to its network and a host of apps; including more security features such as multi-signature, batching/atomicy, and businesses can choose which nodes can validate their transactions. These increased security features are especially crucial for STOs, as the tokens represent real-world assets. Moreover, it enables trading between KYC/AML approved addresses only otherwise they stand of risk having a frozen account. It carries a ledger, which is able to store offers that people have made to buy or sell currencies. Offers are public commitments to exchange one type of credit for another at a predetermined rate. The ledger becomes a global marketplace for assets. It also allows you to send any currency you hold to anyone else in a different currency through the built-in distributed exchange. People can receive any currency through an anchor they added.

Errors in the Comparison Below

  • You create custom tokens on Stellar using SDK
  • For custom tokens you don't need a bank account in Stellar

The tipping point towards XinFin comes in when with double the transaction speed as Stellar and less than half the block creation time as that of Stellar, the XinFin coin XDC still manages to remain at a lower price, making it lucrative for small scale investors looking to start with something in the lower range yet carrying huge potential. The multi-currency exchange mechanism and the capability of creating digital assets using XDC token in order to support multiple currencies result in an expansion of feasibility and durability of operations.


Potential Value Opportunities



Potential Challenges



Candidate Solutions



Quorum 



Quorum adds permissionless POS consensus


Quorum Control and presented by Quorum Control's Founder and CEO, Topper Bowers. 

The title of their presentation is "Topper Talks Tupelo: Introducing the Future of DLT". In the presentation, Topper will give an overview of Tupelo. Tupelo is a permissionless proof of stake DLT platform purpose-built to model individual asset ownership and provenance as the base layer (rather than token exchange). Tupelo introduces a completely unique infrastructure to better support scalable adoption outside of currency-oriented blockchain circles and deliver concrete benefits to users, from enhanced data security to more accurate and transparent record-keeping.


About Topper Bowers:

Topper Bowers is an entrepreneur and engineer with 20+ years focused on building tech that betters people’s lives. Whether he’s designing user interfaces, managing world class teams, or
building high volume distributed systems for large nonprofits and Fortune 50 companies, he’s committed to making the kind of software that can change the world. He’s a former Y-Combinator founder (Summer 2012) with deep knowledge of distributed systems and distributed ledger technology.
About Quorum Control:

Quorum Control is a VC-backed Berlin-based technology company building Tupelo, a permissionless proof-of-stake DLT platform purpose-built to model individual objects. After securing $2.9mm in traditional seed equity investment (lead by Initialized Capital) the team launched its first TestNet in November of 2018.

Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps