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
成果 / Achievements
ks91
PRO
0
6
意思決定 / Decision-Making
ks91
PRO
0
10
ファンディングとデジタル市民社会 / Funding and Digital Civil Society
ks91
PRO
0
15
生成AI による論文執筆サポート・ワークショップ 論文執筆・推敲編 / Generative AI-Assisted Paper Writing Support Workshop: Drafting and Revision Edition
ks91
PRO
0
28
私たちの前提は揺るがないのか / Are Our Premises Unshakeable?
ks91
PRO
0
22
貨幣無き世界への過程 / The Process Towards a World without Money
ks91
PRO
0
10
ファンディング / Funding
ks91
PRO
0
8
デジタル市民社会 / Digital Civil Society
ks91
PRO
0
11
発表と総括 / Presentations and Summary
ks91
PRO
0
6
Other Decks in Technology
See All in Technology
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
730
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
120
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
5
1.5k
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
360
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
130
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
280
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
150
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
200
IAMユーザーゼロの運用は果たして可能なのか
yama3133
1
280
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
450
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
4 Signs Your Business is Dying
shpigford
186
22k
Embracing the Ebb and Flow
colly
88
4.9k
Unsuck your backbone
ammeep
671
58k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Writing Fast Ruby
sferik
630
62k
Mobile First: as difficult as doing things right
swwweet
225
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
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