著者:リサ
編集者:シェリー
背景
オンチェーンメッセージは、ブロックチェーンの世界における特殊な通信方法として、近年のさまざまなセキュリティインシデントで頻繁に使用されています。たとえば、SlowMist は最近、KiloEx がオンチェーン メッセージを通じて攻撃者と複数回の通信を行うのを支援し、最終的に盗難された資金 844 万ドルの全額返還を成功させました。匿名環境では、オンチェーン メッセージは、最初の対話を確立し、その後の資金回収の基盤を築くための効果的なツールとして機能します。
前回の記事「盗難資産の応急処置ガイドにおけるオンチェーンメッセージ」では、Ethereum上でメッセージを残す方法について詳しく説明しました。 Bitcoin ネットワークもオンチェーン メッセージをサポートしていますが、両者の実装方法は若干異なります。 Bitcoin チェーンにメッセージを残すための中核ツールは OP_RETURN 命令です。これにより、ユーザーはトランザクションに 80 バイトのカスタム データを埋め込むことができます。このデータは、ノードによるトランザクション検証には使用されず、UTXO のステータスにも影響を与えません。これは純粋に情報を記録するために使用され、ブロックチェーンに完全に記録されます。
OP_RETURNを使用してチェーンにメッセージを残す方法
ステップ1: メッセージの内容をエンコードする
まず、送信するテキスト情報を16進数(HEX)形式に変換します。 Bitcoin チェーン上の OP_RETURN 命令は、HEX 形式のデータのみを受け入れます。
たとえば、メッセージを残したい場合は次のようにします。
これはテストです。
変換された HEX は次のようになります。
54686973206973206120746573742e
これは、オンライン形式変換ツールまたは Python スクリプトを使用して実行できます。
text = "こんにちは、これはテストです。"hex_text = text.encode("utf-8").hex()print(hex_text)
メッセージの内容は、160 進文字未満、または 80 バイト未満である必要があります。長さがこの制限を超える場合は、メッセージを簡素化するか、複数のメッセージに分けて送信することをお勧めします。
ステップ2: OP_RETURNを使用してトランザクションを構築する
次に、カスタム トランザクションをサポートする Bitcoin ウォレットまたはツールを使用して、OP_RETURN 出力を持つトランザクションを作成する必要があります。
Bitcoin Core を例にとると、createrawtransaction を使用して OP_RETURN 出力を手動で追加します。
bitcoin-cli createrawtransaction '[{"txid":"your_input_txid","vout":0}]' '[{"data":"54686973206973206120746573742e"}]'
このように構築されたトランザクションでは、実際にお金が転送されるのではなく、チェーン上にメッセージが書き込まれるだけです。
imTokenウォレットを例にとると、BTCウォレット転送インターフェースに入り、「詳細モード」をオンにします。 「OP_RETURN」入力ボックスに16進情報を入力します。 「次へ」をクリックして取引情報の確認を完了します。 OP_RETURN 情報を含むトランザクションを正常に送信するには、トランザクション パスワードを入力します。 「入力金額 = 出力金額 + マイナー手数料」となるようにご注意ください。
ステップ3: トランザクションをブロードキャストする
署名されたトランザクションを Bitcoin ネットワーク全体にブロードキャストします。 OP_RETURN トランザクションは実際にはお金を転送しないため、処理するにはマイニング手数料を含める必要があり、マイナーがブロックにパッケージ化するのを待つ必要があります。トランザクションが確認されると、メッセージはビットコインブロックチェーンに永久に保存されます。
ステップ4: メッセージの内容を表示する
取引が完了すると、TXID が発行され、ブロック ブラウザで確認できるようになります。ブラウザは通常、OP_RETURN 16 進データを ASCII に自動的にデコードします。次に例を示します。
(https://mempool.space/tx/f4ac7abcb689df30ec5e8d829733622f389ca91367c47b319bc582e653cd8cab)
OP_RETURN アプリケーション
セキュリティインシデントでは、一部の攻撃者はチェーン上で OP_RETURN メッセージを使用して、プロジェクト関係者に資金を返還する意図を積極的に表明したり、プロジェクト関係者とホワイトハットチームがこの方法を使用して攻撃者と会話し、連絡を確立しようとしたりします。 OP_RETURN は、ネゴシエーション シナリオで使用されるだけでなく、「マーキング」操作にも使用されます。例えば、Chainalysisはかつて、2022年のロシア・ウクライナ戦争勃発前夜に身元不明のビットコインユーザーがOP_RETURNチェーンを使用してメッセージを残し、ロシアの安全保障部門に関連していると疑われる約1,000のアドレスをマークしたことを明らかにしました。ロシア語で書かれたメッセージは、これらのアドレスがサイバー攻撃やスパイ活動に関与している可能性があることを直接指摘していました。
- 「GRUからSVRへ。ハッキングに使用!」
- 「GRUからGRUへ。ハッキングに使用!」
- 「GRUからFSBへ。ハッキングに利用!」
- 「GRUハキルからの資金でウクライナを支援」
(https://mempool.space/address/1CMugHhsSf8Bzrp142BpvUynWBR1RiqMCk)
このユーザーはこれらの警告を発したとき、単にメッセージを残すだけでなく、大量のビットコインの焼却に協力しました。 OP_RETURN 出力の性質上、このようなトランザクションに送信された Bitcoin は焼却され、使用できなくなります。統計によると、このユーザーは一連の操作で 30 万ドル以上のビットコインを燃やしました。
要約する
オンチェーンメッセージ、特にビットコインネットワークの OP_RETURN は、匿名、公開、改ざん不可能な通信方法を提供し、資金回収の初期段階の連絡や情報伝達に広く使用されています。ただし、オンチェーン メッセージは、攻撃者が被害者を悪意のあるリンクにアクセスさせたり、危険な操作 (復号化のために秘密鍵を入力するなど) を実行させたりするためにも使用される可能性があるため、常に警戒を怠らず、信頼できないデバイスで疑わしい情報を表示したり処理したりしないようにする必要があります。セキュリティインシデントに遭遇した場合は、分析を支援し、資金回収の成功率を高めるために、できるだけ早く専門のセキュリティチームに連絡することをお勧めします。同時に、ユーザーやプロジェクト関係者は、攻撃の標的にならないようにセキュリティ意識を継続的に強化する必要があります。