Cointime

Download App
iOS & Android

MPCとスマートコントラクトの2つのウォレットスキームを分析する

Validated Media

表面的には、MPC は柔軟で効率的ですが、詳細な調査により、MPC に固有のセキュリティの抜け穴や攻撃ベクトルがいくつか見つかり、これらの問題の存在を否定できません。

原題:「 MPC のリスクとスマート コントラクトウォレットへの移行

作者: スカンス・アスラーニ

コンパイル: MK

セルフホスティングは現時点では満足のいくものではありません。 Ledger、Metamask、その他の外部所有アカウント (EOA) などのデフォルトのソリューションは、暗号ネイティブ ユーザーにとって大きな問題を引き起こします。

ユーザーは次のことを行う必要があります。

1. シード フレーズを保護する方法を確認します。攻撃者が 24 単語のシード フレーズを入手すると、すべての資産が盗まれる可能性があります。

2. 取引時の間違いを避けてください。悪意のあるトランザクションに署名したり、間違ったアドレスに資産を送信したりすることは非常に一般的です。

3. あなたまたはあなたの親戚がシードフレーズにアクセスできなくなった場合に備えて、カスタムの回復および継承計画を作成します。

マルチパーティ コンピューテーション (MPC) とスマート コントラクト ウォレットは、これらの問題を解決できる 2 つのソリューションです。これにより、ウォレットプロバイダーは EOA 上にソーシャルリカバリ、トランザクション制限、二要素認証などの機能を構築できます。 Waymont では当初 MPC を採用しました。表面的には、柔軟で効率的であるように見えます。しかし、さらに詳しく調べていくと、MPC に固有のセキュリティ ホールや攻撃ベクトルがいくつか見つかり、これらの問題の存在を否定することはできませんでした。

そのため、私たちは最終的に、現在 1,000 億米ドルを超える資産を安全に保管している Safe のスマート コントラクトにインフラストラクチャを移行することを決定しました。この記事では、1) MPC ウォレットの仕組み、2) 私たちが発見した MPC の問題、3) スマート コントラクトに移行した理由について詳しく説明します。

1) MPCウォレットの動作原理

大まかに言うと、MPC ウォレットは秘密鍵を生成し、鍵共有に事前に分割され、さまざまな関係者に配布されます。これらのキー共有は個別にトランザクションに署名でき、各キー共有のオフライン署名を有効な Ethereum 署名に結合できます。

MPC モデルは一般的に類似していますが、主要な株式を保有する当事者が異なる場合があります。

集中型 MPC: すべてのキー共有は単一のエンティティ (Coinbase など) によって制御されますが、分離された安全なクラウド環境で処理されます。このアプローチは、運用効率を高めるために機関ホスティングプロバイダーによってよく使用されますが、資産が内部関係者攻撃や単一障害点に対して脆弱になる可能性があります。これには、プロバイダーが法的保管者として登録することが必要になる場合もあります。

ハイブリッド MPC: キー共有はユーザー、ウォレットプロバイダー、サードパーティに分散されます。 Fireblocks や ZenGo などのプロバイダーはこのアプローチを使用しているため、1 つの集中プロバイダーがすべてのキー共有を保持していると信頼する必要がなくなります。これによりセキュリティが強化されますが、キー共有を安全に配布、管理、取り消しするには、依然として集中化された当事者が必要です。

2) MPCウォレットの挑戦

どのモデルを使用する場合でも、MPC ベースのホスティング設定には主に 3 つの問題があります。

問題 1: 署名と鍵の生成を安全に調整するには、中央集権的な団体を信頼する必要があります。

ハイブリッドまたは集中型の MPC セットアップでは、必ず、1 つまたは複数のキー共有 (および場合によってはバックアップキー共有) を安全に保護する、信頼できる集中型パーティが必要です。

問題 1: 署名と鍵の生成を安全に調整するには、中央集権的な団体を信頼する必要があります。

ハイブリッドまたは集中型の MPC セットアップでは、必ず、1 つまたは複数のキー共有 (および場合によってはバックアップキー共有) を安全に保護する、信頼できる集中型パーティが必要です。

これらの主要な共有を保護するには、洗練された信頼できるクラウド インフラストラクチャが必要です。分散キーの生成、キーのローテーション、およびキーの失効には複雑さが伴うため、内部関係者の脅威や中間者攻撃によってキーの共有が漏洩する危険にさらされる可能性があります。十分な数の鍵共有が公開されると、攻撃者が資産を完全に制御できるようになります。

問題 2: キーの失効時に古いキー共有が適切に破棄されることを信頼する必要があります。

MPC 署名者のアクセスを取り消したい場合は、キーを取り消すことができ、すべての関係者が古いキー共有を破棄することを信頼する必要があります。暗号化の決定論的な性質を考慮すると、キー共有を取り消すのは困難な場合があります。ウォレットプロバイダーのキーシェアインフラストラクチャがウイルスによって侵害された場合、攻撃者がすべての資産を転送するのに十分なキーシェアを取得するまで、ウイルスは休眠状態を維持し、キーが取り消されるたびに古いキーシェアを収集する可能性があります。

問題 3: MPC アルゴリズムにバグがないことを信頼する必要がある

MPC アルゴリズムには複雑な暗号化が含まれており、パフォーマンスと機能を向上させるためにアルゴリズムが定期的に更新されます。業界標準のアルゴリズムに脆弱性が発見されており、MPC の実装にバグがあると、攻撃者が脆弱性を悪用して資金を完全に失う可能性があります。

たとえば、暗号通貨分野では最近 2 つの脆弱性が発見されました。

1. GG18およびGG20(2019年から2021年にFireblocksで使用されていたMPCアルゴリズム)の秘密鍵情報の漏洩

2. BitGo の MPC 実装で最近発見された脆弱性により、たった 1 回の署名でハッカーが資金に完全にアクセスできるようになります。

3) スマートコントラクト > MPC ベースのウォレット

スマート コントラクト ソリューション (安全) に移行することで、次のような懸念をすべて取り除くことができました。

問題 1: 署名と鍵の生成を安全に調整するには、中央集権的な団体を信頼する必要があります。

Safe のソリューション: 透過的かつ検証可能な署名と鍵の生成。 Waymont ボールトは、2 対 2 の安全なマルチシグ ウォレットです。署名者 1 が登録済みモバイル デバイスであり、署名者 2 が Waymont ポリシー保護者であることをオンチェーンで検証できます。 Waymont は主要な株式を一切保有していないため、たとえ公開されたとしても取引が開始されず、お客様の資産が侵害されることはありません。

問題 2: キーの失効時に古いキー共有が適切に破棄されることを信頼する必要があります。

Safe のソリューション: キーを自由にローテーションしたり、オンチェーンで署名者の削除や追加を行うことができます。鍵共有を破棄する必要はなく、悪意のある者が古い鍵共有を蓄積するリスクもありません。

問題 3: MPC アルゴリズムにバグがないことを信頼する必要があります。

Safe のソリューション: Safe のスマート コントラクトは、1,000 億ドルを超える資産を保護します。 2018 年以来、Safe のスマート コントラクトは正式な検証を含む業界最高のセキュリティ基準に合格し、11 件以上のセキュリティ監査で良好な成績を収めています。

ただし、Safe の使用には犠牲がないわけではありません。セキュリティを最適化することで、ガスコストの増加を受け入れ、一時的に EVM チェーンにロックします。私たちはこれが自明の選択であると考えています。私たちの絶対的な優先事項は安全です。スマート コントラクトは、ユーザーに他の利点も提供します。

1. オンチェーン タイムロック - ユーザーがキャンセルできるリカバリおよび遅延操作用のタイムロック

2. バッチトランザクション - ユーザーは複数のトランザクションをまとめてバッチ処理してガスを節約できます。

3. スポンサー付きトランザクション - 他の当事者がユーザーのトランザクションをスポンサーにすることができます (ERC20 トークンでガス料金を支払うこともできます)

4. プログラム可能なセキュリティ - オンチェーンの鍵ローテーションとプログラム可能な鍵管理 (例: 10,000 ドルを超える取引には追加または別の署名鍵が必要)

MPC は将来のセルフホスティングでも引き続き役割を果たす可能性があります。カストディアンと協力したい機関にとっては合理的な選択肢かもしれません。あるいは、Safe の創設者 Lukas Schor 氏が指摘したように、MPC はスマート コントラクト ウォレットの署名キーのセキュリティを向上させるソリューションとして使用できます。

MPC は将来のセルフホスティングでも引き続き役割を果たす可能性があります。カストディアンと協力したい機関にとっては合理的な選択肢かもしれません。あるいは、Safe の創設者である Lukas Schor 氏が指摘しているように、MPC はスマート コントラクト ウォレットの署名キーのセキュリティを向上させるソリューションとして使用できます。

全体として、適切に実装すれば、MPC セットアップは安全になります。しかし、上で述べたように、MPC は固有の信頼仮定を必要とし、Waymont や私たちのほとんどの暗号ネイティブ ユーザーが避けたいリスクベクトルを導入します。その結果、Waymont は現在、Safe スマート コントラクトを通じて 1,000 億ドルを超える資産を自信を持って保護しています。

コメント

全てのコメント

Recommended for you