暗号通貨読書会 #7: bitcoin ng
TRANSCRIPT
スケーラビリティ問題• レイヤ 2, ( オフチェーン )– Lightning Network– Tumblebit – Teechan
• レイヤ 1, オンチェーン– ブロックサイズ– ブロックインターバル今日はこちら
留意すべき点• 「 Miner Centralization 」とは?– アクターの centralization– (ASIC の ) 物理的 centralization– P2P ノードの減少
• 以下の二つは別物– Operator … プールの管理者– Hasher … プールの参加者
攻撃 1: Block withholding
1. 対立するプールに hasher を送り込む2. 正解をマイニングしても報告しない3. 「仕事」をしているふりをするため、正解に近い hash を見つけたときは報告する。
攻撃 2: Selfish Mining
• 見つけたブロックを直ちにパブリッシュせず、しばらくその上にマイニングする。• 25~33% のハッシュレートを持てばかなり有利になれる。• ブロックの遅延が大きいほど効果は上がる
プールを「閉じる」インセンティブを与える?
Bitcoin-NG が防ぐのはこちら
Bitcoin-NG
• Bitcoin NG の解決する問題– Fairness …
– プールの規模に対して、 reward が出来る限り 線形に増加するようにする– Mining utilization …
– orphan に使われるハッシュパワーを減らす– Time to win …
– フォークの解消にかかる時間を減らす
実は全て同じ問題 … ブロックの伝搬・検証にかかる時間がゼロ ならば解決
Key Block と Micro Block
KeyBlock … ビットコインの ブロックと似ているが、 miner の公開鍵がついている。Microblock … トランザクションを含む、あらかじめさだめたサイズ以下のブロック、署名付き 前ブロックのヘッダハッシュを含む。 (10 秒に 1 ブロック発行できる )
Heaviest chain と longest chain
現在の Bitcoin と違って、 Heaviest と longest が分離している Heaviest chain へのマイニングが最適戦略なのは従来と同様 Longest は?
なぜ reward が 4:6 なのか?• 条件 1: 「セルフィッシュマイニングが pay しない」
• 条件 2: 「最新の microblock をマイニングした方が payする」
α = 全体に占めるハッシュレート < 0.25 = leader に行く reward の割合 ( 未知 )
0.37 < < 0.43 が得られる
Related works
• GHOST– “Uncle block” を PoW として含めることで
Fairness と utilization を改善– しかし、「後に正解となるチェーンを持つノードが存在しない」ということがあり得る– それを防ぐために同期フェーズを入れると
DoS 攻撃を防げない
欠点• パブリッシュしなくてはならない情報が多い– Key block の public key– Microblock の署名– ブロック数の増加、つまりブロックヘッダの増加– パラメータの同期のための情報
欠点2• 前提 1: もし fee splitting を 40:60 から 100:0 に変えられるとしたら、マイナーは直ちにそうする。• 前提 2: fee という形ではなく、ユーザーがマイナーに直接支払えば (賄賂 ) 実際にそうできる。• 結論 : したがって実際の fee は 100:0 に近づく–単一のマイナーがこれを行うと、他も追従せざるを得ない– したがって (帯域を消費する情報が少ない分 )SPV
mining の方が優れている。
spy mining
• よそのマイニングプールに「スパイ」を送り込む• 全てのプールがオープンなら dominant である。つまり相手の pool は「 selfish mineしない」ことが最適戦略になる– (spv mining をするインセインティブを与える )
• すでに過半数のプールで行われている