MPCとスマートコントラクトウォレットの長所、短所、課題を包括的に分析
ChinaDeFi
2022-11-17 13:00
本文约5868字,阅读全文需要约23分钟
長期的には、スマート コントラクト ウォレットとマルチパーティ コンピューティング (MPC) プロトコルは競合するものではなく、補完的なものになります。

原題:Seedless Self-Custody: On MPC and Smart Contract Wallets

原作者: ニカナン・ケソンパット

オリジナル編集: ChinaDeFi

オリジナル編集: ChinaDeFi

セルフカストディは、暗号資産管理のベストプラクティスとして長い間賞賛されてきました。 FTXとセルシウスの大失敗は、「キーが何であれ、コインではない」ということを業界に思い出させ、人々を非保管ウォレットに走らせる一連の長い出来事の最新のものである。 FTX 事件の暴露後、Safe は 8 億米ドルを超える純流入を獲得し、Ledger は短期間で複数の記録的な売上を記録し、Trezor の売上は 300% 急上昇し、ZenGo は一晩で 3 桁の成長を達成し、預金額は最高水準に達しました。すべて同じ週で過去最高を記録した。

しかし、依然として多くのユーザーは、コストの削減と使いやすさと引き換えにホスティングのリスクをいとわないと考えています。非保管ウォレットインフラストラクチャが資産の安全性と管理において最も抵抗の少ない道となるまでには、まだ長い道のりがあります。

幸いなことに、現在はウォレットのエコシステムが繁栄しており、個人、DAO、機関にさらに多くのオプションを提供しています。暗号化はもはや安全なストレージだけを意味するものではなく、ニューエコノミーでの資産の使用も含みます。しかし、増え続ける攻撃対象領域と脆弱性は、ますます豊富な機能と相まって、日常のビジネスや個人的な使用をサポートしながら攻撃に耐えることができるウォレットを必要としています。

  • すべての設計上の決定と同様、これは、特定のユースケースに対する複数の考慮事項、および対象ユーザーの集合的なニーズに対して実用的にバランスを取る必要があるウォレット ソリューションの機能と主要な管理手法の最適化の問題です。

  • 個人は、シームレスなユーザー エクスペリエンス、低料金、dApps とのやり取りにおける柔軟性を必要としています。

  • DAO には透明性のある財務管理、エコシステム ガバナンスへの参加が必要です。

教育機関は、チェーンの不可知性、監査可能性、機関レベルのセキュリティを通じて責任をアウトソーシングしたいと考えています。

スマート コントラクト ウォレット (マルチシグネチャ ウォレットを含む) とマルチパーティ コンピューテーション (MPC) プロトコルという 2 つのクラスの代替キー管理ソリューションで大きな進歩が見られました。

  • この記事の内容は次のとおりです。

  • ウォレットで考慮されるプロパティ。

  • 従来のウォレット、MPC ウォレット、およびスマート コントラクト ウォレットの概要。

  • ウォレットエコシステムに対する継続的な課題。

現在のウォレット ソリューションのトレードオフの概要と、ウォレット インフラストラクチャの見通し。

  • ウォレットで考慮すべきプロパティ

  • 安全性。単純な攻撃から複雑な攻撃までの保護レベル。 「適切なキー管理」には、オンチェーンのアクティビティの性質と関与するリスクの量に見合ったオンボーディングおよび運用コストを備えた一連のソリューションを選択する必要があります。

  • 料金。アカウントの作成、アクセスの管理、トランザクションの実行にどれだけの費用がかかるか。

  • ユーザーエクスペリエンスと柔軟性。アクセス制御管理、オーバーヘッド ポリシー、制限および許可の粒度。

  • 回復性。脅威や損失が発生した場合に資産とアクセスを復元する機能を備えています。

  • スケーラビリティ。コア製品に新機能を導入し、製品とサービスの包括的なエコシステムを構築できます。

プライバシー。アドレスは個人に簡単に関連付けることができます。

従来の (HD) ウォレット

従来のウォレットは、ニーモニックと階層決定論 (HD) 構造を使用して、秘密キー、対応する公開キー、およびオンチェーン アドレスを導出します。これらのウォレットを使用すると、ユーザーはトランザクションの署名に使用される秘密キーを生成し、シード フレーズを使用してすべてのキーを回復できます。

これまで、従来のウォレットは、ユーザーが自分の資産を保持し、ブロックチェーン アプリケーションと対話するための主要なエントリ ポイントを保持するツールでした。 MetaMask などのブラウザ拡張機能や Rainbow などのモバイル アプリは、何百万ものユーザーをこのエコシステムに引きつけてきました。リスクを軽減したいユーザーは、オフラインで秘密鍵を保護することでより優れたセキュリティを提供する、Ledger や Trezor などのハードウェア ウォレットを選択できます。

シード フレーズとキーを安全に保つことの重要性をユーザーに知らせるために、業界全体で多大な努力が払われてきましたが、この単一障害点が依然として広範な導入に対する大きな障壁となっています。秘密キーを紛失した場合、すべての資産を失うだけでなく、ユーザーは複数のアドレスを手動で追跡し、トークンの承認を行う必要があり、新しいアドレスに資金を提供する必要があるため、プライバシーが侵害されます。

今日、取消不能な文字列により、個人の貯蓄への完全な「アクセス」が可能になるだけでなく、ユーザーのオンライン ID のオンチェーン履歴をリンクする傾向が高まっています。秘密鍵にアクセスしようとする動機が非常に大きいため、ハッカーはそれぞれ無制限のリソースを投入して、ますます創造的な攻撃を実行します。今や、ユーザーだけに依存するだけでは十分ではありません。この単一障害点を完全に排除する必要があります。

マルチパーティ コンピューテーション (MPC) ウォレットとスマート コントラクト ウォレットは、これを達成するのに役立ちます。機関、個人、DAO によって同様に採用されている両方のタイプの製品とサービスのエコシステムがすでに存在します。どちらのタイプのウォレットも単一障害点を排除しますが、基本的な技術的な違いがいくつかあり、それが異なるトレードオフにつながります。

MPCウォレット

大まかに言うと、マルチパーティ計算 (MPC) を使用すると、相互に信頼しないパーティのグループが、入力をプライベートに保ちながら、入力に基づいて関数を共同で計算できます。暗号化では、これはデータの復号化やデジタル署名の生成に使用される秘密キーを保持するのに特に役立ちます。

MPC ウォレットは、しきい値署名スキーム (TSS) を使用して単一障害点を排除します。このパラダイムでは、秘密キーの一部を作成して配布し、誰やマシンも秘密キーを完全に制御できないようにします。これは分散キー生成 (DKG) として知られるプロセスです。その後、当事者間で部分を公開することなく、部分を結合して公開鍵を共同生成できます。

メッセージとトランザクションに署名するには、各当事者が公開入力 (署名されるメッセージ) を使用して秘密の共有部分を入力し、デジタル署名を生成します。そこから、公開鍵を知っている人 (つまり、バリデーターノード) は誰でも、署名を検証して検証できるはずです。キー部分が結合され、署名がオフチェーンで生成されるため、MPC ウォレットから生成されたトランザクションは、従来の秘密キー ウォレットのトランザクションと区別できません。

これにより、MPC ウォレット ユーザーのプライバシー レベルが維持されます。この機能は、署名スキームと署名者のアクティビティがオフチェーンで行われるため、署名スキームと署名者の活動を世間の目から遠ざけたい組織にとって、すぐに使える便利な機能です。このようにして、組織は参加した署名を公開せずに内部ログを保存できます。

秘密キー ローテーションは、秘密共有を入力として受け取り、秘密共有の新しいセットを出力するもう 1 つの MPC プロトコルです。古い秘密共有を削除して新しい共有に置き換えることができ、対応する公開キーとアドレスを変更せずに同じように使用できます。

  • MPCウォレットのメリット

  • 単一障害点はありません。完全な秘密キーが常に 1 つのデバイスに集中されることはありません。記憶術もありません。

  • 調整可能な署名スキーム。承認された固定人数は、同じ住所を維持しながら、個人および組織のニーズの変化に応じて変更できます。組織は、毎回取引相手に新しいアドレスを通知することなく、署名スキームを動的に調整できます。

  • きめ細かなアクセス制御。組織ユーザーは、無制限の数のトランザクション承認者をポリシーに割り当て、組織の役割とセキュリティ対策 (タイムロック、MFA、不正監視) を正確に反映する権限を割り当てることができます。個人は、サードパーティが鍵の共有部分を保持するサービスとしての MPC ウォレットを介した半保管ルートを選択できます。

  • 取引コストとリサイクルコストの削減。 MPC ウォレットは、通常の秘密鍵アドレスと同じガスコストを持つ単一のアドレスとしてブロックチェーン上に表現されます。これは、1 日に何百ものトランザクションを行うユーザー (B2C ユースケースなど) にとって非常に重要です。紛失したキー共有はオフチェーンでリサイクルすることもできます。

ブロックチェーンにとらわれない。キーの生成と署名は、オフチェーンの純粋な暗号化に依存します。ウォレットはそのチェーンによって認識されるアルゴリズムを使用して署名を生成できればよいため、新しいブロックチェーンへの互換性の拡張は簡単です。

  • MPCウォレットのデメリット

  • オフチェーンの説明責任。承認ポリシーへの署名と固定番号の承認はオフチェーンで管理されるため、これらのカスタム ルールは依然として集中化の問題が発生しやすいです。キー共有は依然として暗号化秘密であり、秘密キー全体と同様に扱う必要があります。オフチェーンのルールと署名は透明性を妨げ、より厳格な運用監査を必要とします。

  • 多くのユーザーが採用しているほとんどの従来のウォレットとは互換性がありません(単一のデバイスにシードフレーズや完全な秘密鍵が保存されていない)。 MPC アルゴリズムも標準化されておらず、iPhone SEP や HSM などの政府機関グレードのセキュリティ デバイスでもネイティブにサポートされていません。

ほとんどが個別のカスタム製品です。多くの MPC ライブラリとソリューションはオープンソースではないため、何か問題が発生した場合にエコシステムがそれらを独立して監査して統合することは困難です。

MPC ベースのソリューションは、主にファンド、取引所、カストディアンなどの機関顧客を対象としています。 Fireblocks や Qredo などの MPC テクノロジー プロバイダーを使用すると、顧客はさまざまな種類のトランザクションに対して独自のワークフローを定義できるため、コンプライアンスと安全性を維持できます。しかし、個人投資家ベースは依然として独立した調査と秘密鍵ウォレットに依存しています。 Web3Auth は最近、ユーザーが iCloud または電子メールをバックアップとして使用できる MPC SDK をリリースしました。 Entropy のような分散型保管プロトコルは、消費者や DAO が資産をオンラインで保存できるようにオープンソース ツールを構築しています。

MPC の注目すべき発展: プログラム可能なキー ペア

Lit は、Lit ネットワーク ノードにキー共有を保存する分散型プロトコルです。公開キー/秘密キーのペアは、所有者がキー ペアの唯一のコントローラーである PKP (プログラマブル キー ペア) NFT によって表されます。 PKP 所有者は、定義された任意の条件が満たされた場合に、ネットワーク集約キー共有をトリガーしてファイルを復号したり、代理で署名したりできます。

これは、分散型アクセス制御、資産管理、自動化されたオンチェーンインタラクションに大きな影響を与えます。 Lit Actions (IPFS にデプロイされた不変コード) に署名権限を付与することで、JavaScript で表現可能な任意の認証方法を使用して、PKP を MPC または分散型クラウド ウォレットとして使用できます。

PKP NFT のミントは、NFT 所有者を PKP のルート所有者にする MPC ベースの分散キー生成プロセスです。したがって、このNFTの転送はトランザクション秘密キーと同等であり、実際に「魂に縛られた」トークン(SBT)の概念を破壊します。SBTは特定の所有者にバインドされており、ウォレット自体は安全に取引できるため、 「ウォレットにバインドされたトークン」という名前の方が適切かもしれません。

スマートコントラクトウォレット

  • Ethereum には現在 2 つのアカウント タイプがあります。

  • 外部所有アカウント (EOA) - 秘密キーによって制御

スマート コントラクト アカウント - コードで制御

スマート コントラクト ウォレット (「スマート ウォレット」) は、ウォレットのように動作するスマート コントラクトです。つまり、ユーザーが資金を管理し、Web3 ログインを実行し、dApp と対話できるインターフェイスです。秘密キーウォレットとは異なり、スマートウォレットは、スマートコントラクトをオンチェーンに展開する必要があるため、作成に初期コストが必要です。

マルチ署名ウォレットは、トランザクションを実行するために M-of-N キーの署名を必要とするスマート コントラクト ウォレットです。 MPC は、参加している鍵共有の数に関係なく単一の署名のみを作成し、異なる秘密鍵によって生成された異なる署名を使用してトランザクションにマルチシグ署名します。これにより、既存の秘密キーウォレットと互換性があり、Ledger や MetaMask などの従来のウォレットアドレスの上のレイヤーに位置します。

Safe のようなスマート コントラクト アカウント標準は、資産管理製品とサービスのエコシステムの基礎層を提供します。機能はモジュールを通じて追加され、ユーザーは管理キー ロジック、支出制限、定期的なトランザクション、アカウントの自動化、段階的アクセスなどを定義できます。現在、最も豊富な Safe モジュールのセットは Zodiac チームによって構築されています。

  • スマートコントラクトウォレットの利点

  • 単一障害点はありません。トランザクションを実行するには複数の署名が必要です。

  • プログラム可能なアクセス制御。ユーザーはさまざまなポリシーを定義し、タイムロック、支出制限、自動化を設定できます。

  • コストを節約するためにトランザクションのバッチ処理を実装できます。

  • スケーラブル。スマートコントラクトの構成可能性のおかげで、ウォレット開発者は、ユーザーがウォレットに追加することを選択できるモジュールのエコシステムを作成し、NFT融資フレームワーク、DAO投票モジュール、非保管資産管理サービスなどの新機能のエコシステムを作成できます。店。

  • プログラム可能な回復。ウォレットは、資金をスマート コントラクト自体にリサイクルするためのいくつかのオプションを提供できます。

  • オンチェーンの説明責任。オンチェーンの署名承認ポリシーと集約により、トランザクションの署名にどのキーが使用されているかが明確になり、操作がより透明かつ簡単になり、エラーが発生した場合にトランザクションに参加したユーザーを監査できるようになります。

  • 他の署名スキームへの移行がサポートされています。スマート コントラクト ウォレットは、署名スキームを、よりシンプルでガス効率の低いもの、または量子耐性のあるものに変更できます。これらは iOS および Android デバイスでも使用できます (携帯電話をハードウェア ウォレットに変える) か、iOS 生体認証と Web 認証の使用を許可する Ed25519 を有効にします。

オープンソース。スマートウォレットの実装や機能拡張を誰でも監査することができ、エコシステムを通じてバグの解決や新機能の追加を行うことができます。

  • スマートコントラクトウォレットのデメリット

  • より高い料金。スマートウォレットは複数の署名を検証する必要があるため、通常の単一アドレス取引よりも手数料が高くなります。所有者の追加/削除やしきい値の変更などの操作にも、オンチェーン トランザクションが必要です。

  • 広くサポートされているわけではありません。スマート ウォレットは同じアドレスの任意の EVM チェーンにデプロイできますが、非 EVM チェーンでのカスタム実装が必要です。

  • 復旧費用は高くなります。回復ロジックはプログラム可能ですが、それを実行するにはオンチェーン料金を支払う必要があります。

アップグレード不可の契約とは互換性がありません。 EIP-1271 により、アプリケーションはコントラクト ウォレットに代わって署名できるようになりますが、まだ広くサポートされておらず、アップグレードできないコントラクトに追加することはできません。

スマート コントラクト ウォレットの注目すべき発展: アカウントの抽象化

スマート ウォレットは、EOA と秘密キー (アカウントの抽象化とも呼ばれます) から完全に移行するというエコシステム全体の取り組みにおいて重要な役割を果たします。このパラダイムでは、すべてのアカウントは、有効なトランザクションの構成要素を決定する独自のロジックを備えたスマート コントラクトであり、ユーザーがアカウントを特定のニーズに合わせて調整できるようになります。

アカウントの抽象化については 2016 年から議論されてきましたが、エコシステムが解決策に向けて調整するのが遅れています。 L2 はその認識と採用を大幅に加速させており、たとえば StarkWare はすべての Starknet アカウントをスマート ウォレットにローカライズしており、zkSync 2.0 も AA とともに開始されます。

  • イーサリアムでは、ロードマップ上のマイルストーンを完了するために複数の EIP が存在し、アカウントの抽象化を実現します。

  • EIP-4337: 署名検証、ガス支払い、およびリプレイ保護をコア プロトコルから EVM に移動し、ユーザーがメイン アカウントとして EOA を使用する代わりに、任意の検証ロジックを備えたスマート ウォレットをコンセンサス層の変更なしで使用できるようにします。この EIP では、既存のメモリ プールと並行して存在する UserOperations メモリ プールが導入されています。バンドラー (バリデーター、MEV サーチャー、またはアプリケーション自体) は、UserOperations プールからトランザクションを取得し、ブロックチェーンに転送して、料金を支払います。ここで、スタートアップ ウォレット自体はガス料金を支払いませんが、アプリケーションは料金ベースのサブスクリプション モデルを通じてユーザーのためにガス料金を集約できます。

  • EIP-3074: EOA が制御をコントラクトに委任できるようにし、既存の EOA がサードパーティによって支払われた操作を送信できるようにします。

EIP-5003: 既存の EOA をコントラクトにアップグレードし、ECDSA からより効率的なまたは量子耐性のある署名スキームに移行できるようにします。

ウォレット開発エコシステムが直面する課題

技術的な抜け穴

Parity Multisig ハッキングと最近の Rabby Swap 攻撃は、資金を保管するための最良の概念的な方法であっても、実装に欠陥があればほとんど意味がないことを示しました。スマートコントラクトアカウントの標準が登場すると予測できます。

社会的攻撃のレベル

どのような技術的ソリューションのメリットでも、社会レベルでのリスクを排除することはできません。 6 億ドルの Ronin Bridge 侵害は、技術的な欠陥によるものではなく、Sky Mavis 従業員に対するソーシャル エンジニアリング攻撃により、攻撃者が検証キーにアクセスできるようになりました。組織は、資産管理にどのウォレットを使用するかを決定することに加えて、この重要なシステムの各「コンポーネント」が社会層および技術層で真に独立していることを確認する必要もあります。

セキュリティと移行のコスト

あるアカウントから別のアカウントへの移行は、楽し​​いものでも、安いものでもありません。現在、市場には強力なウォレットの代替品がありますが、ユーザーが既存の EOA を移行するには、取引手数料、DeFi ポジションのクローズ/オープン、収益への影響、ユーザーエラー、時間と労力などの実際のコストがかかります。

現在、ほとんどのユーザーにとって自己管理は恐ろしい見通しであり、改善には意識的な努力が必要なため、困難な作業となる可能性があります。ほとんどのトランザクション データは読み取り不能であり (状況は変化していますが)、エラーは元に戻せません。暗号教育と同様、この問題はチームだけでは解決できず、ツールとユーザーエクスペリエンスのパターンが必要です。

結論は

結論は

  • MPC とスマート ウォレットは共通の「これとあれ」フレームワークを共有していますが、長期的には競合するものではなく、補完するものです。 MPC はキーの生成と管理レベルで共有セキュリティを提供し、スマート コントラクトは機能とアプリケーションの開発にスケーラビリティとエコシステム アプローチをもたらします。例えば:

  • MPC は、1 つ以上の秘密キーを複数の部分に分割することで、既存のマルチ署名スキームを強化できます。 2/3 マルチシグを保護するために 3 人が使用される場合、3 人の各ユーザーは MPC を使用して個々の秘密鍵を細分化し、MPC 鍵部分を別のマシンに保管できます。

コミュニティまたは DAO は、自動投資や DEX インタラクションに使用できる分散型クラウド ウォレットを管理する PKP NFT を使用したマルチ署名署名者になることができます。


ChinaDeFi
作者文库