MetaMask Snapsは、MetaMaskを世界で最も拡張性の高いウォレットにするためのロードマップです。開発者として、まったく新しい方法でMetaMaskに機能やAPIを追加することができます。Web3開発者はこの成長の中核を担っており、本シリーズでは現在開発中の革新的なMetaMask Snapsを紹介することを目的としています。
ZK Nullifier Snap
Snapリポジトリ:https://github.com/piotr-roslaniec/ethbogota-2022
なぜ開発したのですか?
ZKエアドロップ、ZKメッセージボード、ZK投票など、一意性を必要とする次世代の仮名アプリを実現したいと考えています。そのためには、MetaMask Snapを起点とした、ウォレットとの緊密な統合が必要です。
技術的な実装について教えてください。
Snap内で任意のWASMを実行できる汎用Snapスクリプトを構築しました。次に、既存のRust署名コードにWASMバインディングを追加し、MetaMask Snapsの秘密鍵呼び出しと連携させました。その後、署名の決定論性を検証するためにZK-SNARKに入力するすべての適切なシグナルを出力します。
これにより効果的な一意の匿名識別子(匿名ヌリファイア)を作成できる理由については、こちらのブログ記事全文をご覧ください。
今後の実装ステップは何ですか?
現在Circomで記述中のZK証明、そして近日中にPLONKベースの言語を用いて、エンドツーエンドで統合したいと考えています。また、heyanonやstealthdropなどのアプリがリリース時に統合してくれることを期待しており、より多くの方に活用していただけることを願っています。
さらに、MetaMaskやLedgerなどのウォレットがコアライブラリに統合できるよう、私たちの発見を標準化するERCの作成も予定しています。
あなたとチームについて教えてください。
yush_gはPersonae Labsで次世代ZKアイデンティティを研究しており、オリジナル論文の執筆にも携わりました。Piotrは新しいウォレットプリミティブとゼロ知識技術の最先端に情熱を持つ優秀なエンジニアです。
MetaMask Snapsを最初に知ったのはいつで、どのような体験でしたか?
Piotrは大阪で開催されたDevconでMetaMask Snapsについて初めて知り、それ以来取り組んでいます。AayushはPiotrから今回のDevconでMetaMask Snapsを紹介されました。
MetaMask Snapsが他のウォレットと異なる点は何ですか?
ウォレット内での任意のWASM実行はまだ黎明期にあり、試せることをとても楽しみにしています。
MetaMask SnapsをMetaMaskで開発する体験はいかがですか?
開発はかなりスムーズで効率的です。ただし、ユーザーがMetaMask Snapsを使用するために通常のMetaMaskを無効にする必要があるなど、デプロイ面ではまだいくつかの課題があります。
MetaMask Snapsはあなたにとってどのような意味を持ちますか?
MetaMask Snapsは興味深い新しいウォレットプリミティブであり、新しい暗号アイデアを素早くプロトタイプできる点が非常に優れています。
MetaMask SnapsがWeb3空間にもたらす可能性についてどのようにお考えですか?
独自の暗号技術を展開できる能力は非常に強力だと考えています。たとえば、Ethereum上で検証可能な決定論的署名をデプロイする私たちのプロジェクトは、任意の匿名セット内での一意な投票、リンクされていないアカウントへの匿名エアドロップ、同じ匿名名で繰り返し投稿できるスレッドなどを実現します。
MetaMask Snapsに挑戦したい開発者へのアドバイスはありますか?
私たちは既存のRustコードをそのまま組み込めるよう、任意のWASMを実行できるSnapを設計しました。同様のことに興味がある方は、ぜひこちらのコードをご覧ください!
MetaMask Snapsで開発を始めよう
MetaMask Snapsを始めるには:
開発者ドキュメントをご確認ください
MetaMask Flaskをインストールしてください
MetaMask Snapsガイドをご覧ください
Twitter、GitHubディスカッション、Discordでつながりましょう
お近くで開催される次のハッカソンでも私たちのチームにご注目ください!Happy BUIDLing ⚒️
免責事項:MetaMask Snapsは一般的にConsensys Software以外のサードパーティによって開発されています。サードパーティが開発したMetaMask Snapsの使用は、ご自身の判断とリスクのもとで行われ、そのような活動から生じる損失や損害についてはお客様が単独で責任を負うことに同意したものとみなされます。Consensysはサードパーティが開発したMetaMask Snapsについて、口頭または書面による明示的・黙示的な保証を一切行わず、すべての責任を否認します。ブロックチェーン関連ソフトウェアの使用にはリスクが伴い、MetaMask Snapsを使用する際はそのリスクをすべてご自身で負うものとします。