Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Bitcoin-NGについて
20170306暗号通貨勉強会
宮本 丈
https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eyal.pdf
アジェンダ
• イントロダクション & 解決すべき課題
• Bitcoin-NGの内容
• 欠点とfuture research
スケーラビリティ問題
• 一秒間に処理できるトランザクションの量が足りな
い … 現在は(7tx/second)
• 大きく2つの解決策
スケーラビリティ問題
• レイヤ2, (オフチェーン)
– Lightning Network
– Tumblebit
– Teechan
• レイヤ1, オンチェーン
– ブロックサイズ
– ブロックインターバル
今日はこちら
なぜ大きいブロックサイズが問題なの
か
• ブロックの伝搬・検証に時間がかかる
↓
• 大きなマイニングプールに有利
↓
• ブロックヘッダだけ先に伝搬させてしまお
う!!
マイニングに必要な二つの情報
実は検証をしなくてもマイニングできる
• 前ブロックのハッシュ(PoW)• hashprevBlock
• hashMerkleRoot • トランザクションの要約
マイニング環境(2010年)
マイニング環境(2017年)
Open pool
closed pool
留意すべき点
• 「Miner Centralization」とは?
– アクターのcentralization
– (ASICの)物理的 centralization
– P2Pノードの減少
• 以下の二つは別物
– Operator … プ...
攻撃1: Block withholding
1. 対立するプールにhasherを送り込む
2. 正解をマイニングしても報告しない
3. 「仕事」をしているふりをするため、正解に近
いhashを見つけたときは報告する。
攻撃2: Selfish Mining
• 見つけたブロックを直ちにパブリッシュせず、
しばらくその上にマイニングする。
• 25~33%のハッシュレートを持てばかなり有利
になれる。
• ブロックの遅延が大きいほど効果は上がる
プールを「閉じ...
Bitcoin-NG
• Bitcoin NGの解決する問題
– Fairness …
– プールの規模に対して、rewardが出来る限り
線形に増加するようにする
– Mining utilization …
– orphanに使われるハッシ...
アジェンダ
• イントロダクション&解決すべき課題
• Bitcoin-NGの内容
• 欠点とfuture research
Bitcoin-NG
• 大前提として「マイナーのハッシュパワーは全体
の25%を超えてはならない」
• (経済的に)妥当な想定かは議論の余地がある
Key BlockとMicro Block
KeyBlock … ビットコインの ブロックと似ているが、minerの公開鍵がついている。
Microblock … トランザクションを含む、あらかじめさだめたサイズ以下のブロック、署名付き
前ブロ...
Heaviest chainとlongest chain
現在のBitcoinと違って、Heaviestとlongestが分離している
 Heaviest chainへのマイニングが最適戦略なのは従来と同様
 Longestは?
なぜrewardが4:6なのか?
• 条件1: 「セルフィッシュマイニングがpayしない」
• 条件2: 「最新のmicroblockをマイニングした方がpayする」
α= 全体に占めるハッシュレート < 0.25
= leaderに行くrew...
Related works
• GHOST
– “Uncle block”をPoWとして含めることでFairnessと
utilizationを改善
– しかし、「後に正解となるチェーンを持つノードが
存在しない」ということがあり得る
– それ...
アジェンダ
• イントロダクション & 解決すべき課題
• Bitcoin-NGの内容
• 欠点とfuture research
欠点
• パブリッシュしなくてはならない情報が多い
– Key blockのpublic key
– Microblockの署名
– ブロック数の増加、つまりブロックヘッダの増加
– パラメータの同期のための情報
欠点2
• 前提1: もしfee splittingを40:60から100:0に変
えられるとしたら、マイナーは直ちにそうする。
• 前提2: feeという形ではなく、ユーザーがマイ
ナーに直接支払えば(賄賂)実際にそうできる。
• 結論: し...
SPV mining
• ブロックの生成に成功した時点で、(内部トラ
ンザクションをおいておいて)ヘッダのみをパ
ブリッシュする。
– -> 有効でないブロックを伸長してしまう可能性が
ある。
spy mining
• よそのマイニングプールに「スパイ」を送り込
む
• 全てのプールがオープンならdominantである。
つまり相手のpoolは「selfish mineしない」こと
が最適戦略になる
– (spv miningをするイ...
spy miningの問題点
ブロックの内容を検証しないまま採掘すると、
ハードフォークする可能性がある。
Future research
1. どのような条件下で系全体が安定するかを厳密に調べる。
変数は例えば以下
1. open poolの...
Upcoming SlideShare
Loading in …5
×

暗号通貨読書会 #7: Bitcoin NG

暗号通貨読書会での発表資料です。
Bitcoin-NGとスケーラビリティ問題について

  • Login to see the comments

暗号通貨読書会 #7: Bitcoin NG

  1. 1. Bitcoin-NGについて 20170306暗号通貨勉強会 宮本 丈
  2. 2. https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eyal.pdf
  3. 3. アジェンダ • イントロダクション & 解決すべき課題 • Bitcoin-NGの内容 • 欠点とfuture research
  4. 4. スケーラビリティ問題 • 一秒間に処理できるトランザクションの量が足りな い … 現在は(7tx/second) • 大きく2つの解決策
  5. 5. スケーラビリティ問題 • レイヤ2, (オフチェーン) – Lightning Network – Tumblebit – Teechan • レイヤ1, オンチェーン – ブロックサイズ – ブロックインターバル 今日はこちら
  6. 6. なぜ大きいブロックサイズが問題なの か • ブロックの伝搬・検証に時間がかかる ↓ • 大きなマイニングプールに有利 ↓ • ブロックヘッダだけ先に伝搬させてしまお う!!
  7. 7. マイニングに必要な二つの情報 実は検証をしなくてもマイニングできる • 前ブロックのハッシュ(PoW)• hashprevBlock • hashMerkleRoot • トランザクションの要約
  8. 8. マイニング環境(2010年)
  9. 9. マイニング環境(2017年) Open pool closed pool
  10. 10. 留意すべき点 • 「Miner Centralization」とは? – アクターのcentralization – (ASICの)物理的 centralization – P2Pノードの減少 • 以下の二つは別物 – Operator … プールの管理者 – Hasher … プールの参加者
  11. 11. 攻撃1: Block withholding 1. 対立するプールにhasherを送り込む 2. 正解をマイニングしても報告しない 3. 「仕事」をしているふりをするため、正解に近 いhashを見つけたときは報告する。
  12. 12. 攻撃2: Selfish Mining • 見つけたブロックを直ちにパブリッシュせず、 しばらくその上にマイニングする。 • 25~33%のハッシュレートを持てばかなり有利 になれる。 • ブロックの遅延が大きいほど効果は上がる プールを「閉じる」インセンティブを与える? Bitcoin-NGが防ぐのはこちら
  13. 13. Bitcoin-NG • Bitcoin NGの解決する問題 – Fairness … – プールの規模に対して、rewardが出来る限り 線形に増加するようにする – Mining utilization … – orphanに使われるハッシュパワーを減らす – Time to win … – フォークの解消にかかる時間を減らす 実は全て同じ問題 … ブロックの伝搬・検証にかかる時間がゼロ ならば解決
  14. 14. アジェンダ • イントロダクション&解決すべき課題 • Bitcoin-NGの内容 • 欠点とfuture research
  15. 15. Bitcoin-NG • 大前提として「マイナーのハッシュパワーは全体 の25%を超えてはならない」 • (経済的に)妥当な想定かは議論の余地がある
  16. 16. Key BlockとMicro Block KeyBlock … ビットコインの ブロックと似ているが、minerの公開鍵がついている。 Microblock … トランザクションを含む、あらかじめさだめたサイズ以下のブロック、署名付き 前ブロックのヘッダハッシュを含む。(10秒に1ブロック発行できる)
  17. 17. Heaviest chainとlongest chain 現在のBitcoinと違って、Heaviestとlongestが分離している  Heaviest chainへのマイニングが最適戦略なのは従来と同様  Longestは?
  18. 18. なぜrewardが4:6なのか? • 条件1: 「セルフィッシュマイニングがpayしない」 • 条件2: 「最新のmicroblockをマイニングした方がpayする」 α= 全体に占めるハッシュレート < 0.25 = leaderに行くrewardの割合(未知) 0.37 < < 0.43 が得られる
  19. 19. Related works • GHOST – “Uncle block”をPoWとして含めることでFairnessと utilizationを改善 – しかし、「後に正解となるチェーンを持つノードが 存在しない」ということがあり得る – それを防ぐために同期フェーズを入れるとDoS攻 撃を防げない
  20. 20. アジェンダ • イントロダクション & 解決すべき課題 • Bitcoin-NGの内容 • 欠点とfuture research
  21. 21. 欠点 • パブリッシュしなくてはならない情報が多い – Key blockのpublic key – Microblockの署名 – ブロック数の増加、つまりブロックヘッダの増加 – パラメータの同期のための情報
  22. 22. 欠点2 • 前提1: もしfee splittingを40:60から100:0に変 えられるとしたら、マイナーは直ちにそうする。 • 前提2: feeという形ではなく、ユーザーがマイ ナーに直接支払えば(賄賂)実際にそうできる。 • 結論: したがって実際のfeeは100:0に近づく – 単一のマイナーがこれを行うと、他も追従せざる を得ない – したがって(帯域を消費する情報が少ない分)SPV miningの方が優れている。
  23. 23. SPV mining • ブロックの生成に成功した時点で、(内部トラ ンザクションをおいておいて)ヘッダのみをパ ブリッシュする。 – -> 有効でないブロックを伸長してしまう可能性が ある。
  24. 24. spy mining • よそのマイニングプールに「スパイ」を送り込 む • 全てのプールがオープンならdominantである。 つまり相手のpoolは「selfish mineしない」こと が最適戦略になる – (spv miningをするインセインティブを与える) • すでに過半数のプールで行われている
  25. 25. spy miningの問題点 ブロックの内容を検証しないまま採掘すると、 ハードフォークする可能性がある。 Future research 1. どのような条件下で系全体が安定するかを厳密に調べる。 変数は例えば以下 1. open poolの割合 2. マイナーが嘘をつく割合(スパイのあぶり出しのため) 3. ハッシュパワーの分散度合い 2. トランザクション(ブロック本体)の伝搬を早くする。例: Relay network(FIBRE) ... IP層における伝搬の加速

×