Re:(ByteCoinの引用投稿)

参加者: ByteCoin

Quote from: gavinandresen on November 07, 2010, 02:14:29 AM

実は…無料トランザクションを金額とその「古さ」の両方に基づいて優先順位付けすれば、この攻撃は無力になるはずだ。

基本的な考え方はこうだ。大量の少額無料トランザクションをスパムしている場合、大量の真新しい「小銭」が生成されることになる(古い50BTC生成トランザクションを取り、1ペニーを分割して1ペニーと49.99のお釣りを得る。次にその49.99を分割してさらに1ペニーを得る、という具合だ)。

保留中の無料トランザクションをソートし、より高額のトランザクションやブロックチェーンの深い位置に入力を持つ無料トランザクション(「古いお金」)に優先順位を与えれば、通常のトランザクションは通過できる。

スパムのトランザクションは依然としてネットワーク帯域幅とディスク容量を消費する。これが問題になる場合、ノードは少額の新しいトランザクションを無視し(中継しない)、スパムを行っているノードにトランザクションをキューに入れて再ブロードキャストさせればよい。最終的にはネットワークに少しずつ流れ込むだろうし、その間スパマーの小銭は拘束されたままだ。

より大きな金額のトランザクションに優先順位を付けても、問題は本当には解決しない。自分のアドレス間で大きな金額のBitcoinを無限に送り続けることでスパムが完全に可能だからだ。

古いトランザクションに優先順位を付けると、Bitcoinの購入時に大量のおつりが発生しないよう保有を分割するインセンティブが生まれる。保有を2のべき乗 * 0.01で持っていれば、おつりなしで何でも支払え、断片化も最小限になる。もちろん支出後に保有を再バランスする必要があるが、すぐにできる最善の方法は自明ではない。おつりをどう分割するか指定できるなら、特定の状況では有利かもしれない。複数の購入には3のべき乗が最適かもしれない。 いずれにせよ、最終的な効果はトランザクションの入出力が増えることだ。おそらく平均的な入出力の数は、トランザクション内のBitcoinペニー数の対数の何らかの非常に小さい倍数(あるいは大きい分数)になるだろう。これにより平均トランザクションサイズが10倍以上増加する可能性があると見積もる。

ByteCoin