Bitcoin as a Platform

Bitcoin as a Platform
@ DG Lab - Anditto Heristyo
© 2017 Digital Garage. All rights reserved. Redistribution or public display not permitted without written permission from Digital Garage.
Agenda
1. Bitcoin の拡張
2. 実例
a. Open Assets
b. Altcoins
c. Sidechains
d. TumbleBit
2
Bitcoin の拡張
3
Bitcoin上で何を作る?
-
Smart Contract (MultiSig アドレス)
Altcoin (Namecoin)
Digital Asset (Open Assets/Colored Coin)
...
4
Bitcoin上で何を作る?
今日までみたのは:
- Script
- RPCのAPI
5
Scriptの場合
OP_RETURN の後に任意のデータを入れられる。
課題:
- そもそもBitcoinの目的はそういうことじゃ無い
- 普通のデータだったら、他のDBの方が安い
6
Bitcoinの現状
1. Scalabilityとdecentralizationのトレードオフ
2. 新しい技術を統合するには、ほぼ全員の賛成が必要
3. セキュリティのため、Scriptの機能は少ない
7
実例
Open Assets, Altcoins, Sidechains, TumbleBit
8
Open Assets
https://github.com/OpenAssets/open-assets-protocol
Bitcoin上で仮想通貨以外のアセット作成と送信
Bitcoin上での追加情報:
- Asset ID
- Asset Quantity (正数)
https://www.coinprism.info/assets
9
Altcoins
1. Bitcoinとともに動く
Namecoin, Rootstock, ...
2. 完全に別のネットワーク
Litecoin, Dogecoin, Ethereum, ...
10
Altcoinの問題点
1. 参加者とマイナーにとって、リスクが高い
2. Bitcoin の fork だとしたら、バグもコピーされるかも
3. 別の技術を使うと作業が重なったり無駄になったりする
解決方法:
- Merge-mining
- Sidechain
11
Merge-mining
Bitcoinのブロックをマイニングすると同時に
Altcoinをマイニングする。
→
同じPoWを使う。
12
Merge mining 例(Namecoin/NMC)
NMCのTx
NMCのブロック
NMCのブロック
としてNMCに送信
ハッシュ
BTC Txのハッシュ
+ BTCヘッダー
+ NMCブロック
普通のBTCのブロックと
してBTCに送信
BTCのTxとして保存
ハッシュ <
NMCのター
ゲット
ハッシュ < BTCの
ターゲット
BTCのTx
BTCのブロック
PoW 作業
を行う
http://bitcoin.stackexchange.com/questions/273/how-does-merged-mining-work
13
Merge mining のメリット
- マイナーの作業のコストはあまり上がらない
- AltcoinはBitcoinのPoWで完全性を守れる
- BitCoinのブロックに影響がほとんど無い
14
Sidechains
https://blockstream.com/technology/sidechains.pdf
https://elementsproject.org/sidechains/
15
Sidechains
メインのブロックチェーン
別のブロックチェーン
16
Sidechainのメリット
先ほどの現状のBitcoinの問題を解決出来る:
- Bitcoinは今のままで、技術的なイノベーションが可能になる
- Bitcoinのセキュリティに基づいてAltcoinを作れる
17
TumbleBit
https://github.com/BUSEC/TumbleBit
問題点:
Bitcoinの匿名性 (Fungibility)
解決方法:
Tumbler
18
TumbleBit
TxIn
TxOut
A
0.5 BTC
0.5 BTC
?
B
0.5 BTC
0.5 BTC
?
C
0.5 BTC
0.5 BTC
?
「Mixingをする人の信頼性と匿名性」を解決
19
後ほど説明がある
- Segregated Witness (SegWit)
- Lightning Network
20
[email protected]
github.com/anditto
21