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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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 と、逃走の線の描き方 / Democracy as an Analogue AI and How to Draw the Line of Escape
ks91
PRO
0
28
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY3 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY3
ks91
PRO
0
62
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY1 / Acadmy Camp 2026 Winter - Future Design by Us and Them
ks91
PRO
0
89
アカデミーキャンプ2026 冬「ウチらとヤツらのフューチャー・デザイン」DAY2 / Acadmy Camp 2026 Winter - Future Design by Us and Them DAY2
ks91
PRO
0
77
アナログAI からの逃走とメタ・ネイチャーポジティブ / Escape from Analog AI, and Meta-Nature Positive
ks91
PRO
0
42
AI 前提社会におけるトラスト / Trust in an AI-Driven Society
ks91
PRO
0
68
非営利組織の起業/発表と総括 / Starting up a Nonprofit Organization, Presentation and Summary
ks91
PRO
0
72
自己開発 / Self-Development
ks91
PRO
1
37
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
43
Other Decks in Technology
See All in Technology
TypeScript 7.0の現在地と備え方
uhyo
7
1.3k
楽しく学ぼう!ネットワーク入門
shotashiratori
1
430
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
Postman v12 で変わる API開発ワークフロー (Postman v12 アップデート) / New API development workflow with Postman v12
yokawasa
0
130
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
110
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
11
2.3k
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
880
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
790
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.4k
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
130
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
270
PMとしての意思決定とAI活用状況について
lycorptech_jp
PRO
0
130
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
310
From π to Pie charts
rasagy
0
150
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Building Adaptive Systems
keathley
44
3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
680
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Spectacular Lies of Maps
axbom
PRO
1
620
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
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