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
ブロックチェーン・分散レッジャー総まくり — 2017 年版 — / General Overview of Blockchains and Distributed Ledgers 2017
Search
Kenji Saito
PRO
December 18, 2017
Technology
1
610
ブロックチェーン・分散レッジャー総まくり — 2017 年版 — / General Overview of Blockchains and Distributed Ledgers 2017
2017年12月18日(月)、Beyond Blockchain テクニカルプログラムで話させて頂いた際に使用したスライドです。
Kenji Saito
PRO
December 18, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
250
講師自己紹介 / Lecturer's Self-Introduction
ks91
PRO
0
82
講師研究紹介 / Lecturer's Research Introduction
ks91
PRO
0
67
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
160
研究って何だっけ / What's Research?
ks91
PRO
0
27
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
18
招き猫コマロ— ネットワーク贈答経済のエージェント / Manekineko Komaro - Network Gift Economy Agent
ks91
PRO
0
17
Implementation of Blockchain Ecosystems
ks91
PRO
0
12
Other Decks in Technology
See All in Technology
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
250
本当のAWS基礎
toru_kubota
0
520
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
競技としてのKaggle、役に立つKaggle
yu4u
3
1.1k
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
920
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
520
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
1.3k
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
630
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
380
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
What the flash - Photography Introduction
edds
64
11k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
RailsConf 2023
tenderlove
4
540
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Faster Mobile Websites
deanohume
299
30k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Transcript
— 2017 — / SFC
[email protected]
— 2017 — 2017-12-18
– p.1/70
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 17 P2P (Peer-to-Peer) 2011 → ( ) — 2017 — 2017-12-18 – p.2/70
— 2017 — 2017-12-18 – p.3/70
( ) (1) (2) (3) (4) ( ) ⇒ —
2017 — 2017-12-18 – p.4/70
( ) (by ) (since 1984) ( ) ( )
( ) . . . ( ) ⇒ state machine replication — 2017 — 2017-12-18 – p.5/70
( ) ( ) ( ) ( ) ( )
( ) (by ) — 2017 — 2017-12-18 – p.6/70
— 2017 — 2017-12-18 – p.7/70
1) 2) 3) ⇒ ( ) { | } ⇒
/ (dependable ) — 2017 — 2017-12-18 – p.8/70
/DLT ( ) Bitcoin ( ) Open Assets Protocol (OAP)
( ) Ethereum ( ) ( ) Enterprise Ethereum Alliance (↓ ) (DLT) ( ) ( ) Hyperledger (Linux Foundation) Fabric (IBM/DAH), Sawtooth (Intel), Iroha ( ) Corda (R3), Tangle (IOTA), . . . , BBc-1 ( ) — 2017 — 2017-12-18 – p.9/70
(Bitcoin) — 2017 — 2017-12-18 – p.10/70
( ) P2P ( ) (double spending) ( ) ⇒
( ) → ( ) ( ) — 2017 — 2017-12-18 – p.11/70
/ (1) 2,100 cm3 (cc) 1 1cm3 10 12.5cm3 ⇒
⇒ ( ) — 2017 — 2017-12-18 – p.12/70
/ (2) ( ) ( ) ( ) ( )
( ) ( ) → ( ) — 2017 — 2017-12-18 – p.13/70
/DLT End-to-End ( ) ( ) — 2017 — 2017-12-18
– p.14/70
∼ UTXO M A 60BTC ( ) SegWit ( )
— 2017 — 2017-12-18 – p.15/70
(Segregated Witness) (witness) — 2017 — 2017-12-18 – p.16/70
Block Header Data Structure Field Description Size (bytes) Version 4
Digest Double SHA-256 value 32 Merkle root Double SHA-256 value 32 Time Seconds (since 1970-01-01T00:00 UTC) 4 Target Compressed format 4 Nonce Appropriate value 4 Merkle root is the digest of all TXs — 2017 — 2017-12-18 – p.17/70
Merkle Tree (Bitcoin) Digest = double SHA-256 value Existence of
a TX can be verified if a relevant subtree is provided O(logN) — 2017 — 2017-12-18 – p.18/70
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — 2017
— 2017-12-18 – p.19/70
SegWit SegWit ( ) 1. (malleability) 2. 3. 4. 5.
6. UTXO 7. 8. TX ← 9. https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — 2017 — 2017-12-18 – p.20/70
∼ ( ) → — 2017 — 2017-12-18 – p.21/70
1 1 (O(N)) : MH/s 50 — 2017 — 2017-12-18
– p.22/70
∼ ( ) — 2017 — 2017-12-18 – p.23/70
CS1 : CS2 : CS3 : CL1 : CL2 :
: : (e.g. ) — 2017 — 2017-12-18 – p.24/70
– postfix / SegWit UTXO / SegWit UTXO : Unspent
TX (transaction) Output ( ) — 2017 — 2017-12-18 – p.25/70
— 2017 — 2017-12-18 – p.26/70
(Hyperledger ) ( ) ( ) ( ) IoT /
/ ( ) — 2017 — 2017-12-18 – p.27/70
( = ) ( ) ( ) ↑ — 2017
— 2017-12-18 – p.28/70
/DLT ( ) ( ) ( ) ( vs. )
( ) ( ) ( ) ⇒ ( : BBc-1) DLT : : — 2017 — 2017-12-18 – p.29/70
(Ethereum) EVM (Ethereum Virtual Machine) — 2017 — 2017-12-18 –
p.30/70
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 ( ) — 2017 — 2017-12-18 – p.31/70
= run — 2017 — 2017-12-18 – p.32/70
Ether Ethereum EOA : Externally-Owned Account Ether EVM EVM —
2017 — 2017-12-18 – p.33/70
EVM : Ethereum Virtual Machine Gas — 2017 — 2017-12-18
– p.34/70
Ethereum Frontier Homestead Metropolis Byzantium (2017) ← zkSNARKs ( )
→ Zcash on Ethereum (ZoE) Constantinople (2018) Serenity — 2017 — 2017-12-18 – p.35/70
— 2017 — 2017-12-18 – p.36/70
– → validators → (PoS) (key, value) PoS — 2017
— 2017-12-18 – p.37/70
(Linux Foundation) https://www.hyperledger.org Apache License, Version 2.0 — 2017 —
2017-12-18 – p.38/70
/ : Proposal → Incubation → Active → Deprecated →
End of Life — 2017 — 2017-12-18 – p.39/70
( https://www.hyperledger.org/about/members ) — 2017 — 2017-12-18 – p.40/70
Fabric (IBM) IBM Digital Asset Holdings http://hyperledger-fabric.readthedocs.io/en/latest/ State : Active
— 2017 — 2017-12-18 – p.41/70
( ) ( ) — 2017 — 2017-12-18 – p.42/70
Fabric – (Docker) (chaincode) PBFT (Practical BFT) ( ) RocksDB
CA PKI v1.0 DB CA BFT : Byzantine Fault Tolerance ( ) CA : Certificate Authority ( ) PKI : Public Key Infrastructure ( ) — 2017 — 2017-12-18 – p.43/70
Sawtooth (Intel) https://github.com/hyperledger/sawtooth-core State : Active — 2017 — 2017-12-18
– p.44/70
( ) (permissioned) (permissionless) Proof of Elapsed Time (PoET) Proof
of Work ( ) (Intel ) / Transaction Families — 2017 — 2017-12-18 – p.45/70
Sawtooth – (transaction families) (PoET ) PoET ( ) (transaction
families) — 2017 — 2017-12-18 – p.46/70
Iroha ( ) https://github.com/hyperledger/iroha State : Active — 2017 —
2017-12-18 – p.47/70
( ) DLT : C++ Sumeragi Whitepaper : https://github.com/hyperledger/iroha/blob/master/docs/iroha_whitepaper.md —
2017 — 2017-12-18 – p.48/70
Iroha – JVM (chaincode) Sumeragi (BFT) → YAC? JVM :
Java Virtual Machine (Java ) — 2017 — 2017-12-18 – p.49/70
Corda (R3) Tangle (IOTA) — 2017 — 2017-12-18 – p.50/70
Corda (R3) R3 https://github.com/corda/corda — 2017 — 2017-12-18 – p.51/70
R3 R3CEV 77 (2017 2 ) 3 SBI R3Net( )
Corda — 2017 — 2017-12-18 – p.52/70
Corda Corda : : — 2017 — 2017-12-18 – p.53/70
( ) + CAP ( DLT ) — 2017 —
2017-12-18 – p.54/70
Corda – JVM ( ) (Uniqueness Services) UTXO X.509 PKI
( ) X.509 : PKI — 2017 — 2017-12-18 – p.55/70
Tangle (IOTA) IoT IOTA https://iota.readme.io — 2017 — 2017-12-18 –
p.56/70
IoT TX TX (DAG) ( ) TX Tangle — 2017
— 2017-12-18 – p.57/70
Tangle – IoT (IOTA) DAG ( ) DAG — 2017
— 2017-12-18 – p.58/70
BBc-1 (Beyond Blockchain One) https://github.com/beyond-blockchain/bbc1 https://beyond-blockchain.org — 2017 — 2017-12-18
– p.59/70
vs. : : : : : : : : :
— 2017 — 2017-12-18 – p.60/70
Proof of Work Bitcoin ( ) BBc Trust ( )
https://beyond-blockchain.org/public/bbc-trust.pdf ( ) https://beyond-blockchain.org/public/bbc-trust_ja.pdf ( ) Design Paper (white paper) https://beyond-blockchain.org/public/bbc1-design-paper.pdf — 2017 — 2017-12-18 – p.61/70
Beyond Blockchain One (BBc-1) #JUDPJO ͦͷଞͷ ύϒϦοΫϨοδϟʔ BBc-1 ΦʔϓϯͰύϒϦοΫͳɹࢄϨοδϟʔ ࢄετϨʔδཧ
αʔόϨε ۃྗϝΠϯςφϯεϑϦʔ ͳ࣮ߦڥ ΞϓϦέʔγϣϯ ͦ ͷ ଞ ͞ · ͟ · ͳ Ξ ϓ Ϧ ͷ Մ ೳ ੑ σδλϧ௨՟ 4%, σδλϧΞηοτ "1* ##D ։ൃ߲ ҠߦΞγελϯτ Ҭ ௨ ՟ Ξ ϓ Ϧ ϙ Π ϯ τ Ξ ϓ Ϧ དྷ ྺ ূ ໌ Ξ ϓ Ϧ ʜ ॳظ λʔήοτ ॳظ λʔήοτ ॳظʹ͓͍ͯଘࡏূ໌Λґଘ ݸʑͷετϨʔδαʔϏε Մೳͳλʔήοτ — 2017 — 2017-12-18 – p.62/70
ࣝผࢠ ʂ ެ։ݤ ݕূՄೳ υϝΠϯ هͷ༰ υϝΠϯͷ֎ʹग़ͳ͍ ࣙॻ ͜Εه UTXO
⇒ — 2017 — 2017-12-18 – p.63/70
(1) ⇒ — 2017 — 2017-12-18 – p.64/70
(2) → DAG (Directed Acyclic Graph) ⇒ ( ) —
2017 — 2017-12-18 – p.65/70
( → ) ⇒ — 2017 — 2017-12-18 – p.66/70
BBc-1 – ( Python) ( DAG) ( ) UTXO v1.0
(2018 2 ; v0.7) — 2017 — 2017-12-18 – p.67/70
BBc-1 — 2017 — 2017-12-18 – p.68/70
1 BBc-1 https://github.com/beyond-blockchain/bbc1 v0.7.2 ( v ) ( OK) Xmas
pull request beyond-blockchain.org technical steering committee — 2017 — 2017-12-18 – p.69/70
, — , R&D (2017-12-25 ) — 2017 — 2017-12-18
– p.70/70