Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ハイパーレッジャーとその他の分散台帳技術 / Hyperledger and Other Di...
Search
Kenji Saito
PRO
October 02, 2019
Technology
0
120
ハイパーレッジャーとその他の分散台帳技術 / Hyperledger and Other Distributed Ledger Technology
2019年10月2日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミー「ハイパーレッジャーとその他の分散台帳技術」にて使用したスライドです。
Kenji Saito
PRO
October 02, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ウェブサービスデザイン 2 / Web Service Design 2
ks91
PRO
0
8
Learning to Govern the Orbital Commons: A Serious Game on Incentivizing Debris Removal
ks91
PRO
0
3
FinTech 13-14 : FinTech Ideathon and Poster
ks91
PRO
0
92
講師自己紹介 / Lecturer Self-Introduction
ks91
PRO
0
18
講師研究紹介 / Lecturer Research Profile
ks91
PRO
0
12
NPO とは何か (を考えるワールドカフェ) / What is an NPO? (A World Café for Reflection)
ks91
PRO
0
70
FinTech 11-12 : Cyber-Physical Society and Future of Finance
ks91
PRO
0
67
AI 前提社会のキャッチ=22 (または私は如何にして民主主義、文書主義、人道的活動...) / Catch-22 in an AI-Premised Society (or How I Came to Democracy, Documentation, Humanitarian Activities...)
ks91
PRO
0
12
ウェブサービスデザイン 1 / Web Service Design 1
ks91
PRO
0
9
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
250
Dify on AWS の選択肢
ysekiy
0
110
機械学習を「社会実装」するということ 2025年冬版 / Social Implementation of Machine Learning November 2025 Version
moepy_stats
4
710
Introduction to Bill One Development Engineer
sansan33
PRO
0
320
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
640
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
210
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
480
Kill the Vibe?Architecture in the age of AI
stoth
1
120
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
4
1.8k
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
9.2k
Digital omtanke på Internetdagarna 2025
axbom
PRO
0
140
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Site-Speed That Sticks
csswizardry
13
970
Scaling GitHub
holman
464
140k
Facilitating Awesome Meetings
lara
57
6.6k
Visualization
eitanlees
150
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Context Engineering - Making Every Token Count
addyosmani
9
430
The Language of Interfaces
destraynor
162
25k
Balancing Empowerment & Direction
lara
5
770
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Side Projects
sachag
455
43k
Transcript
ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ ϒϩοΫνΣʔϯج൫ٕज़ʲϏδωεԠ༻ج൫ΛϚϧͬͱཧղʳ ϒϩοΫνΣʔϯϋϒ Chief Science Officer / ૣҴాେֶ େֶӃܦӦཧݚڀՊ ڭत
੪౻ ݡ࣐
[email protected]
ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.1/39
͜ͷεϥΠυ https://speakerdeck.com/ks91 ʹஔ͔Ε͍ͯ·͢ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.2/39
؆୯ͳࣗݾհ ੪౻ ݡ࣐ (͍͞ͱ͏ ͚Μ͡) ૣҴాେֶ େֶӃܦӦཧݚڀՊ ڭत ܚጯٛक़େֶ SFC
ݚڀॴ ্੮ॴһɾڥใֶ෦ ߨࢣ (ඇৗۈ) גࣜձࣾϒϩοΫνΣʔϯϋϒ CSO (Chief Science Officer) Ұൠࣾஂ๏ਓϏϤϯυϒϩοΫνΣʔϯ දཧࣄ Ұൠࣾஂ๏ਓΞΧσϛʔΩϟϯϓ දཧࣄ ܦྺ 1993 ɺίʔωϧେֶΑΓֶम࢜߸औಘ (ίϯϐϡʔλαΠΤϯε) 2006 ɺܚጯٛक़େֶΑΓσδλϧ௨՟ͷݚڀͰത࢜߸औಘ (ࡦɾϝσΟΞ) ܚጯٛक़େֶ େֶӃ ࡦɾϝσΟΞݚڀՊ SFC ݚڀॴʹͯ 19 ؒʹΘͨΓ P2P (Peer-to-Peer) ͓Αͼσδλϧ௨՟ͷݚڀʹैࣄ 2011 ՆΑΓౡͷ͜ͲͨͪͷͨΊͷʮΞΧσϛʔΩϟϯϓʯΛؒΒͱ։࠵ ࡢ SFC ʹͯ ΞΧσϛʔΩϟϯϓ 2018 ՆʮΦοέʔάʔάϧɺ॓ͬͱ͍ͯʂʯΛ࣮ࢪ ࠓ SFC Ͱ ΞΧσϛʔΩϟϯϓ 2019 ՆʮੈքΛ࠶ൃ໌ͤΑ ∼ REINVENT THE WORLDʯΛ࣮ࢪ → ࢲͷ಄ͷதͰͭͳ͕͍ͬͯ·͢ (͜Ε͔ΒͷࣾձͷσβΠϯ͜ͲͨͪͱҰॹʹ) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.3/39
ࠓճͷςʔϚ Linux Foundation ʹͯෳͷΦʔϓϯιʔε։ൃ͕ਐߦதͷ Hyperledger ϓϩδΣΫτΛ͡Ίɺ R3CEV ʹΑΔ Cordaɺ Facebook/Calibra
ʹΑΔ The Libra Blockchain ɺ ۀ༻ࢄϨοδϟʔ (ࢄா) ͷ։ൃಈʹ͍ͭͯɺެ։͞Ε͍ͯΔใͷ ൣғ͔ΒಡΈղ͍͍͖ͯ·͢ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.4/39
ࠓͷτϐοΫ ϋΠύʔϨοδϟʔ (Linux Foundation) ϋΠύʔϨοδϟʔ ϓϩδΣΫτ Fabric (IBM), Sawtooth (Intel),
Iroha (ιϥϛπ), Indy (Sovrin) Corda (R3), The Libra Blockchain (Facebook/Calibra), BBc-1 (զʑ) DLT ͕ਅՁΛൃش͢ΔͨΊʹ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.5/39
ϒϩοΫνΣʔϯ/DLT Λཧղ͢Δ ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస
ɾ τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ ϒϩοΫνΣʔϯɺΠϯλʔωοτͷ End-to-End ͷֶΛɺΞηοτ (ࢿ࢈) ͷ੍ޚʹ͓͍ͯ ݱ࣮Խ͢Δ (͜ͱΛࢼΈΔ)ʮۭதଋݻఆஔʯ ྨ͢Δٕज़ಉ͡جຊߏͱతΛͭ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.6/39
ϋΠύʔϨοδϟʔ (Linux Foundation) ϓϩδΣΫτͷΨόφϯεػߏ https://www.hyperledger.org ιϑτΣΞ Apache License, Version 2.0
Ͱެ։ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.7/39
ԿΛ͢Δͷ͔ ϛογϣϯ ϏδωεରԠͷΦʔϓϯιʔεͷࢄϨοδϟʔͷϑϨʔϜϫʔΫͱ ίʔυϕʔεΛ༻ҙ͢Δ Φʔϓϯιʔε։ൃͷٕज़ίϛϡχςΟΛͭ͘Δ ΤίγεςϜͷઌಋऀͨͪʹࢀՃͯ͠Β͏ ։ൃऀ αʔϏε/ιϦϡʔγϣϯఏڙऀ ސ٬ ΨόφϯεͷϓϥοτϑΥʔϜΛఏڙ͢Δ
ϓϩδΣΫτͷϥΠϑαΠΫϧ : Proposal → Incubation → Active → Deprecated → End of Life ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.8/39
ձһ ϓϨϛΞձһ (ͦͷଞͷձһʹ͍ͭͯ https://www.hyperledger.org/about/members ) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02
– p.9/39
Fabric (IBM) IBM ͱ Digital Asset Holdings ͷίʔυΛϚʔδ http://hyperledger-fabric.readthedocs.io/en/latest/ State
: Active ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.10/39
֓ཁ (υΩϡϝϯτ͔Β) طଘͷރΕٕͨज़Λ༻͍࣮ͯ ϞδϡϥʔͰଟ༷ͳػೳΛϓϥάΠϯՄೳ εϚʔτίϯτϥΫτʹίϯςφ (ܰྔԾڥ) ٕज़Λద༻ ༷ʑͳϝΠϯετϦʔϜݴޠͰͷ։ൃ͕Մೳ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ —
ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.11/39
Fabric – ઃܭ্ͷબ ϧʔϧ υοΧʔ (Docker) ίϯςφͰ࣮ߦ͢Δ ʮνΣʔϯίʔυ (chaincode)ʯ །Ұੑ
BFT νΣʔϯίʔυͷ݁Ռʹର͢Δίϯηϯαε͕ඞཁ ΦʔμϦϯάαʔϏε ଘࡏੑ ϋογϡνΣʔϯ, ΦʔμϦϯάαʔϏε ਖ਼ੑ RocksDB ্ͷߏͱܰྔ CA ʹΑΔ PKI v1.0 (ݱࡏ v2.0 Alpha) Ͱෳ DB αϙʔτ͓Αͼ CA ΛଟॏԽ ʮۭதʯϓϥΠϕʔτͳۭؒ BFT : Byzantine Fault Tolerance (Ϗβϯνϯোੑ) CA : Certificate Authority (ೝূہ) PKI : Public Key Infrastructure (ެ։ݤΠϯϑϥ) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.12/39
Sawtooth (Intel) https://github.com/hyperledger/sawtooth-core State : Active ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-10-02 – p.13/39
֓ཁ (υΩϡϝϯτ͔Β) ڐՄ੍ (permissioned) ·ͨඇڐՄ੍ (permissionless) ͷͲͪΒαϙʔτ Proof of Elapsed
Time (PoET) Proof of Work ͷ࡞ۀίετΛ࣮ࡍʹೖͤͣ (ిྗΛ࿘අͤͣ)ɺ ࢦఆ͞Εͨқʹجͮ࣌ؒ͘Λ୯ʹ֬తʹܦաͤ͞Δ (Intel ͷ) ϋʔυΣΞαϙʔτ͕ඞཁ ϏδωεϩδοΫଘࡏূ໌/ίϯηϯαεػߏ͔Β Transaction Families ͱݺΕΔ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.14/39
Sawtooth – ઃܭ্ͷબ ϧʔϧ ʮτϥϯβΫγϣϯɾϑΝϛϦʔ (transaction families)ʯ །Ұੑ φΧϞτ ɾίϯηϯαε
(PoET ϕʔε) ·ͨ PBFT (Practical BFT) ଘࡏੑ ϋογϡνΣʔϯͱ PoET (ϋʔυΣΞαϙʔτ͕ඞཁ) ਖ਼ੑ ʮτϥϯβΫγϣϯɾϑΝϛϦʔ (transaction families)ʯ ʮۭதʯϓϥΠϕʔτͳۭؒ·ͨ ύϒϦοΫͳۭؒ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.15/39
Iroha (ιϥϛπ) https://github.com/hyperledger/iroha State : Active ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-10-02 – p.16/39
֓ཁ (υΩϡϝϯτ͔Β) DLT Λඞཁͱ͢ΔΠϯϑϥϓϩδΣΫτ؆୯ʹద༻ ಛ : γϯϓϧͳߏ Ϟμϯͳ C++ ʹΑΔઃܭ
ϞόΠϧΞϓϦέʔγϣϯͷ։ൃΛڧྗʹαϙʔτ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.17/39
Iroha – ઃܭ্ͷબ ϧʔϧ αϯυϘοΫε JVM ্ͰͷʮνΣʔϯίʔυ (chaincode)ʯ ʁ །Ұੑ
Sumeragi (BFT) → YAC (BFT) ଘࡏੑ ϚʔΫϧ → (ϒϩοΫ͋ΔΒ͍͕͠ . . . )ʁ ਖ਼ੑ ެ։ݤΛຒΊࠐΉߏ →ʁ ʮۭதʯϓϥΠϕʔτͳۭؒ JVM : Java Virtual Machine (Java ԾϚγϯ) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.18/39
Indy (Sovrin) https://github.com/hyperledger/indy-node State : Active ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-10-02 – p.19/39
֓ཁ (υΩϡϝϯτ͔Β) ࢄ ID ͷͨΊͷϨοδϟʔ Hyperledger ͷϓϩδΣΫτͦͷଞͷࢄாγεςϜʹ σδλϧ ID γεςϜΛఏڙ
ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.20/39
Indy – ઃܭ্ͷબ ϧʔϧ ࢄ ID །Ұੑ RBFT (Redundant BFT)
ଘࡏੑ ෆ໌ ਖ਼ੑ ϚʔΫϧύτϦγΞʹΑΔεςʔτཧ ʮۭதʯϓϥΠϕʔτͳۭؒ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.21/39
Corda (R3) ϋΠύʔϨοδϟʔͷࢀՃΛڠٞதͩͬͨͷ͔ R3 ϋΠύʔϨοδϟʔͷϓϨϛΞձһͩͬͨ https://github.com/corda/corda ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-10-02 – p.22/39
R3 ίϯιʔγΞϜ R3CEV ʹΑΔۚ༥ػؔίϯιʔγΞϜ 77 ࣾ (2017 2 ݄ݱࡏ)
ຊ͔Β 3 ϝΨόϯΫɺଜϗʔϧσΟϯάεɺSBI ϗʔϧσΟϯάε ࣍ੈۚ༥औҾωοτϫʔΫͷ։ൃʹϑΥʔΧε͢Δ R3Net(Ծ) Corda ʹΑΔϓϥοτϑΥʔϜͱαʔϏε ύʔτφʔͱڠಇͰΞϓϦέʔγϣϯΛఏڙ༧ఆ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.23/39
Corda ͷత ۚ༥ػؔؒͷۚ༥ڠఆΛཧ͢Δ ۀքඪ४ͷπʔϧͰ࡞ΒΕͨڞ௨ͷΈͰͦΕΛߦ͏ ૬ޓӡ༻ੑɺΠϯΫϦϝϯλϧͳల։ɺൿಗੑ Corda ͷ : ʮࢲ͕ݟ͍ͯΔͷ͋ͳ͕ͨݟ͍ͯΔͷͱҰக͓ͯ͠ΓɺզʑͲͪΒ ͦͷ͜ͱΛ͍ͬͯͯɺ͔ͭࠪʹಉ͡ͷ͕ݟ͍͑ͯΔͱ͍ͬͯΔʯ
ϏοτίΠϯͷͱҟͳΔΛղ͍͍ͯΔɺͱ͍͏ೝ͔ࣝΒͷൃ ϏοτίΠϯͷ : ࣗͷ͓ۚΛ͕ࣗ͏͜ͱΛ୭ʹࢭΊΒΕͳ͍Α͏ʹ͍ͨ͠ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.24/39
ಛ γεςϜϨϕϧͰͳ͘ɺऔҾϨϕϧͰͷίϯηϯαε ଟ༷ͳίϯηϯαεػߏΛαϙʔτ (ʁ) ࣄऀ+ࠪͷશ߹ҙ͕ඞཁͳͷͰ͋ͬͯɺίϯηϯαεػߏ།ҰͰʁ ࣄऀϊʔυΛࢄԽͨ͠ࡍʹ֤ʑͷύʔςΟͰඞཁ σʔλγεςϜϫΠυʹίϐʔ͞Εͳ͍ ୈࡾऀͰͳ͘ࣄऀʹΑΔτϥϯβΫγϣϯͷݕূ CAP ఆཧͷτϨʔυΦϑʹͱͮ͘ઃܭ্ͷબࢶ
ैདྷͷϒϩοΫνΣʔϯͰՄ༻ੑͷͨΊʹҰ؏ੑ͕٘ਜ਼ʹͳ͍ͬͯΔ ٯʹҰ؏ੑͷͨΊʹՄ༻ੑΛ٘ਜ਼ʹ͢Δ ໌ࣔతͳࠪ༻ϊʔυ ʮࣗવݴޠͰॻ͔Εͨ๏ؔॻྨʯͱʮεϚʔτίϯτϥΫτͷίʔυʯͷ ඥ͚ͮ ωΠςΟϒ௨՟࣋ͨͳ͍ (ࠓճհ͍ͯ͠Δாٕज़ͲΕ (?) ͍࣋ͬͯͳ͍) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.25/39
Corda – ઃܭ্ͷબ ϧʔϧ αϯυϘοΫε JVM ্Ͱͷ࣮ߦ ๏తจॻ (ܖॻ) ͱͷόΠϯσΟϯά
།Ұੑ ϓϥΨϒϧ (Uniqueness Services) ଘࡏੑ ܖͷ૬ख͓Αͼࠪͱڞ༗͞ΕΔ͜ͱʹΑΔ࣮ݱ͔ ਖ਼ੑ UTXO ߏ͓Αͼ X.509 PKI ʮۭதʯ୯ҰͷάϩʔόϧͳۭؒͷதͷϓϥΠϕʔτͳ۠ը ·ͨ (ΤϯλʔϓϥΠζ༻ʹ) ಠࣗͷϓϥΠϕʔτͳۭؒ X.509 : ΣϒͰ͘ΘΕ͍ͯΔ PKI ن֨ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.26/39
The Libra Blockchain Libra ͷτϥϯβΫγϣϯج൫ https://developers.libra.org/docs/the-libra-blockchain-paper ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ —
2019-10-02 – p.27/39
ಛ Libra ϗϫΠτϖʔύʔ͕ଧͪग़͍ͯ͠Δಛ ϓϩάϥϛϯάݴޠʮMoveʯΛσβΠϯ͠ɺ༻͢Δɹ (← ಛ͋Δ) Ϗβϯνϯোੑ (BFT) ߹ҙΞϓϩʔνΛ༻͢Δ ͘࠾༻͞Ε͍ͯΔϒϩοΫνΣʔϯσʔλߏΛ࠾༻͢Δ
ɹ (← ͜Εಛͱͯ͠ଥ) ࣮ࡍͷٕज़తͳಛ طଘͷ༷ʑͳٕज़ͷཁૉΞΠσΞΛྗٕͰΈ߹Θͤͯઃܭ͍ͯ͠Δ ઃܭऀͨͪʹྗ͋Δ طଘͷٕज़ͷʮ͍͍ͱ͜औΓʯͱ͍͏ධՁҰ෦Ͱ͋Δ͕ɺ ʮ͍͍ͱ͜ʯͳͷ͔ٞΛཁ͢Δ ϚΠϧετʔϯ ݕূऀͷϝϯόγοϓ͕ཧ͞ΕΔ (ڐՄ੍) ϓϥΠϕʔτϨοδϟʔͱͯ࢝͠·Γɺ 5 Ҏʹϝϯόγοϓ͕ཧ͞Εͳ͍ (ඇڐՄ੍) ύϒϦοΫϨοδϟʔͷҠߦΛ։࢝ ಉٕ͡ज़ͰԆͰ͖Δͱߟ͍͑ͯΔͱͨ͠ΒඇৗʹνϟϨϯδϯά ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.28/39
ઃܭʹؔ͢Δٞ The Libra Blockchain ͷجຊతͳߟ͑ํ τϥϯβΫγϣϯεςʔτ (ঢ়ଶ) ΛϚʔΫϧͷߏͰอଘ͢Δ ϒϩοΫΛ࣋ͨͣɺϚʔΫϧ͕͍ͯ͘͠ →
Merkle accumulator ঢ়ଶϚγϯΛෳ͢Δͱ͖͚ͩτϥϯβΫγϣϯΛϒϩοΫʹ·ͱΊΔ (1) ϚʔΫϧϧʔτΛ publish ͠ͳ͍ͷͩͱͨ͠Βଘࡏূ໌͕Ͱ͖ͳ͍ ެ։͞Ε͍ͯΔϧʔτͱಥ߹Ͱ͖ͳ͍ͳΒԿͰΞϦͰʁ (2) ϨϓϦΧ͕ূ໌͢Δͱ͍͏ߟ͑ํͩͱͯ͠ೋॏாΛ͛ͳ͍ ಉ্ (ϨϓϦΧʹຊͷه͕͞Ε͍ͯΔͱ͍͏ূ໌͕Ͱ͖ͳ͍) (3) ڐՄ੍ɾϒϩοΫ୯ҐͰෳͳΒ BFT ϓϩτίϧ؆ུԽͰ͖ΔͷͰʁ ࣄ্ِ࣮Ͱ͖ͳ͍σδλϧॺ໊ΛϒϩοΫʹ͚ΒΕΔ͔Β (4) Ethereum ͷεϚʔτίϯτϥΫτ࣮ߦϞσϧΛ࠾༻͢Δཧ༝ʁ ڐՄ੍ͳΒ Gas ʹΑΔίετෛ୲ϞσϧΓཱͨͳ͍ͷͰʁɹ (ͳͥΘ͟Θ͟ैྔ੍ʁDoS ରࡦͱͷઆ໌͕ͩ) (5) ৽͘͠ݴޠ/VM Λ࡞ֶͬͯशͷϋʔυϧΛΘ͟Θ্͛͟Δཧ༝ʁ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.29/39
The Libra Blockchain – ઃܭ্ͷબ ϧʔϧ Move ݴޠ (VM Ϛγϯޠ)
Ͱهड़͞ΕΔεϚʔτίϯτϥΫτ །Ұੑ BFT (= োੑ) (ͳͷʹ 1,000 نͰΔͭΓΒ͍͠) ଘࡏੑ ϚʔΫϧ (ϧʔτΛ publish ͍ͯ͠ΔΑ͏ʹݟ͑ͳ͍) ਖ਼ੑ εςʔτཧ + σδλϧॺ໊ 5 ҎʹඇڐՄ੍ͷҠߦΛ։࢝͢Δͱ͍͏͕ . . . BFT ಉ࣌ʹߴʑ f ͕ҙͷյΕํΛ͢Δͱ͍͏લఏͰಈ࡞͢Δ (֬) ඇڐՄ੍Ͱ࣮ࡍʹʹͳΔͷҙਤతͳ߈ܸͰ͋Γɺҙਤ͢ΔݶΓ֬ 1 (f ΛݟੵΕͳ͍) αΠΤϯεʹଇ͍ͬͯΔΑ͏Ͱ͍ͯɺͲ͔͜ͰઌਓͨͪͷݟΛແࢹ͍ͯ͠Δ ઃܭ͕͙͙ͪͱݴ͏ॴҎ Move ݴޠͷಛ ۚમతՁΛϦιʔεͱͯ͠දݱ͢Δɺͱ͍͏ྖҬಛఆ (domain-specific) ݴޠͬΆ͍ ೋॏফඅΛආ͚ΔػߏΛݴޠϨϕϧͰಋೖ͍ͯ͠Δ (ॻ͖ͮΒ͍ͱ͍͏ධ) ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.30/39
BBc-1 (Beyond Blockchain One) ϒϩοΫνΣʔϯͰͰ͖Δͱ͞Ε͍ͯΔ͜ͱΛɺຊʹɻ ϒϩοΫνΣʔϯϋϒɾίϛϡχςΟ͔ΒΦʔϓϯιʔεఏڙ https://github.com/beyond-blockchain https://beyond-blockchain.org ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ —
ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.31/39
֓ཁ طଘͷϒϩοΫνΣʔϯΑΓڧݻͳվ͟Μݕग़ɾରԠੑ ϒϩοΫ Proof of Work ͱ͍ͬͨɺޮΛଛͳ͏ཁҼΛऔΓ͍ɺଈ࣌ੑɺলࢿݯ ͓ΑͼεέʔϥϏϦςΟΛୡͰ͖Δઃܭ σʔλͷڞ༗ൣғΛઃఆ͠ൿಗੑΛୡͰ͖Δɺ ʮυϝΠϯʯͱݺΕΔαϒωοτϫʔΫ
Bitcoin ͷߟ͑ํΛ౿ऻͨ͠ɺ(ಉҰυϝΠϯͷ) ୈࡾऀʹΑΔݕূՄೳੑΛ୲อͨ͠σʔλߏ ϓϥΠϕʔτͳԠ༻ͰτϥϯβΫγϣϯͷূ໌ػೳΛఏڙ Ϣʔβࣝผࢠͱެ։ݤΛ͢Δ͜ͱʹΑΓɺൿີݤ͕ࣦΘΕͨ߹ͷճ෮खஈΛఏڙ ίΞ෦ͰϕʔγοΫͳػೳ͚ͩΛఏڙ͢Δ͜ͱʹΑΔߴͳ֦ுੑ BBc Trust (ϏϤϯυϒϩοΫνΣʔϯݑষ) Λ࣮ https://github.com/beyond-blockchain/bbc1/blob/develop/docs/BBc-trust.pdf (ݪจ) https://github.com/beyond-blockchain/bbc1/blob/develop/docs/BBc-trust_ja.pdf (ຊޠεϥΠυ) Design Paper (white paper) https://github.com/beyond-blockchain/bbc1/blob/develop/docs/BBc-1_design_paper.pdf ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.32/39
ʮͷͼ͠Ζʯ͕͋Δઃܭ BBc-1 ͷॳظͷઃܭࢀরιϑτΣΞ͕ಘҙͰͳ͍෦ʹվળɾ֦ுͷ༨͕͋Δ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.33/39
BBc-1 – ઃܭ্ͷબ ϧʔϧ ΞϓϦέʔγϣϯʹͯҙʹهड़ (Python → bbc1-lib-contracts?) །Ұੑ σδλϧΞηοτෛ࠴Ͱ͋Γɺ࠴ऀ͕อূ͢Δ
ଘࡏੑ PoCX (υϝΠϯؒཤྺަࠩ) (τϥϯβΫγϣϯؒͷࢀরؔͷ DAG) (ॳظύϒϦοΫͳϒϩοΫνΣʔϯʹΞϯΧϦϯά) ਖ਼ੑ UTXO/εςʔτ ͔ͭࣝผࢠͱެ։ݤΛɺυϝΠϯ֎ʹൿಗ ʮۭதʯ୯ҰͷۭؒͰͳ͘ɺυϝΠϯͰׂ͞Ε͍ͯΔ ݖͰ͖Δ ʮཤྺަࠩʯͷ໊শΛʮίϯςΩετূ໌ (Proof of Context)ʯ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.34/39
(D)LT ͕ਅՁΛൃش͢ΔͨΊʹ Ԡ༻ύλʔϯ͔Βݟ͖͑ͯͨʮෆʯͱʮഁյʯ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.35/39
ϒϩοΫνΣʔϯ(ڱٛ)ͷಈ࡞తಛ ࢀՃϊʔυʹঢ়ଶ͕ෳ͞ΕΔ (1) ͍͠ॳظঢ়ଶ͔Β͡·Δ (2) ͯ͢ͷࢀՃϊʔυʹΠϕϯτ͕ίϐʔ͞ΕΔ (3) ͔ͭಉ͡ॱংͰίϐʔ͞ΕΔ (4) શΠϕϯτঢ়ଶʹରܾͯ͠ఆతʹ
(ͲͷϊʔυͰ͘͠) ࡞༻͢Δ ͳͷͰোੑΛҡ࣋Ͱ͖Δ ⇒ ͜ͷ͜ͱॏཁͰͳ͍͕ɺڱٛͷϒϩοΫνΣʔϯͷಈ࡞Λಛ͚ͮΔ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.36/39
͋Γ͕ͪͳύλʔϯ (ෆ) োੑ (by Խ) ͷͨΊͷٕज़ (since 1984) (ݖݶͷࢄؔͳ͍) (εέʔϧ͠ͳ͍)
ಉ͡ΠϕϯτྻΛड͚औΔঢ়ଶϚγϯಉ͡ঢ়ଶʹͳΔͱ͍͏લఏ (ܾఆత) Πϕϯτͷॱংʹ߹ҙ͢Δඞཁ͕͋Δ . . . σδϟϰʁɹ (͍ΘΏΔʮ༻ϒϩοΫνΣʔϯʯͷߏʹࠅࣅ) ⇒ ͜Ε state machine replication Ͱ͢ΑͶʁ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.37/39
ຊདྷɺૂ͏͖ύλʔϯ (ഁյ) Τϯυ (ͬ͜) ੍͕ޚ (ίϯτϩʔϧ) ΛͭͨΊͷٕज़ (ݖݶͷࢄ) (εέʔϧ͠͏Δ) ੍ޚ͞ΕΔͷ͕Ұ؏ੑΛͬͯଘࡏ͢Δͱ͍͏ΠϦϡʔδϣϯΛҡ࣋
(อଘͷਖ਼͠͞ΛࢀՃऀ͕ݕূՄೳ) ͦͷͨΊʹোੑ (by Խ) ͕ඞཁʹͳΔ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.38/39
࣭ٞ͝Λ ϋΠύʔϨοδϟʔͱͦͷଞͷࢄாٕज़ — ϒϩοΫνΣʔϯج൫ٕज़ — 2019-10-02 – p.39/39