Monacoin core based Bitcoin 0.20 の論点整理(2)
つづき。
まずは dust size から。
Bitcoin 系チェーン(モナコイン含む)を普通に使っている限り気にする機会がほとんどないと思います。Counterparty やモナパーティを深く使いこなすと気になってくるのですが、それも、限られた人々だけでしょう。
送金の記録はトランザクションというデータとしてP2Pネットワークを通り、採掘者のノードに到着し、ブロックに纏められる。これは割と知られているのではと思います。
トランザクションの量が多くなると、ネットワークの負荷が上がり、ノードが必要とするリソースも増えます。
ごく少額の送金トランザクションを大量に生成し、P2Pネットワークへ放流すれば、低コストで嫌がらせ的な攻撃を行えます。俗に tx spam 攻撃に分類されるものです。
ちょっと指摘を又聞きしたので、加筆。tx spam は一通りではなく、複数のバリエーションがあります。ここで取り上げているのは Very-low-fee flooding の亜種です。この攻撃の定石では fee を極端に下げますが、fee が正常で送金額が小さなトランザクションを大量放流するのも同様に嫌がらせとして成立しえます。対法定通貨建の価格が安い暗号資産に限られますが。
この種の攻撃を防ぐため、ノードが別のノードに転送する最小の送金額が決められています。これを dust (ゴミ)と呼びます。Bitcoin では 546sat でした。Segwit 導入以降はちょっとややこしい計算が必要です。半端な数値に見えますが、理詰めで導き出せる数値です。
Ⓜ
対法定通貨建ての価格が Bitcoin よりも安いモナコインは、攻撃者にとっては tx spam を行いやすいチェーンです。実際にそれらしきトランザクションが多く見られた時期もあります。そんな背景もあって、過去のモナコインの dust は 54600sat に設定されていました。
これを Bitcoin と同じにしてよいかどうかが、論点の一つになっています。
Bitcoin と同じにすると差分が減るので、 btcd など core 以外のノード開発の負荷は減る。(開発が進めやすくなる)
tx spam が心配。 (ただし現状モナコインのネットワークはスカスカなので実害はない?)
1MONA の対円価格は 2014 年で 3 円程度、今は 300 円を狙うかどうかという感じで、おおよそ 100 倍。ならば dust を 1/100 にしても辻褄は合う。
辺りが現状出ている意見です。
どれも正論なような気がして悩ましいところです。
なお、本件はブロックに纏まる前のトランザクションの扱いなので、フォークは不要です。(フォークは、生成されたブロックの検証方法に変更があったとき必要となるものです。)
仮にフォークが必要となると、ことが大きくなるので変更に対し慎重にならざるを得ないのですが、そうでもない。悩ましい。
いつかは dev 内での合意を得ないといけないわけですが。
つづく。