Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
AI が研究する時代に、人はどう育つのか? — GAMER PAT にみる "シリアスゲームとしての知的訓練" / In an era where AI conducts research, how will humans develop? — "Intellectual Training as a Serious Game" Seen in GAMER PAT
ks91
PRO
0
36
FinTech 5-6 : The World of Apps
ks91
PRO
0
65
生成AI による論文執筆サポート・ワークショップ ─ サーベイ/リサーチクエスチョン編 / Workshop on AI-Assisted Paper Writing Support: Survey/Research Question Edition
ks91
PRO
0
66
ブロックチェーン概論とインストール大会 / Introduction to Blockchain and Installation Workshop
ks91
PRO
0
2
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
71
民主主義と博愛(Humanitarianism) / Democracy and Humanitarianism
ks91
PRO
0
5
ブロックチェーン概論 / Introduction to Blockchain
ks91
PRO
0
12
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
64
Proof of Authenticity of General IoT Information with Tamper-Evident Sensors and Blockchain
ks91
PRO
0
7
Other Decks in Technology
See All in Technology
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
510
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
270
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
630
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.4k
Digitization部 紹介資料
sansan33
PRO
1
5.5k
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Railsの話をしよう
yahonda
0
110
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
110
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
570
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Facilitating Awesome Meetings
lara
56
6.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
RailsConf 2023
tenderlove
30
1.2k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Typedesign – Prime Four
hannesfritz
42
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
4 Signs Your Business is Dying
shpigford
185
22k
Embracing the Ebb and Flow
colly
88
4.8k
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