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

いまさら聞けないコンセンサスアルゴリズム

cryptoexpat
January 14, 2018

 いまさら聞けないコンセンサスアルゴリズム

第1回暗号通貨勉強会@Jakarta

cryptoexpat

January 14, 2018
Tweet

Other Decks in Technology

Transcript

  1. Agenda ίϯηϯαεΞϧΰϦζϜ ü ίϯηϯαεͷॏཁੑ ü 1P8 ü 1P4 φΠʔϒ1P4ͷ໰୊఺ ü

    /PUIJOHBU4UBLF໰୊ &UIFSFVNʹ͓͚Δ1P81P4 ü &UIFSFVNͱ͸ ü ݱࡏͷΞϧΰϦζϜ ü $BTQFS ·ͱΊ
  2. 1P8 ü #JUDPJOͰ͸ʮϒϩοΫνΣʔϯ ʴ 1P8ʯͱ͍͏ίϯηϯαεΞϧΰϦζϜʹΑΓ ɺωοτϫʔΫશମͰ߹ҙΛಘ͍ͯΔ ü ίϯηϓτ͸ɺڞ௨୆ாʢϒϩοΫνΣʔϯʣͷϝϯςφϯε Ø ϒϩοΫνΣʔϯʹؚ·ΕΔऔҾΛਖ਼͍͠औҾͱ͢Δ͜ͱͰɺωοτϫʔΫશ

    ମͰ།ҰͷऔҾཤྺΛҡ࣋͢Δ 誰がブロックを作るのか? 単純な計算問題を最初に解けた人 前ブロック ハッシュ値 取引 データ 取引 データ 取引 データ 取引 データ 前ブロック ハッシュ値 取引 データ 取引 データ 取引 データ 取引 データ 前ブロック ハッシュ値 取引 データ 取引 データ 取引 データ 取引 データ
  3. 1P8 ಛ௃ ü 1P8ͷܭࢉʹ͸ిؾ୅͕͔͔Δʢʹίετ͕͔͔Δʣ ü ͜ͷܭࢉ͸ؤுͬͯ஍ಓʹղ͔͘͠ղ๏͕ͳ͘ɺ͔͚ͨίετʹൺྫͯ͠࠾۷Ͱ͖ Δʢ"4*$#PPTUͳΔ΋ͷ΋͋Γ·͕ͨ͠ɻɻɻʣ ü औҾཤྺΛ෴ͨ͢Ίʹ͸ɺಉ͡ྔͷίετʢిؾ୅ʣΛ͔͚Δඞཁ͕͋Δ Block1

    Block2 Block5 Block3 Block6 Block4 Block3 1) 改ざんした取引をいれた Block3を作成 Block5 Block6 Block4 Block7 ྫʣ#MPDLʹؚ·ΕΔऔҾΛվ͟Μ͍ͨ͠ 取引A 取引A’ 2) Block4から6でかかったコスト と同じコストをかけてBlock4から 6を再作成 3) 元のチェーンより長くなったら 改ざん完了 深いブロックに入った 取引が覆る可能性はか なり低い
  4. 1P8 ü Ұݟ׬ᘳʹݟ͑Δ1P8͕ͩɺ͍͔ͭ͘໰୊΋͋Δ Ø ϚΠφʔ͕ूதԽ͢ΔϦεΫ • ϚΠφʔʹΑΔՄ༻ੑ߈ܸ͕Մೳ ྫʣ݄ͷ#$)ͷϑΥʔΫͷࡍʹ͸ɺҰ࣌తʹϚΠχϯάύϫʔΛ#$)ʹूΊΔ͜ͱ Ͱɺ#5$ͷϒϩοΫੜ੒εϐʔυ͕௿Լ͠ɺτϥϯβΫγϣϯͷେن໛ͳͭ·Γ͕ൃੜ •

    ߈ܸ͕Մೳ Ø ϚΠφʔҎ֎ͷϊʔυߏஙΠϯηϯςΟϒ͕ͳ͍ʢऔҾݕূ͕தԝूݖԽ͢Δ ͓ͦΕʣ Ø ʢ͓·͚ʣϑΝΠφϦςΟ͕ͳ͍ʢ͍ͭ·Ͱͨͬͯ΋ɺऔҾ͕෴ΔՄೳੑ͕͋Δʣ Ø ʢ͓·͚ʣΤί͡Όͳ͍ 監視 ノード マイナー
  5. 1P4 ü ʮ୭͕ϒϩοΫΛ࡞੒͢Δͷ͔ʯͱ͍͏໰͍ʹରͯ͠ɺܭࢉྔͰ͸ͳ͘ɺอ༗͢ΔτʔΫϯ࢒ ߴ 4UBLFɺྫ͑͹&UIFSFVN ʹԠͯ֬͡཰తʹϒϩοΫ࡞੒ऀ͕ܾ·Δͷ͕1P4 Ø ࡉ͔͍࿩Λ͢Δͱɺେ͖ͭ͘ͷܥ౷ʹ෼͚ΒΕΔ ᶃ $IBJO#BTFܕʢܾఆ࿦తʹϒϩοΫ࡞੒ऀ͕બ୒͞ΕͯɺϒϩοΫ͕࡞ΒΕΔʣ

    ᶄ #'5 #Z[BOUJOFGBVMUUPMFSBOU ܕʢܾఆ࿦తʹϒϩοΫఏҊऀ͕બग़͞Εͯɺఏࣔ͞ ΕͨϒϩοΫʹରͯ͠શ7BMJEBUPS͕౤ථΛߦ͍ɺଟ਺ථΛऔΕͨ৔߹ʹ͸ϒϩοΫν Σʔϯʹ૊ΈࠐΉʣ ü ϚΠφʔͷΑ͏ͳ֎෦ܦࡁʹґଘͤͣɺશһ͕ࢀՃऀͱͳΔ͜ͱͰ7BMJEBUPSͷ෼ࢄͰ͖ͦ͏ͩ ͕ɺ໰୊఺΋ʂ
  6. /PUIJOHBU4UBLF໰୊ ü ໰୊ͷࠜݯ͸7BMJEBUPS͕Կ΋Ṍ͚͍ͯͳ͍͜ͱ OPUIJOHBUTUBLF ü 4MBTIFSͱ͍͏࢓૊ΈͷಋೖͰղܾՄೳʢ%104ͳͲͷ࢓૊ΈΛར༻͢ΔϓϩτίϜ΋͋Δʣ ü 1P4ͷॏཁͳಛ௃͸ɺίϯηϯαεΞϧΰϦζϜ͕֎෦ܦࡁʢϚΠφʔʣʹґଘͤͣɺϓϩτ ίϧ͕εςΠΫΛ຅ऩ͢Δ͜ͱ͕Ͱ͖Δ఺ 

    7BMJEBUPS͸ҰఆֹͷεςΠΫʢྫ͑͹&UIFSFVNʣΛڙୗ͢Δ  7BMJEBUPS͸ϒϩοΫ࡞੒ʢ·ͨ͸ঝೝʣΛߦ͏  ແࣄʹίϯηϯαε͕औΕ͍ͯΔؒ͸ɺϒϩοΫ࡞੒ใु͕ࢧ෷ΘΕΔ  ΋͠νΣʔϯͷ෼ذΛ๷͛ͳ͍৔߹͸ɺڙୗͨ͠εςΠΫ͕຅ऩ͞ΕΔ Smart Contract 1. 供託 2. 承認 3. 報酬 4. 没収
  7. 3-1 Ethereumとは ロードマップ ❖ ロードマップ 3. Metropolis 1. Byzantium 2.

    Constantinople 4. Serenity ❖ ByzantiumとConstantinopleの2 回に分けてハードフォーク ❖ Byzantiumで以下実装済み ❖ 新機能 ❖ Zk-SNARKs ❖ Contractの安全性向上 ❖ PoSに向けての下準備 ❖ Difficulty Bombの延期 ❖ マイニング報酬減額 Ethereumの開発ロードマップは大きく4つに分かれる
  8. 3-2 現在のアルゴリズム マイニング ü EthashというPoWを利用 ü BitcoinのSHA256と比較すると 、メモリを大量消費するため ASIC耐性がある (GPUでマイニ

    ング可能) コンセンサスアルゴリズム ü GHOSTプロトコルという独自 プロトコルにより、マイナーの 集中化を防いでいる ASICを利用できる場合(赤線)とEthash(青線)の収益イメージ ASICを使用できてしまうと、 資本に対するMining収益が偏りやすい
  9. 3-2 Casper ü PoWに代わるPoSのコンセンサスアルゴリズム ü Tendarmintという仕組みを一部ベースにしている ü Constantinopleから段階的に実装予定(以下の図は、諸々の 情報より推測) Constantinople

    Serenity Part1 Serenity Part2 Casper the Friendly Ghost (CTFG) Casper the Friendly Finality Gadget (CFFG) https://blog.cosmos.network/consensus-compare-casper-vs-tendermint-6df154ad56ae
  10. 3-2 Casper CFFG ü Ethereum開発者Vitalikが開発しているバージョンでBFT型 (もう一つのCTFGはVladが開発中) ü 特徴はPoWとのハイブリッド型である点 ü 取引承認にはPoWを利用するが、PoSによりファイナリティ

    を確保する Block1 Block2 Block50 ・・・ Block51 Epoch1 ・・・ 各ブロックはPoWによって承認 EpochごとにPoSにより承認 (=ファイナリティ) Epoch2 Block100
  11. 3-2 Casper CFFG 実際にどのように動くか考えてみると・・・ ü もしPoWマイナーが意図的に分岐を起こしている場合、 PoS Validatorが両方とも承認してしまうとETHが没収 (Slash)されてしまう ü

    ゆえに、PoS Validatorはどちらか片方のブロックのみ を承認するインセンティブがある Block1 Block2 Block50 ・・・ Epoch1 Block50 Block2 ・・・ PoS ValidatorはSlashされ るのを防ぐため、どちら か片方のBlock50のみ承認
  12. 3-2 Casper CTFG ü GHOSTプロトコルをPoSに適用した仕組み (Casper The Friendly GHOST) ü

    CFFGと異なり純粋なPoS Block1 Block2 Block50 ・・・ Block50 選出されたValidatorがブロック作成 分岐を作った場合には、Slash (Slashされるタイミング不明)
  13. 3-2 Casper CTFG ü Validatorの数をTendermintに比べて増やしやすいのが特徴 Ø TendermintはブロックごとにFinalityがあり、ブロック生成 速度を維持するためにはValidetorの数を抑えなくてはなら ない Ø

    CTFGでのFinalityはリアルタイムではなく、PoWのように 事後的に安全性が決まるので、Validatorの数を増やしやす い Ø Shardingとよばれる複数チェーンを導入すると、さらに Validatorの数は増える
  14. 4-1 まとめ ü コンセンサスアルゴリズムは大きくPoWとPoSに分けられる ü PoWはマイナー集中化、ノード構築のインセンティブの低さ が問題となる ü 古典的なPoSはNothing at

    Stake問題を抱えるが、Casperはそ の点をクリアしており、かつマイナー集中化、ノードインセン ティブなどの問題をクリアしている ü ただしPoSの持続可能性を疑問視する人も多い(ある種ねずみ 講に近いという考え方)