ガイド

間違ったネットワークで受け取った EVM マルチシグ資金の復元

Ownbit の EVM マルチシグを持っていて、資産が予定していなかったチェーンに着いた。資金は失われていません。 Ownbit のマルチシグコントラクトアドレスは、チェーンではなくデプロイアドレスとそのアドレスのノンスから導出されるため、同じデプロイアドレスは任意の EVM チェーンで同じコントラクトアドレスを再現します。それがここでのあらゆる復元の鍵です。

あなたはどの状況ですか?

経路は、資金が着いたチェーンで Ownbit がマルチシグをサポートしているかどうかによって決まります。

A · 対応チェーン

ETH、BSC、Base、Arbitrum、Polygon — 同じデプロイウォレットでそこにマルチシグを再作成します。

B · 非対応チェーン

例: Optimism — 同じアドレスに小さな Sweeper コントラクトをデプロイして資金を引き出します。

A. そのチェーンが Ownbit マルチシグに対応している場合

単にそのチェーンで再度マルチシグを作成するだけです。コントラクトアドレスはデプロイアドレスのみに依存するため、そこに再デプロイするとコントラクトがちょうど資金のある場所に配置され、通常のマルチシグの流れで送金可能になります。

  • 同じデプロイウォレットを使ってください。 これが唯一の要件であり、アドレスを一致させるものです。
  • 同じ参加者としきい値/モードを使うことは明確さのために推奨されますが、技術的には必須ではありません。
  • マルチシグのホットウォレットはそのホットウォレットを使って自動的にデプロイします。マルチシグの監視専用ウォレットでは、デプロイを実行する個人のホットウォレットを選べます。

デプロイしたら、そのチェーンでウォレットを開き、通常どおり資産を送り出します。

B. そのチェーンが非対応の場合 — Sweeper をデプロイする

ここではマルチシグを再作成できないため、代わりに小さな Sweeper コントラクトを同じアドレスにデプロイし、それを呼び出して立ち往生した資産をあなたの管理下に移します。マルチシグのデプロイアドレスを通常の単一鍵ウォレットとしてインポートし、少しのガスを入れて、そこから Sweeper をデプロイします — アドレスはデプロイアカウントから導出されるため、Sweeper はあなたの資金を保持するちょうどそのコントラクトアドレスに着地します。

ノンスを未使用に保つ

デプロイアドレスは対象チェーンで送金トランザクションを一度も行っていない(ノンスが未使用でなければならない)必要があります。さもないと作成されるアドレスが一致しません。資金を受け取るのは問題ありません。このウォレットから余計なトランザクションを決して送らないでください — 一つ一つがノンスを進め、資金を永久に復元不能にし得ます。

マルチシグのデプロイ秘密鍵をエクスポートする

Ownbit でマルチシグの秘密鍵をエクスポートを開き、(MS_DEPLOY_INDEX) とタグ付けされたアドレスを選びます。手動で選んだ個人のホットウォレットでマルチシグをデプロイした場合は、代わりにそのウォレットの鍵をエクスポートします。

一時的な標準ウォレットとしてインポートする

その鍵から 秘密鍵の種類 = ETH(64 文字の hex)でウォレットをインポートします。この一時的な単一鍵ウォレットがデプロイアドレスを管理します。

対象ネットワークに少しのガスを用意する

対象ネットワークのネイティブコイン(例: ETH · Optimism)に切り替え、少額のガスを保持します。まだ何も送り出さないでください。

Sweeper コントラクトをデプロイする

対象ネットワークで「Send」をタップし、受取人を 0x0(Ownbit ではこれが「コントラクトをデプロイする」を意味します)に設定し、Amount = 0 にします。確認画面で Advanced options を有効にし、十分な Gas Limit を設定し、Sweeper のバイトコードを Hex data に貼り付けます。

作成されたアドレスがマルチシグアドレスと等しいことを確認する

エクスプローラー上でトランザクションはコントラクト作成として表示されます — 作成されたアドレスはあなたのマルチシグアドレスと等しくなければなりません。等しくない場合は、マルチシグが元々使った作成ノンスを確認し、同じウォレットでその回数だけ再デプロイします。

資産を自分にスイープする

作成されたコントラクトアドレス(あなたのマルチシグアドレス)へ再度送信し、Amount = 0 として、スイープの呼び出しデータを Hex data に貼り付けます。資金はあなたのデプロイウォレットに届きます。スイープが失敗した場合(例: ガス不足)は、再試行するだけです。

スイープの呼び出しデータ

スイープのステップでは、以下のいずれかを Hex data として使います:

メソッドHex data
ERC-20 トークンをスイープ — sweep(address)0x01681a62 + 24 個のゼロ + トークンコントラクトアドレス(32 バイトに左詰めパディング)
ネイティブコインをスイープ — sweepETH()0xd47f6877(パラメータなし)

これは技術的で開発者レベルの復元です。デプロイする完全な Sweeper バイトコード、参照用の Sweeper.sol ソース、そしてスクリーンショット付きの実例については、完全なガイドをご覧ください: EVM MultiSig — recovering funds received on the wrong network

FAQ

よくある質問

私の EVM マルチシグが予定外のチェーンで資金を受け取りました — 失われましたか?

いいえ。マルチシグのコントラクトアドレスはチェーンではなくデプロイアドレス(とノンス)から導出されるため、同じデプロイアドレスは任意の EVM チェーンで同じコントラクトアドレスを再現します — それが復元を可能にするものです。

そのチェーンが Ownbit マルチシグに対応している — 何をすればよいですか?

同じデプロイウォレットを使って、そのチェーンでマルチシグを再作成するだけです。コントラクトは資金を保持するちょうどそのアドレスに再デプロイされ、通常のマルチシグの流れで送金できます。

そのチェーンが非対応の場合 — どう復元しますか?

マルチシグのデプロイ秘密鍵をエクスポートし、一時的な ETH ウォレットとしてインポートし、少しのガスを入れ、Sweeper コントラクトをデプロイし(受取人 0x0 + Hex data にバイトコード)、あなたのマルチシグアドレスに着地させてから、sweep()/sweepETH() を呼び出して資金をデプロイアドレスに引き出します。

なぜデプロイウォレットからトランザクションを送るのを避けなければならないのですか?

作成されるコントラクトアドレスはデプロイアドレスのノンスに依存します。送金トランザクションはノンスを進めるため、Sweeper が別のアドレスに着地し、資金が永久に復元不能になり得ます。

最終更新:

ダウンロード

Ownbit をダウンロード

アプリをインストールし、必要なワークフローに合わせてコールドウォレットやマルチシグを設定しましょう。