Mike Hearnは次のように書きました:
私の推測では――グローバルチェーンの長さであり、最初の急速な進行は、ソフトウェアがチェーン内の先行ブロックをダウンロードし、有効であることを検証しているためでしょう。
その通りだ。もっと明確な表現を考えているところで、「%d network blocks」や「%d block chain」のようなものを検討している。
0.1%が良いリスク率だと仮定すると、z=5となり、したがってどのトランザクションもチェーンに固定されるまで1時間弱待つ必要があります。ウェブコンテンツやバーチャルグッズなどのマイクロペイメントは、定義上低いオーバーヘッドが求められるものであり、1時間の待機はかなり大きなハードルのように思えます。
実際のリスクについては、0.1%に、買い手が巨大なコンピュータネットワークを持つ攻撃者である確率を掛けてくれ。
マイクロペイメントについては、支払いを即座に安全に受け入れることができる。支払い額が小さすぎて、それを盗む労力に見合わない。マイクロペイメントはほぼ常に知的財産に対するものであり、マーチャントに物理的な損失はない。マイクロペイメントを盗もうとする人は、おそらくいずれにせよ有料の顧客ではないだろうし、知的財産を盗みたいのであればファイル共有ネットワークを使える。
現在、企業は一定の貸し倒れ率を受け入れている。1回あるいは0回の確認ブロックでのリスクは、検証済みクレジットカード取引のチャージバック率よりもはるかに低いと考えている。
確認ブロックを待たないマーチャントに対する通常の詐欺は、マーチャントに支払いを送信し、マーチャントのコピーよりも先に二重支払いをネットワークに素早く伝播させようとすることだ。マーチャントができることは、自分のトランザクションをブロードキャストし、ネットワーク上で二重支払いのコピーを監視することだ。泥棒は監視期間中にブロードキャストできない。さもなければマーチャントのノードがコピーを受信してしまう。マーチャントはほとんどのネットワークノードが自分のバージョンを持ち、泥棒のバージョンが追いつけなくなるまで、1〜2分監視するだけで済む。わずか1〜2分の遅延で、支払いなしで済む確率を詐欺に値しないほど低くすることができる。泥棒は通常、それに見合うだけの高い確率で商品を無料で手に入れる必要がある。論文で議論されたブルートフォース攻撃に大量のCPUパワーを使用しても、上記の詐欺に加えて、泥棒の成功確率はあまり上がらない。
ダウンロードに時間がかかるもの、ウェブサイトへのアクセス、ウェブホスティング、サブスクリプションやサービスなど、何かへのアクセスを許可するものは、トランザクションが拒否された場合、数分後にキャンセルできる。
正直なチェーンが1つの攻撃CPUによって作業されるチェーンよりも速く成長できる唯一の方法は、パーシャルコリジョンを探すためにスキャンするキースペースが参加する正直なノード間で均等にシャーディングされている場合だけのように見えるからです。そうすればコリジョンが見つかる速度はノード数に比例します。しかし、そのようなワークシャーディングの議論が見当たりません。これは明らかに複雑さを増します。
キースペースは巨大で、2^256だ。ハッシュされるものにはノードの公開鍵とランダムなナンスが含まれるため、2つのノードが同じ空間で作業を重複させる可能性は無視できる。
各ブロックに必要な難易度は、ネットワークを通じてどのように伝達され、合意されるのですか?
伝達されない。計算式はプログラムにハードコードされており、すべてのノードが同じ計算を行って、次のブロックに必要な難易度を知る。誰かが計算式から逸脱した場合、そのブロックは多数派に受け入れられない。
重ねてありがとうございます。まだ質問がありますが、1通のメールにはこれで十分です :) いずれかの時点で、これらの議論をFAQ形式のドキュメントにまとめたいと思います。質問が些細に思えたら申し訳ありません。
問題ない。Mac Wineでテストしてくれてありがとう。
Satoshi