Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Blockchain: Consensus Algorithm

148 Aufrufe

Veröffentlicht am

Presented in UST-KISTI Student Seminar at KISTI Meeting room 3 (2 Aug, 2018)

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Blockchain: Consensus Algorithm

  1. 1. Blockchain : Consensus Algorithm Yeongheon Song Research Data Platform Center, KISTI Dept. of Big Data Science, UST 2018. 08. 02.
  2. 2. Blockchain • Blockchain is a system processes continuous transactions of users consisted by a number of distributed nodes which are connected each other. • Once data has been recorded, it cannot be modified or deleted because of its properties. Courtesy of “bitcoinforbeginners.io”
  3. 3. Properties of Cryptographic Hash Functions • Collision-resistance : A hash function ! is said to be collision resistant if it is infeasible to find two values, " and #, such that " ≠ #, but !(") = !(#). • Hiding : A hash function ! is hiding if when a value ( is chosen from a prob. distribution that has high min-entropy, then given !((|") is infeasible to find ". • Puzzle friendliness : A hash function ! is said to be puzzle-friendly if for every possible *-bit output value #, if + is chosen from a distribution with high entropy, then it is infeasible to find " such that !(+|") = # in time significantly less than 2- .
  4. 4. Consensus Algorithm u Aim : Defend nodes from making forks u Permissionless Blockchain • Proof of Work : Require expensive computer calculation called mining. Select Longest chain(Traditional Bitcoin), GHOST(Ethereum) • Proof of Stake : Requires coin holders to utilize their share to validate transactions. u Permissioned Blockchain PBFT(Practical Byzantine Fault Tolerant; Tendermint, Hyperledger Fabric)
  5. 5. Consensus in Permissionless System blk0 blk1 !(#$#%&|()&*_ℎ-.ℎ|/0|/0) < / {0 … 0 -2739493020;394320%39<} SHA256 >-byte 0 : Computation Difficulty 16A blk2 blk2# (created by node0) (created by node6) blk3 ✓ Antonopoulos, A. M. (2014). Mastering Bitcoin: unlocking digital cryptocurrencies. " O'Reilly Media, Inc.". (created by node2) 임종철(J.C.Yim), 유현경(H.K.Yoo) , 곽지영(J.Y.Kwak) , 김선미(S.M.Kim). (2018). 블록체인과 합의 알고리즘. 전자통신동향분석, 33(1): 45-56
  6. 6. Merkle tree in Blockchain Antonopoulos, A. M. (2014). Mastering Bitcoin: unlocking digital cryptocurrencies. " O'Reilly Media, Inc.". • Block #125552 in Bitcoin Blockchain dhash(a) = sha256(sha256(a)) : resistant to Length extension / Birthday attacks
  7. 7. Proof of Work (PoW) u Longest Chain • Bitcoin, H(#) ≤ &/( where (: =difficulty, &: =Maximum of difficulty(2,-. − 1) • Calculation of hash takes approx. 10 min for each block. • When fork has been aroused, select longest chain among forks. u GHOST (Greedy Heaviest Observed Subtree) • Ethereum, Select heaviest chain, not longest one by including Uncle block (for 7th Gen.) Sompolinsky, Y., & Zohar, A. Secure High-Rate Transaction Processing in Bitcoin.
  8. 8. Proof of Stake (PoS) u Proof of Stake • Calculating hash for each block takes too much time and power. • In PoS, Generate block by coinholder’s share. • !(#$%&_ℎ)*ℎ|,|-) < 0)1(,)2/4 where ,: =Address, -: =timestamp, 0)1(,): =balance at , • Peercoin, Nxt, Novacoin u Coin-age based generation • Peercoin, Implementing age for holding coin. • Novacoin, Weighting constant for holding period. • Initial Distribution Problem, Nothing to Stake Courtesy of “coincentral.com” Alice Bob 10 PPC Held for 90 days 900 coin-day
  9. 9. Delegated Proof of Stake (DPoS) u Delegated Proof of Stake • Electing representatives through voting of node by its share. • Takes shorter time than PoS for making consensus because permission for creating / validating blocks are consigned to representatives. • Tendermint(Cosmos), Slasher, BitShares, Ethereum Casper Buchman, E. (2016). Tendermint: Byzantine fault tolerance in the age of blockchains (Master’s Thesis). u Tendermint
  10. 10. Bitcoin-NG u Delegated Proof of Stake • Proof of Work + Longest Chain • Implemented Key blocks and Microblocks Key block : used to choose a leader Microblocks : blocks created by leader node; Do not need PoW Eyal, I., Gencer, A. E., Sirer, E. G., & Van Renesse, R. (2016, March). Bitcoin-NG: A Scalable Blockchain Protocol. In NSDI(pp. 45-59).
  11. 11. Byzantine Fault Tolerant(BFT) u State Machine Replication • System consists of multiple replica, and each replica has its own state. • Each replica is state machine which execute deterministic service logic. • When each command has been succeed, It will propagate for other state machine. u Abnormal status in State Machine • Fail-stop : Failure of node (Paxos, Raft, ZooKeeper Atomic Broadcast) • Byzantine Fault : Adversary changes in status (PBFT) Ongaro, D., & Ousterhout, J. K. (2014, June). In search of an understandable consensus algorithm. In USENIX Annual Technical Conference (pp. 305-319). Castro, M., & Liskov, B. (1999, February). Practical Byzantine fault tolerance. In OSDI (Vol. 99, pp. 173-186). N=3F+1