Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
The Libra Blockchain : 技術と問題 / The Libra Blockchain : Technology and Problems
Kenji Saito
PRO
August 19, 2019
Technology
0
500
The Libra Blockchain : 技術と問題 / The Libra Blockchain : Technology and Problems
2019年8月19日(月)、福岡市 GBEC Park にて開催された「Libraを技術的視点からひも解く」にて使用したスライドです。
Kenji Saito
PRO
August 19, 2019
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ブロックチェーン技術概論 / Introduction to Blockchain Technology
ks91
PRO
0
25
サイバー戦の現在と未来 / Cyber Warfare Today and Tomorrow
ks91
PRO
0
36
サイバー攻撃・防御とサイバー法 / Cyber Attacks, Defense and Cyber Law
ks91
PRO
0
32
実践的総合演習 I / Practical Comprehensive Exercise I
ks91
PRO
0
59
NFT(非代替性トークン)、DeFi(分散金融) の虚像と実像 / NFT (Non-Fungible Token), DeFi (Decentralized Finance): False and Real Images
ks91
PRO
0
270
メタバース: 広報・デジタルツインから、 新たな市場・文化の創造まで / Metaverse: From Public Relations and Digital Twins to Creating New Markets and Cultures
ks91
PRO
0
44
DAO (分散型自律組織) vs. 自律分散組織 / DAO vs. Distributed Autonomous Organization
ks91
PRO
0
230
セキュリティの基礎とインシデントレスポンス / Security Fundamentals and Incident Response
ks91
PRO
0
61
サイバーセキュリティ概論とサイバー環境の基礎 / Introduction to Cyber Security and Fundamentals of Cyber Environment
ks91
PRO
0
91
Other Decks in Technology
See All in Technology
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
4
2.5k
今どきのLinux事情
tokida
44
36k
MRTK3 - DataBinding and Theming 入門
futo23
0
210
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.2k
How to start with DDD when you have a Monolith
javujavichi
0
370
PUTとPOSTどっち使う?
hankehly
0
280
データ分析で切り拓け! エンジニアとしてのデータ分析職キャリア戦略
ksnt
0
190
Persistence in Serverless Applications - ServerlessDays NYC
marcduiker
0
270
Inside out - abusing archive file formats
ange
3
570
Design for Humans: How to make better modernization decisions
indualagarsamy
2
130
Accelerated Computing for NLP on AWS
shokout
1
260
eBPF for Security Observability
lizrice
0
220
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
229
9.4k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Music & Morning Musume
bryan
35
4.2k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Automating Front-end Workflow
addyosmani
1351
200k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
Fireside Chat
paigeccino
12
1.3k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Support Driven Design
roundedbygravity
86
8.5k
Transcript
The Libra Blockchain : ٕज़ͱ ܚጯٛक़େֶ SFC ݚڀॴ ্੮ॴһ /
גࣜձࣾϒϩοΫνΣʔϯϋϒ CSO ੪౻ ݡ࣐ ks91@sfc.wide.ad.jp The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.1/10
͜ͷ͓ҎԼͷจॻʹج͖ͮ·͢ Learn About Libra – Welcome https://developers.libra.org/docs/welcome-to-libra The Libra Blockchain
( : Libra ϒϩοΫνΣʔϯ) https://developers.libra.org/docs/the-libra-blockchain-paper Move: A Language With Programmable Resources ( : Move ϓϩάϥϛϯάݴޠ) https://developers.libra.org/docs/move-paper State Machine Replication in the Libra Blockchain ( : LibraBFT ߹ҙϓϩτίϧ) https://developers.libra.org/docs/state-machine-replication-paper The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.2/10
ಛ Libra ϗϫΠτϖʔύʔ͕ଧͪग़͍ͯ͠Δಛ ϓϩάϥϛϯάݴޠʮMoveʯΛσβΠϯ͠ɺ༻͢Δ Ϗβϯνϯোੑ (BFT) ߹ҙΞϓϩʔνΛ༻͢Δ ͘࠾༻͞Ε͍ͯΔϒϩοΫνΣʔϯσʔλߏΛ࠾༻͢Δ ɹ (←
͜Εಛͱͯ͠ଥ) ࣮ࡍͷٕज़తͳಛ طଘͷ༷ʑͳٕज़ͷཁૉΞΠσΞΛྗٕͰΈ߹Θͤͯઃܭ͍ͯ͠Δ ઃܭऀͨͪʹྗ͋Δ طଘͷٕज़ͷʮ͍͍ͱ͜औΓʯͱ͍͏ධՁҰ෦Ͱ͋Δ͕ɺ ʮ͍͍ͱ͜ʯͳͷ͔ٞΛཁ͢Δ ϚΠϧετʔϯ ݕূऀͷϝϯόγοϓ͕ཧ͞ΕΔ (ڐՄ੍) ϓϥΠϕʔτϨοδϟʔͱͯ࢝͠·Γɺ 5 Ҏʹϝϯόγοϓ͕ཧ͞Εͳ͍ (ඇڐՄ੍) ύϒϦοΫϨοδϟʔͷҠߦΛ։࢝ ಉٕ͡ज़ͰԆͰ͖Δͱߟ͍͑ͯΔͱͨ͠ΒඇৗʹνϟϨϯδϯά The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.3/10
ࢲ͕Α͘͏εϥΠυ : ͋Γ͕ͪͳύλʔϯ (ෆ) োੑ (by Խ) ͷͨΊͷٕज़ (since 1984)
(ݖݶͷࢄ{༰ | ଘࡏ}ূ໌ؔͳ͍) (εέʔϧ͠ͳ͍) ಉ͡ΠϕϯτྻΛड͚औΔঢ়ଶϚγϯಉ͡ঢ়ଶʹͳΔͱ͍͏લఏ (ܾఆత) Πϕϯτͷॱংʹ߹ҙ͢Δඞཁ͕͋Δ . . . σδϟϰʁɹ (͍ΘΏΔʮ༻ϒϩοΫνΣʔϯʯͷߏʹࠅࣅ) ⇒ ͜Ε state machine replication Ͱ͢ΑͶʁ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.4/10
ઃܭʹؔ͢Δٞ The Libra Blockchain ͷجຊతͳߟ͑ํ τϥϯβΫγϣϯεςʔτ (ঢ়ଶ) ΛϚʔΫϧͷߏͰอଘ͢Δ ϒϩοΫΛ࣋ͨͣɺϚʔΫϧ͕͍ͯ͘͠ ঢ়ଶϚγϯΛෳ͢Δͱ͖͚ͩτϥϯβΫγϣϯΛϒϩοΫʹ·ͱΊΔ
(1) ϚʔΫϧϧʔτΛ publish ͠ͳ͍ͷͩͱͨ͠Βଘࡏূ໌͕Ͱ͖ͳ͍ ެ։͞Ε͍ͯΔϧʔτͱಥ߹Ͱ͖ͳ͍ͳΒԿͰΞϦͰʁ (2) ϨϓϦΧ͕ূ໌͢Δͱ͍͏ߟ͑ํͩͱͯ͠ೋॏாΛ͛ͳ͍ ಉ্ (ϨϓϦΧʹຊͷه͕͞Ε͍ͯΔͱ͍͏ূ໌͕Ͱ͖ͳ͍) (3) ڐՄ੍ɾϒϩοΫ୯ҐͰෳͳΒ BFT ϓϩτίϧ؆ུԽͰ͖ΔͷͰʁ ࣄ্ِ࣮Ͱ͖ͳ͍σδλϧॺ໊ΛϒϩοΫʹ͚ΒΕΔ͔Β (4) Ethereum ͷεϚʔτίϯτϥΫτ࣮ߦϞσϧΛ࠾༻͢Δཧ༝ʁ ڐՄ੍ͳΒ Gas ʹΑΔίετෛ୲ϞσϧΓཱͨͳ͍ͷͰʁɹ (ͳͥΘ͟Θ͟ैྔ੍ʁDoS ରࡦͱͷઆ໌͕ͩ) (5) ৽͘͠ݴޠ/VM Λ࡞ֶͬͯशͷϋʔυϧΛΘ͟Θ্͛͟Δཧ༝ʁ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.5/10
ϚʔΫϧͱͦͷ෦(αϒπϦʔ) Λͬͨূ໌(ྫ) ূ໌ ॻ ূ໌ ॻ ূ໌ ॻ
ূ໌ ॻ ূ໌ ॻ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ حͷ߹ ෳ͢Δ ɾূ໌ॻ Λड͚औͬͨ " ࢯɺಉ࣌ʹϒϧʔͰࣔ͞ΕΔμΠδΣετͱͦΕ͕ࠨӈͷͲͪΒʹҐஔ͢Δ͔Λड͚औΔɻ ɾ" ࢯূ໌ॻ ͷμΠδΣετ͔Β࢝Ίͯɺ࿈͖݁͢Ұ࿈ͷμΠδΣετΛΔ͜ͱʹͳΔͷͰɺϚʔΫϧϧʔτʹࢸΔ·Ͱͷ ɹܭࢉΛ࠶ݱͰ͖ɺಘΒΕͨϚʔΫϧϧʔτ͕ &UIFSFVN εϚʔτίϯτϥΫτʹه͞Ε͍ͯΔͱҰக͢Δ͜ͱΛ֬ೝͰ͖Δɻ ɾͦͷܭࢉΛߦ͢Δͷ͕DFSU@qBTLQZͷαʔϏε ݪཧͷཧղͱඞཁͳใ͕͋Ε୭Ͱ࠶ݱͰ͖Δ ূ໌͞ΕΔ ɻ ه͢Δ ಡΈग़ͤΔ ূ໌Λ ඞཁͱ͢Δऀʹ ։ࣔ͞ΕΔใ ˞##Dɺ͜ͷߏΛอଘ ɹ͍ͯ͠Δ͕ɺαϒπϦʔΛ ɹ63- Խͯͨ͠͠ޙɺ ɹূ໌͢Δ্Ͱ##D ෆཁ ެ։͞ΕΔใ ϚʔΫϧϧʔτ Ϛ ồ Ϋ ϧ γ ε ς Ϝ ͕ อ ͠ ֤ Ϣ ồ β ʹ ෦ త ʹ ͑ Δ ʜʜ ʜʜ ʜʜ ʜʜ ʜʜ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ &UIFSFVNϒϩοΫνΣʔϯ ʜ ʜ ##DϥΠϒϥϦ ূ໌ॻΞϓϦͰ࣮ݱ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.6/10
ϒϩοΫνΣʔϯ/ாٕज़ͷػೳΛղ͢Δ ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ ػೳ͕Լ͔ΒੵΈ্͕͍ͬͯ·͢ (ྫϏοτίΠϯͰ͕͢ɺ֤Λͯ͠ผʑͷٕज़Ͱ࣮ݱՄೳ) The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.7/10
The Libra Blockchain – ઃܭ্ͷબ ϧʔϧ Move ݴޠ (VM Ϛγϯޠ)
Ͱهड़͞ΕΔεϚʔτίϯτϥΫτ །Ұੑ BFT (= োੑ) (ͳͷʹ 1,000 نͰΔͭΓΒ͍͠) ଘࡏূ໌ ϚʔΫϧ (ϧʔτΛ publish ͍ͯ͠ΔΑ͏ʹݟ͑ͳ͍) ਖ਼ੑ εςʔτཧ + σδλϧॺ໊ 5 ҎʹඇڐՄ੍ͷҠߦΛ։࢝͢Δͱ͍͏͕ . . . BFT ಉ࣌ʹߴʑ f ͕ҙͷյΕํΛ͢Δͱ͍͏લఏͰಈ࡞͢Δ (֬) ඇڐՄ੍Ͱ࣮ࡍʹʹͳΔͷҙਤతͳ߈ܸͰ͋Γɺҙਤ͢ΔݶΓ֬ 1 (f ΛݟੵΕͳ͍) αΠΤϯεʹଇ͍ͬͯΔΑ͏Ͱ͍ͯɺͲ͔͜ͰઌਓͨͪͷݟΛແࢹ͍ͯ͠Δ ઃܭ͕͙͙ͪͱݴ͏ॴҎ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.8/10
Ethereum ͱ BBc-1 – ઃܭ্ͷબ (͝ࢀߟ) Ethereum ϧʔϧ EVM ϚγϯޠͰهड़͞ΕΔεϚʔτίϯτϥΫτ
།Ұੑ φΧϞτίϯηϯαε → Casper (PoS) ଘࡏূ໌ PoW → Casper νΣ οΫϙΠϯτʹΑΔϑΝΠφϦςΟ ਖ਼ੑ εςʔτཧ + σδλϧॺ໊ BBc-1 (Beyond Blockchain One) ϧʔϧ ΞϓϦέʔγϣϯʹͯҙʹهड़ (Python → bbc1-lib-contracts?) །Ұੑ σδλϧΞηοτෛ࠴Ͱ͋Γɺ࠴ऀ͕อূ͢Δ ଘࡏূ໌ PoCX (υϝΠϯؒཤྺަࠩ) (τϥϯβΫγϣϯؒͷࢀরؔͷ DAG) (ॳظύϒϦοΫͳϒϩοΫνΣʔϯʹΞϯΧϦϯά) ਖ਼ੑ UTXO/εςʔτ ͔ͭࣝผࢠͱެ։ݤΛɺυϝΠϯ֎ʹൿಗ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.9/10
·ͱΊ The Libra Blockchain طଘͷ༷ʑͳٕज़ͷཁૉΞΠσΞΛྗٕͰΈ߹Θͤͨઃܭ ͢ͳΘͪઃܭऀͨͪʹྗ͕͋Δ ϖʔύʔ͕͔ͬ͠Γॻ͔Ε͍ͯΔͷͰɺٯʹΛࢦఠ͍͢͠ ࠷େ͖ͳ ূ໌ػೳ͕ূ໌ʹͳ͍ͬͯΔ͔Ͳ͏͔
ͳ͍ͬͯͳ͚Εতͷٕज़ʹͪΐ ͬͱຯ͚͞Ε͍ͯΔ͚ͩ State Machine Replication 1984 ʹཱ͍֬ͯͨ͠ςΫχοΫ ·ͨɺ5 ޙʹ։࢝͢ΔඇڐՄ੍ͷҠߦʹےಓ͕ະͩݟ͑ͳ͍ The Libra Blockchain : ٕज़ͱ — 2019-08-19 – p.10/10