sighash_anyprevoutとマージマイング
ビットコインのマイニングプールの約50%がRSKのマージマイングをしているのをご存知でしょうか?マージマイングとは、複数のブロックチェーンのマイングを同時に行うことです。マージマイングでは、メインチェーンとサイドチェーンという関係があり、ビットコインをメインチェーン、RSKをサイドチェーンとしてマージマイングが行われています。マイニングプールのメリットは、既存の設備(ASICなど)を使ってビットコインのマイング報酬以外にもマイング報酬が得られることです。
サイドチェーンに関しての記事はマルクスさんが複数回にわたって分かりやすく解説しているので、興味のある方は読んでみてください。
マージマイングには以下の2種類のタイプがあります。
- 通常のマージマイング
- ブラインドマージマイング(BMM:Blind Merge Mining)
現在マイニングプールが行っているRSKのマージマイングは「通常のマージマイング」です。両者の違いは以下のようになっています(通常のマージマイング vs BMMの比較の引用元)。
通常のマージマイングは、マイナーの作業がチェーン間で密結合になり、サイドチェーン側のバグなどがメインチェーンへ影響をもたらす可能性があります。そのため、マイナーの作業がチェーン間で疎結合にできるブラインドマージマイングの方が優れているといわれていますが、このBMMを行うにはソフトフォークが必要となります。BMMに関してはBIP301にて定義されています。
ブラインドマージマイングにはこのBIPが必須かと思われていましたが、昨年末にBMMを可能とする新しい手法が提案されました。そのために必要な変更は、sighash_anyprevout(別名sighash_noinput)と呼ばれるsighashタイプの追加で、これはライトニングネットワークのチャネルマネジメントをシンプルにするeltooやビットコインの送金先を制限できるcovenantを実現するために提案されているBIPです。
sighash_anyprevoutはBMMのためのBIP301よりも汎用性が高いので、コミュニティに受け入れられやすいのではと期待しています。
ビットコインのサイドチェーンであるDrivechainに関してはハッシュレートエスクローという仕組みが不可欠なので、sighash_anyprevoutがマージされてもすぐにはローンチはできないですが、今後の動向は要チェックですね!