Monacoin、reorg対策を含むMonacoin Core v0.16.2をリリース
2018.09.13
BCHNews編集部
こんにちは、BCHNews編集部です。
MonacoinProjectは、9/12にMonacoin Core v0.16.2をリリースしました。
Monacoin 0.16.2をリリースしました。攻撃によるreorg対策を行っているので更新を強く推奨します。
Monacoin Core v0.16.2 released! All users are strongly advised to upgrade.— monacoinproject (@tcejorpniocanom) 2018年9月12日
このリリースでは、今年の5月に受けた「Block withholding attack」によるreorg(ブロックの再編成)対策が行われました。
具体的には、ネットワーク上に複数設置されるジャッジノードと呼ばれる特別なノードが、あらかじめ定められたルールに基づいてチェーンを確定させ、確定したブロックをチェックポイントとして配信することで、それ以前のブロックは確定とみなして良いとするものです。
51%攻撃などの大規模reorgを狙った攻撃を無効化するため、0.16.2がある程度浸透したところでチェックポイントの配信が行われます(*)。
ジャッジノードと呼ばれる特別なノードがネットワーク上に複数設置され、予め定められたルールに基づいてチェーンを確定させます。
採掘から数ブロックの経過をモニタし、確定したブロックをチェックポイントとして配信します。判定には個々のトランザクションの内容は参照されず、Monacoinprojectが取引に介入するようなことはありません。
ただしMonacoinのチェーンを乱すSelfish Mining等の手法に対しては今後対策を行う可能性はあります。
ジャッジノードの仕様についてはセキュリティの点から非公開とします。最後に受信したチェックポイントはdumpvolatilecheckpointコマンドで参照できるので、このコマンドで返るHeightの値より低ければ入金は確定したとして良いと思います。
ただしメンテナンス等によりチェックポイントの配信が停止する場合も考えられるので、200ブロック以上経過など、大きめのブロック数経過による判定も併用してください。また、このチェックポイントの受信は強制ではなく、monacoin.conf(cmdcheckpoint=false)又は実行時に引数(-cmdcheckpoint=false)を指定することで拒否できます。
チェックポイント関連RPCを用いて誰でも同様の機能を作成可能なので、より良い提案があればそちらを使用されると良いかと思います。* 0.16.2の浸透前でもテストのため配信する場合があります。
一度配信されるとネットワーク上に残り続けるので、本配信開始前に古いブロックのチェックポイントを受け取ることがありますが正しい動作です。引用元:
https://gist.github.com/monacoinproject/ff813bc5ec64783ca39dd5d058bc58f2
モナコインのブロックチェーン再編成
2018年5月15日、モナコインのブロックチェーンに対する「Block withholding attack」が成功し、ブロックチェーンの再編成が観測され、LiveCoinという取引所が1,000万円以上の損害を被ったと言われています。
また、その他のbitbankやbitFlyerなどのモナコインを扱う取引所も対応を迫られることとなりました。
昨日よりモナコインの入金受付を一時的に停止しておりましたが、先程入金を再開しましたのでお知らせ致します。モナコイン入金の必要承認回数は、100回へと変更しておりますので、ご注意下さい。https://t.co/wkx0QqJCAL
— ビットバンク bitbank, Inc. (@bitbank_inc) 2018年5月18日
モナコインにおいて Reorg が発生したことを受け、お預入に必要な承認数を一時的に上げました。
本事象に関しまして、お客様の資産に影響はございませんのでご安心ください。— bitFlyer(ビットフライヤー) (@bitFlyer) 2018年5月17日
今回のリリースは、この事件を踏まえて対策が講じられた形となります。
Block withholding attack
「Block withholding attack」とは、ブロードキャストされているブロックチェーンとは別に悪意のあるマイナーが秘密裏にブロックの生成を続け、ある程度の長さのチェーンができたところでまとめてブロードキャストすることで、今まで生成されていたブロックチェーンを秘密裏に生成していたブロックチェーンで置き換えてしまおうというものです。
まとめてブロードキャストした際に、すでにブロードキャスト済みのブロックチェーンよりも秘密裏に生成したブロックチェーンの方が長ければ、「複数のチェーンがある場合は長い方のチェーンを採用する」というモナコインの仕様に従い、ブロードキャスト済みのブロックチェーンは破棄されて、秘密裏に生成したブロックチェーンに置き換えられてしまいます。
マイナーが少なくネットワーク全体の計算能力が低いコインにおいては、「Block withholding attack」のようなブロックチェーンに対する攻撃が行いやすくなってしまいます。
以下のサイトでは、コイン毎の51%攻撃にかかるコストが表にされていますので参考にしてください。
BCHNewsでは公式のTwitterアカウント(@bchnews_jp)を開設しました。
更新情報を配信しておりますので、よろしければ、フォローしていただけると嬉しいです。
この記事のカテゴリ
この記事のタグ
BCHNews編集部
BCHNews編集部です。
日々更新される暗号通貨関連のニュースを読者の皆様にお届けします。