寄稿: Daniel Tan and Source: MetaTrust Labs
2023-11-21 話題のAtomicals Market取引プラットフォームで0元の購入事件が発生し、Atomicals Protocolとその取引プラットフォームであるAtomicals Marketが最近嵐に陥りました。 ARC-20トークンに関する一連の質問は、幅広い議論と疑問を巻き起こしました。
アトミカルズ・プロトコル&アトミカル市場
Atomicals Marketは、ARC-20取引にAtomicals Protocolを使用するARC-20マーケットプレイスです(Atomicals MarketとAtomicals Protoclsは同じ会社ではありません)
Atomicals Marketは21日、Atomicals Protocolベースの取引プロセスにPBSTの欠陥が見つかり、ユーザーがatomトークンを取引する際に損失を被ったと投稿しました。
同時に、Atomicals Protocolは24日の投稿でAtomicals Marketの発言に反論し、問題の原因はAtomicals Marketの過失であり、SIGHASH_NONEを使用してトランザクションに署名し、ユーザーを危険にさらしたと指摘しました。 Atomicals Protocolは、Atomicals Marketは署名にSIGHASH_NONEを使用すべきではないと述べ、警告しています(Atomicalsの取引プラットフォームでもあるSatsXは同様の状況にはないようです)
分析の結果、0元購入の根本的な原因は、Atomicals MarketがPSBTでSIGHASH_NONEを誤って使用していたことであることが判明しました(TX:1623bf2997cde779dd9e0e2c54b5f7f196f36826dcb689e41acd7fff27ec5c93)
先に進む前に、BTCはイーサリアムのようなアカウントモデルを使用していないため、いくつかのことを知っておくことが重要です。
ビットコイン未使用トランザクションアウトプット(UTXO)は、ビットコインの所有権の特定の部分を表します。 アカウントと残高を利用する従来のシステムとは異なり、ビットコインはこれらの個別のビットコインセクションを通じて動作します。 各UTXOは、トランザクションで転送されるビットコインのさまざまな部分を表す特定の値によって定義されます。
トランザクションの過程で、UTXOは消費され、存在しなくなります。 その結果、この操作は1つ以上の新しいUTXOを生成します。 UTXOセットと呼ばれるこれらのUTXOの集合体は、すべてのネットワークノードによって維持および更新されます。 これは、新しいブロックがUTXOを生成して排除するトランザクションを処理するたびに発生します。 UTXOセットは、ノードがトランザクションの正当性と使用予定のビットコインを独自に確認できるようにする上で重要な役割を果たします。
部分的に署名されたビットコイントランザクション(PSBT)は、ビットコインエコシステムのプロトコルであり、署名されていないトランザクションを送信する利便性を向上させ、複数の参加者が同時に単一のトランザクションに署名できるようにすることを目的としています。
PSBT(部分的に署名されたビットコイントランザクション)は、さまざまなシナリオでユーティリティを提供します。 3人が関与するCoinJoinトランザクションの作成を検討してください。 このプロセスでは、3 人の参加者がそれぞれセントラル コーディネーターにメッセージを送信します。 メッセージには、CoinJoinに含めたいUTXO(未使用のトランザクション出力)の詳細が含まれています。 さらに、各参加者は、CoinJoinトランザクションの完了後にビットコインのシェアを返すアドレスを指定します。
Atomicals Protocolは、安全なPBST交換ステップで、売り手はARC20 Atomicalを含む2番目の入力と支払い金額を含む2番目の出力に署名すると述べています。
売り手はSIGHASH_SINGLEを使用する必要があります | ANYONECANPAYが署名されると、購入者はインプットを追加して資金を取得し、ARC20トークンを購入するために受け取る受取アドレスを追加できます。
次に、スワップで SIGHASH_SINGLE を使用する代わりに、Atomicals Market は SIGHASH_NONE を使用します。
NONE と SINGLE の違いを見てみましょう。
Atomicals MarketはNONEを使用しているため、1つの入力のみが署名され、販売されたトークンの数のみが検証されます。 出力が署名されていないのは、受信したトークンが検証されていないことを意味します。 その結果、悪意のあるユーザーは、トークンを支払うことなくユーザーのトークンを購入することができます。
33,000$ATOM
Atomicals Marketは、ユーザーの損失を補償することを約束します。
プロジェクトチームは、依存するプロトコルを詳細に調査し、プロトコル自体とセキュリティ機関の推奨事項に注意を払いながら、製品を適切にテストおよび監査する必要があります。
13.7K 人気度
46 人気度
50 人気度
54 人気度
82.43K 人気度
アトミカルズ市場の0元購入イベントの分析
寄稿: Daniel Tan and Source: MetaTrust Labs
01 まとめ
2023-11-21 話題のAtomicals Market取引プラットフォームで0元の購入事件が発生し、Atomicals Protocolとその取引プラットフォームであるAtomicals Marketが最近嵐に陥りました。 ARC-20トークンに関する一連の質問は、幅広い議論と疑問を巻き起こしました。
アトミカルズ・プロトコル&アトミカル市場
Atomicals Marketは、ARC-20取引にAtomicals Protocolを使用するARC-20マーケットプレイスです(Atomicals MarketとAtomicals Protoclsは同じ会社ではありません)
Atomicals Marketは21日、Atomicals Protocolベースの取引プロセスにPBSTの欠陥が見つかり、ユーザーがatomトークンを取引する際に損失を被ったと投稿しました。
同時に、Atomicals Protocolは24日の投稿でAtomicals Marketの発言に反論し、問題の原因はAtomicals Marketの過失であり、SIGHASH_NONEを使用してトランザクションに署名し、ユーザーを危険にさらしたと指摘しました。 Atomicals Protocolは、Atomicals Marketは署名にSIGHASH_NONEを使用すべきではないと述べ、警告しています(Atomicalsの取引プラットフォームでもあるSatsXは同様の状況にはないようです)
分析の結果、0元購入の根本的な原因は、Atomicals MarketがPSBTでSIGHASH_NONEを誤って使用していたことであることが判明しました(TX:1623bf2997cde779dd9e0e2c54b5f7f196f36826dcb689e41acd7fff27ec5c93)
02 前提条件
先に進む前に、BTCはイーサリアムのようなアカウントモデルを使用していないため、いくつかのことを知っておくことが重要です。
UTXO
ビットコイン未使用トランザクションアウトプット(UTXO)は、ビットコインの所有権の特定の部分を表します。 アカウントと残高を利用する従来のシステムとは異なり、ビットコインはこれらの個別のビットコインセクションを通じて動作します。 各UTXOは、トランザクションで転送されるビットコインのさまざまな部分を表す特定の値によって定義されます。
トランザクションの過程で、UTXOは消費され、存在しなくなります。 その結果、この操作は1つ以上の新しいUTXOを生成します。 UTXOセットと呼ばれるこれらのUTXOの集合体は、すべてのネットワークノードによって維持および更新されます。 これは、新しいブロックがUTXOを生成して排除するトランザクションを処理するたびに発生します。 UTXOセットは、ノードがトランザクションの正当性と使用予定のビットコインを独自に確認できるようにする上で重要な役割を果たします。
PSBT
部分的に署名されたビットコイントランザクション(PSBT)は、ビットコインエコシステムのプロトコルであり、署名されていないトランザクションを送信する利便性を向上させ、複数の参加者が同時に単一のトランザクションに署名できるようにすることを目的としています。
PSBT(部分的に署名されたビットコイントランザクション)は、さまざまなシナリオでユーティリティを提供します。 3人が関与するCoinJoinトランザクションの作成を検討してください。 このプロセスでは、3 人の参加者がそれぞれセントラル コーディネーターにメッセージを送信します。 メッセージには、CoinJoinに含めたいUTXO(未使用のトランザクション出力)の詳細が含まれています。 さらに、各参加者は、CoinJoinトランザクションの完了後にビットコインのシェアを返すアドレスを指定します。
03 何が問題なのですか?
Atomicals Protocolは、安全なPBST交換ステップで、売り手はARC20 Atomicalを含む2番目の入力と支払い金額を含む2番目の出力に署名すると述べています。
売り手はSIGHASH_SINGLEを使用する必要があります | ANYONECANPAYが署名されると、購入者はインプットを追加して資金を取得し、ARC20トークンを購入するために受け取る受取アドレスを追加できます。
次に、スワップで SIGHASH_SINGLE を使用する代わりに、Atomicals Market は SIGHASH_NONE を使用します。
NONE と SINGLE の違いを見てみましょう。
Atomicals MarketはNONEを使用しているため、1つの入力のみが署名され、販売されたトークンの数のみが検証されます。 出力が署名されていないのは、受信したトークンが検証されていないことを意味します。 その結果、悪意のあるユーザーは、トークンを支払うことなくユーザーのトークンを購入することができます。
04 資産損失
33,000$ATOM
05 その後
Atomicals Marketは、ユーザーの損失を補償することを約束します。
06 セキュリティに関する推奨事項
プロジェクトチームは、依存するプロトコルを詳細に調査し、プロトコル自体とセキュリティ機関の推奨事項に注意を払いながら、製品を適切にテストおよび監査する必要があります。