- Node or peers
- entities that participate in distributed data storage
- changes made by one have to be propagated to all others
- Shared ledger (shared, distributed, immutable, consensus based)
- Block
- time, sequence
- hash, previous block hash (link)
- transaction data
- Blockchain
- Smart contract
- an agreement or set of rules govern transaction
- stored in blockchain
- executed automatically / semi-automatically as part of transaction
- clauses could be made partially / fully self-executing, self-enforcing, or both
- Permissions
- Participant ID - by digital certificate
- Consensus
- Ensure all peers in network have the same ledger
- Keep out fraudulent transaction
- Ensure chronological order
- Algorithm
- Proof of stake
- validators hold certain percentage of the network's total value to validate transactions - provide increased protection from attack by reducing incentives for attack and make it very expensive
- Multi-signature
- majority of validators must agree
- Practical byzantine fault tolerance
- decision algorithm to settle disputes (faults)
- Tendermint "TendermintCore is a high-performance blockchain consensus engine that enables you to run Byzantine fault tolerant applications"
- Proof of work
- mining based
- all participants have to agree upon a common ledger and all participants have access to all entries ever recorded
- unnecessary expensive for blockchain for business
- when participants are anonymous, on bitcoin, necessary and commitment is expensive
- machines with identical copies of the ledger team up to solve a puzzle given by network
- first team solve the puzzle wins, and all other machines update their ledger to match that of the winning team
- in bitcoin network, transactions validated by miners who get rewarded
- Transaction
- Owner -> transaction data -> hash #transaction data -> private key signed hash
- Authenticity check: pk signed hash + public key -> hash = #transaction data
- user
- regulator (user with special permission to oversee transactions within the network)
- developer
- network operator - who have permissions and authority to define, create, manage and monitor network
- CA
- traditional processing systems and data sources
- Consensus - all participants must agree for a transaction to be valid
- Provenance - participants know where the asset came from and how its ownership changed over time
- Immutability - transaction is tamper-proof after recorded to the ledger
- Finality - ledger as the "single source of truth"
- Permissioned / Unpermissioned
- Eliminate intermediaries - saves time and cost
- Efficient - shared ledger through distributed network
- Safe and secure (?) - ledger is tamper-evident, one transaction cannot be changed, can only be reversed with another transaction (with exception, HARD RESET)
- Enhances trust
- every transaction builds on every other transaction
- temper-evident
- not owned by a single entity
- Reduce market friction
- information - imperfect (duplicate, inconsistent), inaccessible, risks (hacking)
- interaction - physical separation, intermediaries, delay, etc.
- innovation - bureaucracy, legacy system, side effect of regulations, etc.
Hyperledger Fabric
- Driven by use cases
- Modular / extendable architecture for various industries
R3 Corda
- Driven by use case - financial service industry
Ethereum
- Field independent
- In contract to Fabric, not stand out in modularity but provision of generic platform
- Blockchain for Dummies IBM Limited Edition
- http://explore-ip.com/2017_Comparison-of-Ethereum-Hyperledger-Corda.pdf