Litecoin

Web3セキュリティ シリーズ: 他のチェーンに間接した資金は保存できますか

2025/12/16 12:25
👤PANews
🌐ja
Web3セキュリティ シリーズ: 他のチェーンに間接した資金は保存できますか

暗号化された世界では、単一のクリックエラーは、&ldquao をトリガーすることができます。 デジタル catastrophe &rdquao; 最も一般的なナイトマーの一つは、間違ったブロックチェーンにアセットを送信しています。 例えば、インターネットのアドレスをテストするために、Etherma Sepolia に EPH を送信し、誤って Etherleas に送信されます。 そのような場合、Etherホストネットワークから移行された資金は回収できますか? 資産の回復の鍵は、受信アドレスの種類です。 異なる状況の光で分析します。

1。 シナリオI:EOA

ネオア (Externally Owned Account) は、プライベートキーまたは補助的な単語によって直接管理された通常のウォレットアドレスを呼び出すことが多いものです。

資産の回復のための前提条件:

  • アセットを EOA アドレスに転送します。
  • この対象の EOA アドレスは、秘密鍵またはノートを持ちます。 (通常、他のウォレットアドレス、または友人のアドレス、そして彼は協力して喜んでいる)。
  • ターゲットチェーンは EVM 互換チェーンです。

資産回復方法:

コレクション EOA アドレス プライベートキーホルダーは、単にターゲットチェーンから直接資金を引き出すことができます。

2. シナリオ2:レシートアドレスは契約です

最も絶望的なシーンの1つです。 スマートコントラクトのアドレスが秘密鍵によって作成されていないため、スマートコントラクトにプライベートキーを持ち、EOAを制御する限り制御することはできません。 そして、契約が処理のために事前準備されていない場合 “ 資産 &rdquo に間接した; 救助機能、不正接資金は、契約に永久にロックされ、誰もそれらを削除することはできません。

場合によってはチャンスがあります。 そして、ETHをETHERWOODホストネットワークにロックするシーンをビルドし、そこからお金を得る方法について話します。

2.1. シーンの発表

ユーザーがSepolia Test Network契約を呼び出しようとしたとまとめたシーンは、ETHをトークンを占拠するコントラクトに転送しましたが、トランザクションが開始されたとき、メインネットワークに接続されていなかったため、ETHがメインネットワーク契約にロックされています。 特定のシナリオの建設プロセスは次のとおりです

1. EtherのSepoliaテストでは、契約実現のプロジェクタ(EOA)が導入されました契約の主な機能がETHを入金して、対応するATokeenを作るのは、MintTokens関数に近似コードが表示されます。 展開は A と仮定されます。 注意することが重要ですETHを直接抽出できるAには機能はありません。

2. Ether の Sepolia テストでは、プランター (EOA) がプラント契約をデプロイしました, 契約の機能は、契約のパフォーマンスのために提供されるアドレスに基づいて、パフォーマンスエージェント契約(クローン)への最小代理店契約(関数deproyProxyByImplationによって示される)の展開に基づいていることです。 ここでは、B. Suppose のデプロイメントを想定して、コントラクト A アドレスが _implication として入力されるように、デプロイプロキシByImplementation 関数を呼び出しますエージェント契約を C で A にデプロイしました。

3。 ユーザーは、Sepolia で Web をテストして、ETH に移動することでトークンをキャストしたいと考えています。そのため、ユーザーはプロキシ契約 C アドレスへの呼び出しを開始しました, 通常プロキシ契約Cは、契約AのMintTokens関数にさらに呼び出して、ユーザー操作を完了します。 しかし、ユーザーが呼び出すと、Etherwoodホストネットワークに接続されていない。 そのため、ユーザーは ETH を Ether ホストの C アドレスに直接転送します。ユーザーのお金は、メインネットワークのCアドレスに一時的にロックされていました。

2.2. 主な知識ポイント

特定の救済プログラムを提示する前に、救済ニーズに関する基本的な知識ポイントが提示されます。

2.2.1. 作成 & create2

create and Create2 は、Solidity で共通する 2 つの展開契約です。

  • 契約の展開時に、契約のアドレスは、取引のスポンサーのアドレスと口座の取引件数(以後)に共同で決定され、契約内容の不確定性。
  • 契約の展開時に、契約アドレスは取引のスポンサーの nonce に依存しなくなり、次の 4 つのパラメーターに関連する。
    • 0xffの
    • 新規契約(アドレス)の契約アドレスを作成する
    • パラメータ(塩)としての融合値
    • コントラクトを作成するバイトを作成します(init_code)

2.2.2. 最低代理店契約(クローン)

https://docs.openzeppelin.com/contracts/4.x/api/proxy#cones

最低代理店契約は、多くの場合、Cloones契約と呼ばれ、非常に低コスト(Gas)でエージェント契約を展開するという考えに基づいており、その実現のための指定された契約に指摘しました。 Cones 契約では、ClineDeterministic 関数を介したプロキシ契約をデプロイすることで、2 または 2 を作成することで、プロキシ契約をデプロイすることができます。

クリネディスティック機能では、作成されたエージェンシー契約のバイトコードは、フォーマットが非常に短くなっています: 0x363d3d373d3d363d73&t; 実現契約の>アドレス; 5af43d8203e903d91602b57fd5bff3、直接契約のアドレスのバイトコードに符号化され、契約者にすべての呼び出しを呼び出すように呼び出されます。

cloneDeterministic関数から見ることができるように、create2の手段によってプロキシ契約を作成します作成したプロキシ契約のアドレスは、契約創設者、塩、契約実現のアドレス、固定バイトコード、契約実現のバイトコードとは関係しています。

2.3. レスキュープログラム

ここでは、C アドレスでユーザーを救助する方法です。 メインの考え方は、コントラクトコードをデプロイし、メインネットワークCアドレスを取り、ETHを抽出することです。 具体的な運用手順は以下の通りです

1。 メインネットワークBに同じアドレスをデプロイしてテストするプラント契約。エージェント契約は、ラインの決定的なデプロイメントエージェント契約の呼び出し時に工場契約アドレスに関連して計算されたため、同じプラント契約アドレスが必要です。 Sepolia の s トランザクションを調べて、オンライン展開プラントの契約をテストし、トランザクション(プロジェクトオーナー ' s アドレス)に展開された人の nonce を取得し、プロジェクトパーティ ' s (EOA) アドレスの nonce をデプロイする際、デプロイプラントの契約の前に、デプロイされた人の位置と nonce は、オンラインのデプロイ先の B アドレスと同じです。

2。 メインネットワーク上のテストネットワークとして同じアドレスAの展開のための契約。パート #Minimum Agent Contract (Clones)# では、エージェント契約は Clones Contract の Clane の決定機能によって展開され、プロキシ契約アドレスを計算し、参加塩と契約アドレスの実現に関連するプロキシ契約アドレスを計算し、コントラクトのバイトコードとは関係しないと述べています。 お問い合わせ私たちがしなければならないのは、アドレスAに契約を置き、契約の詳細はプロキシアドレスの計算に影響を与えません。そのため、A アドレスから直接 ETH を抽出する機能を持つコントラクトをデプロイすることができます。

テストネットワークでは、プロジェクトプロバイダのアドレス(EOA)によって契約実現Aが展開されているため、コントラクト実現Aの場所はトランザクションのオペレータとその非関係にのみ関連しています。 このように、オンライン展開実現Aのトランザクションを観察し、関連する非層を見つけ、指定されたnoceにメインのオンラインプロジェクトプロバイダのアドレス(EOA)を押し、契約実現Aの展開が十分である。

3。 テストネットワークCと同じアドレスでメインWEBサイトにデプロイするエージェント契約。オンライン展開エージェント契約Cのトランザクションを観察し、塩情報を入手し、プラント契約Bの展開プロキシByImplementation関数を呼び出して、コントラクトAのアドレスで、メインネットワークのアドレスCにエージェント契約をデプロイするパラメータとしてソルトを渡します。

4。 出金のためのメインネットワークエージェント契約Cを呼び出します。プロジェクトパーティーアドレス(EOA)は、エージェント契約C撤退機能と資金の受取人を呼び出し、エージェント契約Cで冷凍ETHを削除し、関連するユーザーに返します。

2.4. 要約

上記の救済プログラムから見ることができるように、資金が救助されることができるときに会う必要がある条件の数があります。例えば、契約 - deployer がターゲットチェーンに関連した nonce を使用しないという事実、資金がトラップされた契約が撤退機能またはさまざまな方法で展開することができるという事実(契約は、Clones などのエージェントとしてアップグレードまたは使用することができる)。

そのため、取引をする際には注意が必要です。慎重に開始されたすべてのトランザクションを確認し、契約とやり取りする前にZANを使うことができますAIスキャン契約のセキュリティを検出するためのギャップスキャンツール。 ZAN契約のセキュリティ監査チームに連絡して、資金を援助することができます。

ザンチーム(Xアカウント)@zan_teamさんのツイート&Antchain OpenLabs(Xアカウント)@AntchainOpenLab からのツイートカラ@カラ6289) 書かれた。

QQlink

Không có cửa hậu mã hóa, không thỏa hiệp. Một nền tảng xã hội và tài chính phi tập trung dựa trên công nghệ blockchain, trả lại quyền riêng tư và tự do cho người dùng.

© 2024 Đội ngũ R&D QQlink. Đã đăng ký Bản quyền.