まとめ
「あなたの鍵ではなく、あなたのコインではありません」、スマートコントラクトウォレットか個人アカウントウォレットに関係なく、秘密鍵はウォレットを完全に制御します。秘密鍵が失われると、私たちのウォレットは完全にリスクにさらされます。
秘密キーはウォレットの基礎であり、ニーモニックフレーズは秘密キーの回復ソリューションですが、これはウォレットの開発に対する現在の障害でもあります。
MPC と社会的回復によってもたらされる無力な単語記憶の解決策は、大量導入の基礎です
今後のウォレットの更なる可能性、EIP-4337への期待
文章
2010年、イーサリアムの創設者であるヴィタリック・ブテリンは、ワールド・オブ・ウォークラフトでウォーロックのアカウントを持っていたが、ある日、ブリザードはウォーロックのキャラクターを大幅に減らし、ライフサイフォン呪文の魔法ダメージ部分を削除することを決定した。彼は泣き寝入りし、その日、集中型サーバーの恐ろしさを実感し、サーバーを辞めて分散型ネットワーク イーサリアムを作成することを決意しました。 2022年11月、世界最大のデリバティブ取引所FTXはユーザー資金の流用が発覚し、創設者のSBFがバハマ警察に逮捕され、裁判のため米国に移送される準備が整った。
13 年前にブリザードによって不可解な裏切りを受けたウォーロック プレイヤーから、今日自分たちの権利を守る FTX の被害を受けたユーザーに至るまで、私たちは「キーではない、コインではない」という言葉の重要性をますます認識しています。第三者による監査があっても/規制当局や集中サーバーは依然としてデータを自由に改ざんしたりホワイトウォッシュしたりする可能性がありますが、分散型ネットワークでは、オンチェーン台帳は透過的であり、私たちが自分のアカウントの秘密キーを持っている限り、絶対に制御できます。私たちの個人資産をめぐって。
分散化は素晴らしいことですが、どのようなコストがかかるのでしょうか?
ブロックチェーンネットワークに住む私たちは、自分の個人資産に対する最初の責任者です。オンチェーンウォレットを選択する際、ほとんどのユーザーにとって最も重要なトレードオフは、自分の資産に対してどの程度のリスクと責任を引き受けるつもりかということです。従来の金融機関を例に挙げます。
セキュリティを追求するユーザーから見ると、口座開設手順は複雑だが規模が大きい銀行にお金を預けたいと考えています。 大手銀行の資金安全性(リスク)>標準的で厳格な口座開設手順(責任)
実用性を追求するユーザーにとっては、WeChat と Alipay はただお金を入れるだけで、ID カードと携帯電話番号だけで登録が完了し、簡単に P2P 取引を完了できます。国の支援を受けた金融機関ではなく上場企業 2 社: WeChat の利便性 (負債) > WeChat の運営状況 (リスク)
web3 に戻ります。web3 に資産を保存するには、保管ウォレットと非保管ウォレットという 2 つの方法があります。その前に、ウォレットの原理を簡単に説明する必要があります。
ウォレットと秘密鍵
アカウントの生成は、秘密キーを作成するプロセスです。 Ethereum には、EOA アカウント (外部所有アカウント、外部アカウント) とコントラクト アカウント (EOA アカウントを通じてチェーン上にデプロイされたスマート コントラクト) の 2 種類のアカウントがあります。
EOA アカウントを例にとると、

EOA アドレス
256 ビットの乱数を秘密キーとして生成し、その秘密キーを使用して SHA3 アルゴリズムを使用して対応する公開キーを導出し、次に keccak-256 を使用してアドレス (元のハッシュの最後の 20 バイト) を計算します。 、固有の秘密キーに対応する個人アカウント。このプロセス中に、秘密キーは 12 個のニーモニックを計算して生成します。ニーモニックを使用して秘密キーを再導出できます。

現在、主要なメインチェーンで最も主流の dApp ウォレットは、Metamask、Phantom (Solana)、BSC Wallet (BSC)、Keplr (Cosmos) などの EOA ウォレットです。
2. スマート アカウントは、EOA アカウントを通じてチェーン上に展開される EVM コードの一部であり、さまざまな機能を実現できます。ただし、EOA アカウントとは異なり、コントラクト アカウントには秘密キーがなく、EOA アカウントによってのみ呼び出すことができます。したがって、スマート コントラクト ウォレットの最終的な制御 = EOA アカウントの秘密キーがデプロイに使用されます。このレベルで理解されるように、スマート コントラクト アカウントも秘密キーによって制御されます。ウォレットアドレスがコントラクトである限り、それはスマートコントラクトウォレットです。
スマート コントラクト ウォレットは、マルチシグネチャ ウォレット (マルチシグ アカウント) とアカウント抽象ウォレット (抽象アカウント) に分かれています。
マルチシグネチャーウォレット: 2013 年の時点で、マルチシグネチャーウォレットは IMF にとって最優先の選択肢となっています。このテクノロジーはもともとビットコイン エコシステムで開発され、現在ではイーサリアムに優れたマルチシグネチャ ウォレット (Gnosis Safe など) が存在します。イーサリアム財団は 4-of-7 マルチシグネチャ ウォレットを使用しています (つまり、スマート コントラクトを作成します)資金を保管し、7つのEOAアカウントを通じて契約を管理します。4/7以上のEOAアカウントが署名した場合にのみ署名を完了できます。)
アカウント抽象化では、単一の EOA ウォレットを使用してコントラクト アドレスを制御し、Argent/Loopring などの人気のあるプロジェクトはすべてアカウント抽象化ウォレットに属します。

Apecoin 契約アドレス
3. アカウントの作成後、私たちが参加するオンチェーンアクティビティは秘密キーの参加と切り離すことができません。
廖雪峰先生の紹介文によれば、
分散型ネットワークでは、銀行のような信頼機関は存在しません。2 つのノード間でトランザクションを実行したい場合は、ゼロトラストの下で安全なトランザクションのメカニズムを実装する必要があります。
シャオミンとシャオホンが取引をしたいと考えているとします。取引を成立させるための 1 つの方法は、シャオホンがシャオミンから 10,000 元を渡されたと主張することですが、これは明らかに信頼できません。
トランザクションを作成するもう 1 つの方法は次のとおりです。シャオ ミンはシャオ ホンに 10,000 元を与えたと主張し、この発言が実際にシャオ ミンによって行われたものであり、シャオ ミンが実際に 10,000 元を持っていることが確認できる限り、トランザクションは有効であると見なされます。 。
シャオミンの発言を検証するにはどうすればよいですか?
秘密鍵を使用して作成された署名により、検証者はステートメントの開始者を確認できます。誰でも公開キーを使用してデジタル署名と転送結果を比較できます。このステートメントを開始できるのは秘密キーを持つ Xiao Ming だけです。私はこの発言が確かにシャオ・ミンによるものであると確信しています。
イーサリアム ネットワークでは、このようなトランザクションには P2P 転送トランザクションだけでなく、スマート コントラクトへの呼び出しも含まれます。
したがって、ウォレットを毎日使用する場合、それはウォレット プラットフォームを通じてローカルの秘密鍵を呼び出してチェーン上の署名を完了するのと同じことになります。
ウォレットのセキュリティ、しきい値、検閲への耐性
ウォレットに関するすべては秘密鍵を中心に構築されています。ウォレットは本質的に、1. 秘密鍵を作成し、2. 秘密鍵を保持し、3. 秘密鍵を使用し、4. 秘密鍵をバックアップし、5. 秘密鍵を復元するツールです。現在主流の秘密鍵のバックアップ/回復ソリューションはニーモニックワード、つまりウォレットの登録時に表示される 12/24 個の単語の組み合わせです。
ニーモニック フレーズにより秘密キーのプレーン テキストを推定できます。ユーザーがウォレットを新しいデバイスに移行する場合、ウォレット アプリにニーモニック フレーズを入力するだけで秘密キーを推定し、ウォレットの制御を取り戻すことができます。
ユーザーにとって、秘密キー = ニーモニック フレーズですが、ウォレットを日常的に使用する場合、これら 2 つの概念は依然として異なります。ニーモニック フレーズは、ユーザーの秘密キーのバックアップおよびリカバリ ソリューションです。
例えると、ニーモニックはキーをコピーすることに相当し、キーを紛失した場合、ニーモニックを使用して同一のキーを生成できます。

秘密キーはブロックチェーンネットワークと対話するための唯一の認証情報であるため、ウォレットの秘密キーとニーモニックフレーズを安全に保管するのは私たちの責任です。もちろん、アカウントを作成する最も安全な方法は、オフライン環境でアカウントを作成し、コードを通じて乱数 (秘密キー) と SHA256 アルゴリズムを実行して独自のアドレスを生成することです。ただし、このしきい値は間違いなく高すぎるため、適切ではありません。ほとんどのユーザーにとって。したがって、ウォレットを選択する際、ユーザーはセキュリティ、しきい値、検閲耐性の 3 つの点を考慮する必要があります。
セキュリティ: ハッカーがウォレットの秘密キー/ニーモニック フレーズをクラッキングするのにどれくらいの費用がかかりますか?
ハードウェアウォレットを例にとると、ハッカーはオフラインで秘密鍵をフィッシングまたは盗むことによってのみユーザーの秘密鍵を入手できます。
しきい値: ウォレットはどのくらい使いやすいですか?
メタマスクの登録プロセスでは、ユーザーは 12 個のニーモニックを記録する必要があり、デバイスを変更する際には 12 個のニーモニックを再入力する必要があります。Binance の取引所登録とデバイスへのログインは、電子メール ログインを通じてワンクリックで完了できます。
検閲への耐性: ウォレットの最終的な管理権がユーザーにあるかどうか
ウォレット アプリがユーザーがインポートしたニーモニック フレーズの平文を保存し、サーバーにアップロードすると、ハッカーがサーバーをクラッキングしてユーザーのウォレットを盗むことができます。また、ハッカー攻撃がなかったとしても、スローププロジェクト側が窃盗を犯し、検閲耐性を達成していない可能性もある。
ウォレットには、非保管ウォレットと集中保管ウォレットの 2 つの主なカテゴリがあります。
非保管ウォレット: ユーザーは独自のニーモニックフレーズを保持します
a. 主流のウォレット MetaMask を例に挙げます。MetaMask は非保管型 (または自己保管型) 暗号通貨ウォレットです。非保管とは、MetaMask がウォレットに関するデータを一切保存せず、秘密鍵データはすべてローカル レベルのブラウザーまたはモバイル アプリケーション内にあることを意味します。ユーザーがオンチェーン署名アクティビティを実行する必要がある場合、MetaMask はプライベート鍵データを呼び出します。署名用のローカル ファイルからのキー。また、ユーザーの秘密キーとニーモニック フレーズが紛失または盗難された場合、メタマスクはユーザーの回復を支援することができず、ユーザーの資産は永久に失われます。
b. 最も安全なハードウェア ウォレット (Ledger など) として認識されており、ハードウェア デバイスを使用してオフラインで秘密キーとウォレット アドレスを生成し、そのアドレスの公開キーがメタマスクなどの Web ウォレットにインポートされます。署名が必要です。台帳 ハードウェアはオフラインで確認されます。秘密鍵はインターネットに一切触れないため、ハッカーがハードウェアウォレット内の秘密鍵を盗むことは困難です。しかし、ユーザーがニーモニックフレーズを紛失したり、フィッシングに遭ったりした場合、ハードウェアウォレットの保護効果はゼロになり、ユーザーの資産は依然として盗まれます。
ホスト型ウォレット
Coinbase/Binance などの Exchange ウォレットはマネージド ウォレット方式を採用していますが、Coinbase で表示されるアカウントはユーザー自身の秘密キーを保持しておらず、Etherscan では表示されるのではなく、Coinbase プログラムで表示されるアカウント番号のみであるという点が異なります。チェーン資産は、ユーザーが Coinbase を信頼し、自分で資産を所有するのではなく Coinbase に資産を預けることとして理解できるため、Coinbase アカウントは Uniswap などの dAPP と対話できません。

一般に、保管ウォレットでは、プロジェクト当事者がニーモニックフレーズを代わりに保持し、ウォレットの登録と復元のしきい値は低いですが、ウォレットのセキュリティはユーザー自体ではなくプロジェクト当事者に依存します。プロジェクト当事者が非保管ウォレットを実際に制御します。ニーモニックフレーズはユーザーの手にあり、ウォレットの登録と復元の敷居は高くなりますが、セキュリティと検閲耐性は両方とも高いです。

ニーモニックスキームの欠点
WEB3 が発展し続けるにつれて、ますます多くの需要とアプリケーション シナリオが出現し、特に 2021 年の Defi Summer には資産を On に移行するために元々取引所でのみ取引していた多くのユーザーが集まりました。 2022 年 3 月の時点で、MetaMask の月間アクティブ ユーザーは 3,000 万人に達しました。しかし、同時に、ニーモニック フレーズは最も主流のニーモニック アカウント回復ソリューションとしてハッカーの主な標的となっています。一般ユーザーにとっては、最も一般的なものです。ウォレットの盗難事件とは、ニーモニック フレーズがクリップボードにコピーされるか、ローカルに保存されている秘密キー ファイルがフィッシング Web サイトによって盗まれることです。
ハッカーは攻撃するとき、攻撃のコストと得られる報酬を測定する必要があります。すべての秘密キー (12 個のニーモニック ワード) は辞書のサブセットであり、辞書が使い果たされている限り、ハッカーは辞書上のすべての資産を取得できます。鎖。 。ただし、辞書がすべての組み合わせを総当りアルゴリズムで配置すると、この入出力比は悪くなります。
現在主流の記憶単語は英単語12語、語彙数は合計2048語です。つまり、2048^12=5.44e39 種類 (5444517870735000000000000000000000000000);
このような巨大な計算能力が使用されれば、ハッカーはすでに 51% 攻撃を通じて BTC ネットワークを制御することができます。
したがって、ハッカーにとってより高い返戻率が得られる方法は、フィッシングを通じてユーザーのニーモニックフレーズを取得するか、ユーザーのローカルデバイスに保存されている秘密キーを盗むことです。
メタマスクの例を続けると、ハッカーが保存されたニーモニック フレーズと秘密キーを取得できる場所が 2 か所あります。
ニーモニックフレーズ
a. ウォレットを作成したら、ユーザーは生成されたニーモニックを保存する必要があります。一般的には、それを紙とペンでコピーして適切に保存することをお勧めします。ただし、クリップボードを使用する怠け者もいます。コピーしてドキュメントに貼り付けたり、WeChat チャット履歴に保存したりできます。
b. ハッカーがユーザーの電話/コンピュータにマルウェアをインストールし、ユーザーのクリップボードを常に監視している場合、新しく作成された秘密キーが盗まれる可能性があります。たとえば、QuickQ VPN はユーザーのクリップボードをコピーしてニーモニック フレーズを盗む行為にさらされていました。
秘密鍵
a. 同時に、メタマスクは通常、秘密キーを暗号化し、ウォレットが作成されるローカル デバイスに保存します。これにより、メタマスク プラグインが Chrome にインストールされている場合には、いつでも呼び出すことができます。
i. Windows 上の保管場所のメタマスクの秘密鍵保管アドレス:
C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn
ii. Mac の保存場所: [ライブラリ]>[アプリケーション サポート]>[Google]>[Chrome]>[デフォルト]>[ローカル拡張機能の設定]>[nkbihfbeogaeaoehlefnkodbefgpgknn]
b. Metamask のセキュリティは Chrome のセキュリティに依存します。Chrome のファイアウォールがハッカーによって突破されると、ハッカーはユーザーのアドレス秘密キーを取得し、すべての資産を転送することができます。これが、ハードウェアウォレットがメタマスクなどのプラグインウォレットよりも安全である理由です。
メタマスクに加えて、Solana での Slope ウォレット盗難事件のように、一部の非管理ウォレットは高い検閲耐性さえ達成していません。Slope のモバイル アプリケーションは、ファントム ウォレットの作成時に TLS 経由でニーモニック ワードを Sentry サーバーに送信しました。その後、クリア テキストで保存されます。つまり、Sentry にアクセスできる人は誰でもユーザーの秘密キーにアクセスできます。
さらに、私たちが反省する価値のあるウォレットセキュリティインシデントが他にもあります。
EOAアカウントが盗まれた
フェンブシ・キャピタル創業者の財布が盗まれる:
沈波氏のウォレット盗難の原因はニーモニックフレーズの漏洩で、盗難時に使用されたウォレットは約3,823万USDC、1,607ETH、72万USDT、4.13BTCでした。
Wintermute ウォレットが攻撃され、約 1 億 6,000 万米ドルが失われたのは、Wintermute がガス料金を節約するために Profanity を使用して Vanity ウォレットを作成したためです (スマート コントラクトを呼び出すときにガスを節約できる 0x0000000 で始まります)。
Profanity は、特殊文字で始まるアカウントや特殊文字で終わるアカウントなど、特殊な視覚効果を備えたアカウントを生成できるように設計されています。その一方で、多くのゼロで始まるアカウントを生成するためにこれを使用する開発者もいます。
Profanity が最初の 32 ビット秘密鍵 SeedPrivateKey を取得した後、必要なアカウント アドレスと衝突するために、固定アルゴリズムを通じて秘密鍵を最大 200 万回繰り返し繰り返します (値は 1inch が公開した記事から引用) 。 PublicKey がわかっている場合、SeedPrivateKey と Iterator を網羅的に列挙することで SeedPrivateKey を取得できます。計算量は約 2^32 の 200 万回であり、強力な計算能力を備えたグラフィックス カードであれば数日または数日で完了します。時間。
契約アカウントが盗まれた
Paraswap の契約展開アドレスが盗まれました:
SlowMist の調査レポートによると、ハッカー アドレス (0xf358..7036) は、ParaSwap Deployer と QANplatform Deployer の秘密キーのアクセス許可を取得しました。ハッカーは、ParaSwap Deployer から 1,000 ドルを引き出し、テストとして QANplatform デプロイヤーのアドレスとの間でそれを送金しました。私たちは AML プラットフォームを使用して 0xf358..7036 を分析したところ、ハッカーが SolaVerse Deployer や他の複数の美しいアドレスも盗んだことがわかりました。現在までに、ハッカーは 17 万ドル以上を盗んでいます。
Ronin Bridge は今年 3 月にハッキングされ、173,600 ETH と 2,550 万 USDC が失われました。
ハッカーは存在しない会社をでっち上げ、Linkedin と WhatsApp を通じてアクシーの上級エンジニアとつながり、新しい仕事の機会を誘い、面接を手配し、最終的には多額の給与を提示しました。 Axie システムに侵入し、盗んだエンジニアは、契約の EOA アドレス秘密鍵を展開します。
ニーモニック スキームはハッカーの主な標的であることに加えて、新規ユーザーが WEB3 に参入するのを妨げる敷居の高いものでもあります。
ウォレットを作成するときは、セキュリティ上の理由から 12 個の単語を手動でコピーする必要があります。このホワイト ペーパーの写真を撮って保存しないことをお勧めします。信頼できるオープンソースのパスワード保存ソフトウェア (1password など) を使用しても、クリップボードが盗難される危険性があるため、便利なコピー&ペースト保存は使用できません。
ウォレットを復元するとき、つまりログインデバイスを変更するときは、このホワイトペーパーをめくって 12 個の単語を再入力する必要があります。
12 個の単語が書かれた白い紙を保管するのは、非常に信頼性が低く、Web に反するように思えます 3: 私たちはメタバースの未来に住むことを楽しみにしていますが、アカウントのセキュリティは宋の時代に発明された白い紙に依存しています。この時点で、これら 2 つの手順は、ほとんどの Web2 プレーヤーを思いとどまらせるのに十分です。結局のところ、Web2 の世界では、ほとんどの登録プロセスは Google アカウント/iOS アカウントを使用してワンクリックでログインできます。
単語を覚えなくてもアカウントを復元できる新しいソリューション
ウォレットの敷居を下げ、より多くのユーザーをWEB3に誘導するには、ウォレットのセキュリティと検閲耐性を損なうことなく、Web2などのソーシャルアカウントログインソリューションを使用する必要があります。したがって、より便利で安全なアカウント回復ソリューションが必要です。現在の議論はすべて、無力な記憶という終わりを示しています。現在、Helpless Word の実装ソリューションには、MPC ソリューションと社会的回復ソリューションの 2 つがあります。
MPC ソリューション: 秘密キーは複数の関係者によって計算および生成されるため、ユーザーの秘密キーの紛失/盗難によって引き起こされる単一点事故が回避されます。
これは次のように理解できます: MPC は 3FA であり、ドア ロックには個別のキーがありません。キーのフラグメントの 1 つが紛失した場合、ユーザーは他の認証方法を使用して紛失したキーを回復できます。 .鍵の断片
ソーシャルリカバリソリューション: マルチ署名/シングル署名ソリューションを通じて EOA ウォレットによって管理されるスマート コントラクトに資金を保管し、信頼できるサードパーティのガーディアンを指定します。EOA ウォレットの秘密キーが紛失した場合、サードパーティのガーディアンが代わりを務めます。コントラクトの制御なので、ユーザーはニーモニックフレーズを保存する必要はありません。
現在の議論では通常、ソーシャル リカバリとアカウント抽象化ウォレットが並行して議論されていますが、ソーシャル リカバリ ソリューションは 2019 年に EIP-2429 によって提案されたスマート コントラクトの標準および機能であり、ユーザーがガーディアンを通じてコントラクトを制御できることを意味します。秘密キーは置き換えられます。最近話題になっている EIP-4337 は、次の章で説明するアカウントの抽象化に関する議論です。
MPCソリューション
MPC ソリューションは、EOA ウォレットを作成するときに、複数の当事者が共同で秘密キーのフラグメントを作成するというものです。 2019 年、CRYPTO 2019 で論文「安全なマルチパーティ計算に基づく 2 パーティ楕円曲線デジタル署名」が発表され、MPC の実装が正式にみんなの視野に入ってきました。 MPC は Secure Multi-Party Computation の略です。
マルチパーティ コンピューテーション (MPC) は、約 40 年前に Andrew C. Yao の先駆的な研究から始まった暗号化の一分野です。マルチパーティ計算を使用すると、秘密キーの生成を 1 つの時点で完了する必要がなくなり、相互に信頼していない複数のパーティ (n パーティ) のグループ (n 個の断片化された秘密キー) によって計算および保持できるようになります。このテクノロジーは DKG (分散キー生成) です。
分散キーの生成は、さまざまなタイプのアクセス構造を許可する方法で実行できます。通常の「n 個のうち t 個」(n 個のうち t 個の秘密鍵フラグメントが署名に参加している限り、有効な署名は証明できます)セットアップセキュリティを損なうことなく、秘密キーに関連する操作における任意の失敗まで許容できます。
しきい値署名スキーム (TSS) は、分散キー生成 (DKG) と分散署名の組み合わせに与えられた名前です。
同時に、一方の当事者の秘密キーの断片が紛失または漏洩した場合、MPC ソリューションは秘密キーの断片の回復と置換をサポートし、アカウントを変更せずにアカウントのセキュリティを確保します。
MPC ソリューションは、複数の関係者による秘密キーのフラグメントの共同生成/保持と、「t out of n」TSS しきい値署名スキームを通じて、完全な秘密キーがアカウントの作成、使用、保存、バックアップ、およびリカバリの際に現れないことを保証します。メタマスクよりも優れたレベルに達しており、秘密鍵ウォレットを 1 か所で生成/保持する方が便利です。セキュリティと検閲への耐性: 従来のニーモニック フレーズ ソリューションと比較して、ユーザーのセキュリティが大幅に向上し、ハードウェア ウォレットにも匹敵します。
安全性
a. 秘密キー/ニーモニック フレーズがない: ウォレット生成プロセス中に、各当事者 (ウォレット プロジェクトの当事者とユーザー) が MPC を通じて秘密キーのフラグメントを生成します。MPC はプロセス全体を通じて決して出現しないことがわかります。プライベートキーレスウォレット。
b. ハッキング攻撃のコストが大幅に増加します: ハッカーがユーザーのローカル デバイスに侵入したとしても、秘密キーの断片しか入手できません。ハッカーがウォレットのサーバーとユーザーのローカルデバイスをマスターした場合にのみ、ユーザーの財産を盗むことができます。
しきい値:
ソーシャル ログイン: ユーザーは、電子メールなどの本人確認方法を使用して MPC ウォレットにアカウントを作成できます (MPC ウォレットが 2/2 署名スキームを採用している、つまり 2 つの秘密キーのフラグメントを同時に使用して署名できると想定しています)。
検閲への抵抗:
集中管理機関 (ウォレット側/バックアップデバイス) はアカウント秘密キーの断片のみを保持し、ユーザーのアカウントを制御することはできません。
社会的回復プログラム
ソーシャル リカバリ ソリューションは、スマート コントラクト アカウントにデプロイされます。スマート コントラクト ウォレットは、EOA アカウントを使用してチェーン上に資金を管理するためのコントラクトをデプロイするものとして理解できます。これは、デプロイヤーの EOA ウォレットと同じです。スマートコントラクトを制御する権利。
制御された EOA ウォレットには秘密キーがあるため、スマート コントラクト ウォレットは秘密キーのないソリューションではありません。
しかし、スマート コントラクト ウォレットは、ソーシャル リカバリ スキームを通じてユーザーの署名秘密鍵を変更することができます。
社会的回復の解決策は、鍵を紛失した後に保護者に交換を依頼することです。
EIP-2929提案から2年後、Vitalik氏は2021年のフォーラムで初めてソーシャル・リカバリ・ウォレットの適用事例を提案しました。
スマート コントラクト ウォレットを作成する場合、ユーザーは他の EOA アドレスを「ガーディアン」として指定できます。「ガーディアン」アドレスは確認のためにチェーンに署名し、ガス料金を支払う必要があります。
ユーザーの EOA アカウントは「署名用秘密キー」として機能し、トランザクションの承認に使用できます。
EOA アカウントには少なくとも 3 人 (またはそれ以上) の「保護者」が存在し、トランザクションを承認することはできませんが、「署名用秘密鍵」を変更することはできます。 「署名用秘密鍵」を変更するには、「保護者」が署名確認のためのガス料金を支払う必要もあります。
署名用秘密鍵には保護者を追加または削除する機能がありますが、プロセス全体にある程度の時間がかかります (通常 1 ~ 3 日)。
日常的な使用シナリオでは、ユーザーは通常のウォレットと同じようにソーシャルリカバリ機能を備えたスマートコントラクトウォレット(ArgentやLoopringなど)を使用し、署名キーでトランザクションを確認できます。このようにして、メタマスクなどの従来のウォレットと同様に、各トランザクションは 1 回の確認で迅速に完了します。
a. 秘密鍵を作成します。
アカウント抽象ウォレットは、秘密鍵の作成においてメタマスクと何ら変わりません。
b. 秘密鍵を保管します。
コントラクトを制御する EOA ウォレットは「署名秘密鍵」としてのみ使用され、ガーディアンを通じて制御を移管できるため、ユーザーはニーモニック フレーズを特別に保持する必要はありません。
c.秘密鍵を使用する
○ コントラクトウォレットも転送/トランザクションであり、コントラクトを呼び出す必要があるため、MPC ウォレットや従来のウォレットよりも高価になります。
○しかし、通話契約であるため、支払いにUSDC/USDTなどの非ネイティブトークンの使用をサポートしています(たとえば、イーサリアムのガス料金の支払いに使用されるネイティブトークンはETHです)。これにより、間違いなく困難が大幅に軽減されます。新しい Web3 プレーヤーのインタラクションの強化: 原則として、同じトランザクションで、プロジェクト チームがユーザーの USDC を ETH に交換し、ユーザーに代わってガス料金を支払います。
d. 秘密鍵をバックアップします。
アカウント抽象ウォレットの秘密キーのバックアップ手順は「ガーディアン」に置き換えられますが、これは直感に反し、コストがかかります。
① ユーザーは初めて web3 を使用し、ウォレットを登録したいと考えていますが、既に web3 で EOA ウォレットを持っている信頼できる友人 3 人を見つけて、保護者になるためのガス料金を支払うように依頼する必要があります。
② ユーザーが友人のガス料金を補いたい場合、新しく作成したウォレットを使用して 3 回の送金を行う場合、ウォレットの作成には合計 6 回のガス料金を支払う必要があります。MPC ウォレットのアカウント作成には費用はかかりません。
e.秘密鍵を復元する
ユーザーが署名キーを紛失した場合、ソーシャル回復機能の使用をリクエストできます。ユーザーは保護者に連絡して特別なトランザクションに署名し(ガス料金はユーザーまたは保護者が支払います)、ウォレット契約に登録されている署名公開鍵を新しい署名に変更するように依頼する必要があります。これは非常に簡単です。保護者は、security.loopring などの Web ページにアクセスして、回復リクエストを表示し、署名することができます。
ただし、秘密キーのセキュリティは MPC ウォレットのレベルには達しません。
攻撃を受けるコスト: ハッカーは、ユーザーのデバイスに侵入することで完全な秘密キーを入手できます。言い換えれば、スマート コントラクト ウォレットを使用しているユーザーには、秘密キーが失われた場合に秘密キーを取得する方法が 1 つだけあります。
検閲耐性が低い:社会回復プログラムでは「保護者」の指定が必要なため、「保護者」同士が共謀して悪事を働く可能性がある。
社会的回復の主なリスクは次のとおりです。
① 共謀: 一部のユーザーが自分が回復に参加していることを知っている場合、回復攻撃の実行に興味を持つ可能性があります。
②ターゲット攻撃: 外部エージェントは回復の所有者を知っており、回復攻撃を実行するために必要な最も弱いポイントをターゲットにする可能性があります。
③ 一般的な暴露: 攻撃者が大規模なユーザー ベース環境の依存関係に感染し、複数の ID へのアクセスを取得した場合、回復を通じて影響を受けていないユーザーにも副作用が生じる可能性があります。
MPC ソリューションと社会的回復ソリューション: セキュリティ、閾値、検閲耐性

大量導入の未来: Web3 ウォレット
無力なアカウント回復ソリューションを使用すると、新世代の Web3 ウォレット、つまり電子メールを使用して登録およびログインできるウォレットが期待できます。 MPCウォレットとアカウントアブストラクトウォレットの代表的なプロジェクトをそれぞれ分析対象として選択しました。ユーザーアクセスの観点からは、ワードレスメモリの低い閾値に達しています。セキュリティと検閲耐性の観点から個別に評価しました。
#ビチゼン
MPC ウォレットの中でも検閲対策と利便性がより徹底されている Bitizen ウォレットは、2/3 TSS ソリューションを採用しています。ウォレットのセキュリティと検閲対策の観点から分析してみましょう。
安全性:
a.作成
強力な監査可能性を実現するために、ウォレットの登録完了後、ユーザーは 2/3TSS ソリューション (Bitizen サーバー、ユーザーのローカル デバイス、およびユーザーの 2 番目のデバイス) を使用して、Bluetooth 経由で 2 番目のデバイスを使用して秘密キーのフラグメントをバックアップできます。
b.保管
完全な秘密キーはウォレット作成プロセス中に生成されないため、ニーモニックはありません。ユーザーの Bitizen アカウントはユーザーのクラウド ディスクと電子メールに関連付けられ、ユーザーは通常 Bitizen ウォレットを使用するために電子メール経由でログインするだけで済みます。 。
c.使用
① ユーザーは、署名用の顔認識認証を通じて、Bitizen クラウドに保存されている秘密鍵フラグメントとローカルデバイスに保存されている秘密鍵フラグメントを取得できます (2/3)。
②2台目のデバイスがBluetooth経由で秘密鍵フラグメントをバックアップした後、完全にオフラインで保存できるため、平日に使用する必要はありません(署名にはBitizenのサーバーとユーザーのメインデバイスのみが完了する必要があります)。
d.バックアップ
① ローカル秘密鍵のフラグメントをユーザーのクラウド ディスクにバックアップします。
② ユーザーがログインするデバイスを変更する必要がある場合、電子メールと顔による認証のみが必要です。Bitizen はユーザーに、クラウド ディスクから秘密鍵フラグメントのバックアップを復元するように要求します。
e.回復
①同様に、ユーザーのデバイスが Bitizen のローカル ファイルを紛失または誤って削除した場合、秘密キーの断片はクラウド ディスクを通じて復元できます。
② ユーザーがクラウドディスクにログインすらできない場合、Bitizen はサーバー上の秘密鍵フラグメントとユーザーの 2 番目のバックアップデバイスを通じて秘密鍵フラグメントを再計算し、ユーザーが通常の使用を再開できるようにします。

出典: Bitizen 検閲への抵抗:
TSS ソリューションの 2/3 により、ユーザーは自分のウォレットを完全に制御できます (秘密鍵のフラグメントの 2/3 はユーザーの手に渡ります)。たとえ Bitizen が破産したり逃亡したとしても、ユーザーは引き続き通常の制御を実行できます。彼らの財布の上で。
#ユニパス
アカウント抽象ウォレットでは、Unipass を例に挙げ、スマート コントラクト + MPC ウォレットのアプローチを採用し、次の 2 つのソリューションの利点を組み合わせています。
トランザクションでは、ウォレットでサポートされている任意のトークン (主流の流動性の高いトークン) を使用してガス料金を支払うことができます。
秘密鍵の保管に関しては、MPC (2/2) および TSS テクノロジーを使用して秘密鍵を分散方式で生成します。そのため、秘密鍵が 1 つのポイント (秘密鍵) でハッカーによって取得される可能性はありません。キーは 2 つの部分に分割され、1 つの部分はサーバー上の Unipass に保存され、コピーがユーザーのローカル デバイスに保存されます。
秘密キーを回復するために、Unipass は DomainKeys Identified Mail (DKIM) ソリューションを使用します。ユーザーは、他の EOA アドレスの代わりに電子メール アドレスを「保護者」として使用できます。これにより、ユーザーが保護者を見つけるためのしきい値が大幅に減少します。保護者が使用する必要はありません。ブロックチェーンには保護者のメールアドレスのみが必要です。

出典: Unipass
閾値が低い —> 適用性が高い
低しきい値のウォレットはウォレット アプリケーションの終わりではありません。現在の Web3 インフラストラクチャは、Web2 の従来の金融に比べてまだはるかに遅れています。 Visaが提供する自動引き落としや定期自動支払い機能はユーザーに大きな利便性をもたらしますが、イーサリアム上での実装は依然として困難です。アカウント抽象化アカウントは、次に適用性の高いブロックチェーン ウォレットの物語となる可能性があります。ビザは、アカウント抽象化ウォレットの使用を検討する記事「自己保管ウォレットの自動支払い」を公開しました。アージェントは StarNet ネットワークに実装します。自動化されたプログラム可能な支払いにより、ユーザーは支払いを自動化できます。すべてのトランザクションに署名する必要がなく、自己ホスト型ウォレットを使用できます。アカウント抽象ウォレットはどのように実装されますか?実はこの概念の起源はずっと昔にあります。
アカウントの抽象化 - EIP-2938 から EIP-4337 まで
EIP-4337 の提案により、アカウント抽象化の話題が再び注目を集めるようになりました。ソーシャルリカバリソリューションとアカウント抽象化(スマートコントラクトをEOAウォレットとして使用する、つまりアカウント抽象化)はEIP-1271よりも早く提案されており、StarkNetなどのレイヤー2のArgentなどのウォレットによって実装されています。ソリューションは最近コミュニティで活発に議論されていますが、その違い (アカウントの抽象化) は何ですか?
2015 年の EIP-86 から最近のホットスポット EIP-4337 まで、開発者の中心的な考え方は「コントラクトはウォレットである」を中心に展開しており、アカウントの抽象化により、ユーザーは直感的な方法でメイン ネットワークと対話できるようになります。これにより、ユーザーは自分のアカウントの主要な権限を正確に制御できるようになります。 EOAアカウントのコードが規定されているため、EOAウォレット上で一括転送・ソーシャルリカバリなどの機能追加などのモジュール化・機能設計ができないため、スマートコントラクトに皆が注目しています。 EIP-4337 に最も近い提案は EIP-2938 です。EIP-2938 も新しいスマート コントラクト操作プロトコルを定義していますが、コンセンサス層で変更する必要があるため、開発者が EIP-4337 の主な革新を維持することが困難になります。それは、メインネットはコンセンサスレベルのプロトコル変更を必要としないことです。
EIP-1237 では、コントラクト アドレスの署名開始は集中型リレイヤーの署名に依存する必要があり、リレイヤーは集中型であり、各リレイヤー間の規格が異なり、マルチチェーン/マルチ dAPP と互換性がありません。 ;
EIP-4337 では、Relayer を Bunbler に置き換えることが提案されています。Bundler は分散型マルチパーティであり、スマート コントラクト ウォレットの検閲耐性を向上させ、署名標準を統一することで、開発者にとっての統合の難しさを大幅に軽減できます。
EIP-4337 は将来的に影響を及ぼしますが、現時点ではユーザー エクスペリエンスは向上しません。したがって、このソリューションについて議論する熱意は VC と開発者に限定されており、VC や他の投資家や開発者コミュニティが熱心になるのは、この Layer1 が Solidity で書かれているのか、それとも Move で書かれているのかということです。ユーザーエクスペリエンスはまだあまり変わっていません。
① 結局のところ、アカウント抽象化ウォレットである Argent は、2018 年以来 5,620 万米ドルの資金調達を完了しました。 4 年間の開発の後、アドレスは 740,000 しかありません。 defi の台頭直後、通貨サークルのユーザーは defi から乗り換えました。 Metamask の台頭は、APY 鉱山の高さによるものです。現時点では、スマート コントラクト ウォレットの流行にはまだ新しい触媒が必要です。

出典: デューン ②現在のユーザーのArgentへの入金額は融資額ほど大きくない

出典: デューン ③しかし、イーサリアムメインネットワークのアカウント抽象化提案の実装により、Argent ユーザーは StarkNet からイーサリアムメインネットワークにシームレスに接続できるようになります。このプロセスで点火される火花も期待に値します。
使用例
①パーミッション制御の洗練:EOAの単一署名パーミッションを洗練:
▽契約でユーザーAにX TokenBの転送制限を与える
▽ユーザー契約Bの承認済みtokenCに転送権限の代わりにトランザクション権限を付与
▽長期間契約が利用されなかった場合、契約の使用権は自動的に譲渡されます
② ガスの支払い方法の多様化:他者による支払いまたは任意のトークンでの支払い
③自動引き落とし・自動返金
Web3 の未来を受け入れる
決まり文句ですが、Web2 ユーザーは 48 億人で、Web3 ユーザーは 2022 年に 1 億人を超えたところです。私たちはまだブロックチェーン開発の初期段階にあります。

記事の冒頭の質問に戻ると、「自分の資産に対してどの程度のリスクと責任を負うことができますか?」ということですが、秘密鍵を覚えていなくても、ウォレットを紛失しないようにできるでしょうか?
VC からの伝統的な質問をよく耳にします。Web3 だけが実行でき、Web2 には実行できないシナリオはありますか?私たちは、Web3 ウォレットが従来の Web2 を打ち破る例であると信じています。Web3 の分散型ネットワークにおいてのみ、検閲耐性、セキュリティ、ユーザー エクスペリエンスを満たす優れたウォレットが期待できます。ユーザーはリスクを負う必要も、リスクを負う必要もありません。責任。このようなウォレットの出現は、47 億人の Web2 ユーザーが Web3 の将来を受け入れるための重要な基盤でもあります。ウォレットは Web3 への最初の入り口であるだけでなく、チェーン上のドメイン名 (ENS など) でもあります。魂に縛られたトークン (Soul-Bounded Token)、オンチェーン評判システム (分散型識別子) の開発の基礎、安全なウォレット環境がなければ、Web3 Lego の構築は強固な基盤を持ちません。
私たちはもっと真剣に考える必要があります。MPC は、EOA ウォレットがより使いやすく、現在のすべての EVM チェーンに適応できる未来を示してくれました。スマートコントラクトが dAPP に接続されるまでにはまだ長い道のりがあります。現時点では、スマートコントラクトの将来の可能性は非常に興味深いものです。この答えには現金を渡してください。
2022 年は仮想通貨にとって暗い年ですが、私たちはまだ未来は明るいと信じています。私たちは World of Warcraft で目覚めたウォーロックであり、(提案が投票で可決されない限り) 誰も私たちの命を奪うことのできない世界を作りたいと考えています。

声明: この記事の一部は、Web3 ウォレット Bitizen の CEO である Winson へのインタビューに基づいています。Bitizen は RedlineDAO のポートフォリオの 1 つです。この記事をサポートしてくれた Bitizen と Winson に感謝します。
参考文献
しきい値署名の説明: https://www.wwsww.cn/btbjiaoxue/1273.html
Web2 ユーザーを Web3 に取り込む - 未来は無力なワード ウォレットに属します: https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
ブテリン: なぜ社会的回復ウォレットを広く導入する必要があるのでしょうか? :https://www.163.com/dy/article/GNQ4K9D905373E94.html
非保管型の Solana ウォレット Phantom がハッキングされ、複数のユーザーの資金が盗まれました: https://chainfeeds.xyz/search
Fenbushi Capital 創設パートナー Shen Bo 氏: 4,200 万相当の個人資産が盗まれ、事件が報告されています: https://chainfeeds.xyz/feed/flash/detail/7a02d517-5a54-4892-a42a-ac519406da12
Wintermute は DeFi ハッキングで 1 億 6,000 万ドルを失いました: https://chainfeeds.xyz/feed/flash/detail/39c24b5e-693c-49a1-bf5c-ec04b829f8b6
ParaSwap コントラクト展開アドレスの秘密キーが漏洩し、チェーン上の資金が盗まれた可能性があります: https://chainfeeds.xyz/feed/flash/detail/04c9a5d2-6e86-4207-9b1d-913eced8d2a7
Ronin クロスチェーン ブリッジが盗まれた理由: https://chainfeeds.xyz/feed/flash/detail/7a810726-80eb-4fef-a40b-a38c3c9f9738
無断転載を禁じます。




