Secret Networkの詳細解説:プログラム可能なプライバシー公チェーンとは?
執筆:0x76/リズムBlockBeats
ブロックチェーン業界において、プライバシーは常に非常に混乱した概念です。したがって、今日のプライバシープロジェクトであるSecret Networkを紹介する前に、プライバシーに関連する概念を再整理する必要があります。
この記事は二部構成になっており、第一部ではプライバシーおよび関連する主要な概念を再考します。第二部では、業界で初めて実用的でプライバシープログラミングをサポートするパブリックチェーンであるSecret Networkを直接使って、他のパブリックチェーンとの違いを見ていきます。
プライバシーについて議論する際、私たちは何を議論しているのか?
プライバシーは、ビットコインの誕生以来、暗号業界のラベルとして常に存在してきました。中本聡もビットコインのホワイトペーパーでプライバシー問題について一章を設けて議論しました。しかし、ビットコインが提供するプライバシーは、私たちの日常生活におけるプライバシーの意味に本当に合致しているのでしょうか?
自然に匿名のアカウント
私たちは、現在ビットコインやイーサリアムを代表とする主流のブロックチェーンネットワークの最も重要な特徴の一つが、すべての取引記録が完全に公開され、検証可能であることを知っています。そして、ユーザーがこの極端に透明な環境の中で一定のプライバシーを保つことができる唯一の理由は、その独特のアカウント登録メカニズムにあります。
どんなアカウントシステムにおいても、最も重要な仕事はアカウントの重複を防ぐことです。なぜなら、重複が発生すると、それに関連する情報や資産の権利が争われ、システム全体に深刻な混乱を引き起こすからです。データベースの各テーブルの主キーのように、システム内のアカウントは一意性を保証しなければ、システム全体が正常に機能しません。
したがって、一般的なアカウントシステムには、必ず中央集権的なノードが存在し、新しいアカウントの登録を担当して、システム内の各アカウントの一意性を保証する必要があります。しかし、ビットコインは完全な非中央集権を実現する必要があるため、他の解決策を採用しなければなりません。
私たちが知っているように、中本聡が最終的に提示した答えは、各ユーザーがランダムアルゴリズムを使用して独立してアドレスを生成することです。では、ランダムアルゴリズムはどのようにしてアドレスの重複を防ぐのでしょうか?答えは、根本的に防ぐことはできないということです。私たちができるのは、確率的にアドレスの重複の可能性を十分に低く抑え、最終的にこの非中央集権的な確率的決定性が中央集権的な登録メカニズムの最終的な決定性に取って代わることです。
このような生成メカニズムが完全にランダムであるため、すべてのアドレスは先天的な匿名性を持っています。この匿名性こそが、私たちが初期にしばしば語っていたプライバシーです。
しかし、アドレスの匿名性を通じてプライバシーを保護することには二つの重要な欠陥があります。一つは匿名性の不可逆性であり、一度アドレスの真の身元が暴露されると、その匿名性の喪失は不可逆的です。
もう一つの特徴は、アドレスの匿名性を維持する作業が完全にチェーン外の事柄であるということです。つまり、アドレスが生成された後、匿名性を維持する作業はすべてチェーン外の保有者が担当し、ブロックチェーンシステムは関連する事柄について何も知らず、無力です。
このような状況下で、初期のオンチェーンプライバシー解決策は、アカウントを削除して再作成し、新しい匿名アドレスと古いアドレスの関係を断つことで、ユーザーが匿名性を回復する手助けをするしかありませんでした。
私たちがよく知っている初期のプライバシープロジェクト、例えばTornado.cashやダッシュ(Dash)、モネロ(XMR, Monero)、ゼロコイン(ZEC, Zcash)などのプライバシーパブリックチェーンも、基本的にはこの考え方に基づいて設計されています。
匿名アカウントシステムの崩壊
しかし、ブロックチェーン技術がビットコイン時代からイーサリアムを代表とするスマートコントラクト時代に移行するにつれて、新たに誕生したさまざまなアプリケーションが、従来の匿名アカウントシステムに対してますます大きな影響を与えています。
初期のアドレスは単に購入した暗号通貨を保存するためだけに使用されていました。しかし、今日では、これらのアドレスを使用してNFTのアバターを購入したり、ソーシャルアカウントに関連付けたり、ドメイン名を保持したり、ゲームアイテムを保持したり、さらにはMirrorの記事を公開したりする必要があります。これらすべての活動は、これらのアドレスの匿名性を維持するコストをますます高くし、再度アカウントを削除して再作成する作業もますます複雑になり、ほぼ不可能になっています。
したがって、私たちは突然、単純な匿名アドレスが新時代のユーザーの使用ニーズをもはや満たさなくなったことに気づき、より先進的なプライバシー解決策が必要です。
本当のプライバシーとは?
プライバシーの定義について、私たちは学術的な議論を行うことはありません。ここでは、日常生活におけるプライバシーの一般的な理解をそのまま使用します。私たちが日常生活で言及するプライバシーは、人々が毎日マスクを着用して生活することではなく、たとえ私たちが身元を公開しても、必要なときには自分のプライベートな空間を持ち、プライベートな取引を行うことができるということです。
ブロックチェーンに関連付けると、私たちが必要とするプライバシーは、次のような形態が理想です。たとえ私のアドレスが公開された実名アドレスであっても、私は自分の必要に応じて、保有している資産の数量を隠し、DeFiプロトコルと相互作用する際に情報が公開されることを心配せず、購入したNFTが自分のアドレスに存在していても、自分の意志に基づいて公開するかどうかを選択できるのです。
このようなニーズに対して、従来のスマートコントラクトをサポートしないプライバシーパブリックチェーンは明らかに無力です。私たちはこの使命を果たすために、新しいプログラム可能なプライバシーパブリックチェーンが必要です。
プログラム可能なプライバシーパブリックチェーン
現在の市場には、スマートコントラクトをサポートし、パブリックチェーン上で発生する取引のプライバシーをカスタマイズできるパブリックチェーンが二つあります。一つはOasis Labsが提供するプライバシープログラミング向けのCipher Paratime、もう一つはCosmosエコシステム内のプライバシーパブリックチェーンであるSecret Networkです。
もちろん、以下で説明するのは、現在エコシステムが初期の規模を持ち、実際に使用可能なSecret Networkです。Oasis Labsのプライバシー製品は、依然として利用可能なアプリケーションが不足しているため、後で機会があれば紹介します。
(注:Oasisネットワークには異なるParatimeがあり、Paratimeの概念を理解していない読者は、まずイーサリアムの異なるRollupとして簡単に理解できます。多くのユーザーが接触したのは、その中のEVM互換版であるEmerald Paratimeだけであり、実際にプライバシープログラミングをサポートするCipher Paratimeは現在成熟していません。)
Secret Networkの発展の歴史:イーサリアムからCosmosエコシステムのアプリケーションチェーンへ
Secret Networkプロジェクトの初期名称はEnigmaで、最初はイーサリアムエコシステムに依存して開発を希望していました。しかし、性能のボトルネックに直面した後、技術的な路線を調整し、Cosmos SDKを使用して独立したプライバシー計算をサポートするパブリックチェーンを開発することにしました。このパブリックチェーンが現在のSecret Networkです。
もちろん、Cosmosエコシステムの一員として、Secret NetworkはIBCクロスチェーンプロトコルをシームレスに統合でき、Cosmosエコシステム内の他のパブリックチェーンと簡単に相互作用できます。
Secret Networkのプライバシー機能の実践
以前、多くのプライバシープロジェクトの紹介記事は、いくつかの似て非なる壮大な概念を使用することが好きで、事実を明確にするためではなく、混乱を招くことを望んでいました。したがって、この記事の後半では、実際の操作を通じて、読者にプログラム可能なプライバシーとは何かを直感的に紹介します。
まず、Secretは他のスマートコントラクトプラットフォーム型パブリックチェーンと同様に、独自のネイティブトークンであるSCRTを持っています。このトークンは、Secretネットワークの取引手数料の支払いおよびPoSステーキングに使用できます。他のスマートコントラクトプラットフォーム(例えばJuno)と同様に、SCRTの送金記録は完全に透明で公開されており、検証可能です。したがって、プライバシー属性はありません。
しかし、Junoとは異なり、Secret Networkには特別なプライバシートークンが存在し、私たちはこれをsTokenと呼びます。すべての通常のトークンはsTokenにパッケージ化され、プライバシー属性を得ることができます。
Keplrウォレットでも、他のパブリックチェーンがStakeとGovernanceの二つのオプションしか持たないのに対し、Secret Networkのガバナンスタブの下にはSecret SCRTボタンがあります。これをクリックすると、SecretからsSecretへの変換ページが表示されます。
このインターフェースでは、ウォレットに保有している非プライバシーSCRTトークンをプライバシー属性を持つsSCRTトークンに直接変換できます。
しかし、もしあなたが初めてsSCRTを使用する場合、変換が完了した後、ウォレットのインターフェースにはsSCRTの残高が直接表示されず、Loading…の状態が表示されることに気づくでしょう。
これは、Secret Networkでは、sTokenはすべての訪問者に対してデフォルトで不可視であり、アドレスの保有者を含めてです。sTokenの残高を確認するには、まずウォレットで取引を署名してViewing Keyを生成する必要があります。
このページを更新すると、システムは自動的に以下のAdd Token取引署名インターフェースをポップアップします。ここでのAdd TokenはsSCRTトークンを追加することを指し、インターフェースの上部にはsSCRTのコントラクトアドレスが表示されています。
Submitをクリックして送信すると、取引署名インターフェースに入ります。注意してください、任意の取引を署名するにはSCRTでガス代を支払う必要があり、sSCRTはガスとして使用できません。したがって、sSCRTを交換する際には、いくつかのSCRT残高を保持することを忘れないでください。
署名後、システムはあなたのウォレットにViewing Keyを生成します。対応するViewing Keyを持つウォレットは、関連するsTokenに対して照会、送金などのさまざまな操作を行う権限を持ちます。また、Viewing Keyの追加は一度きりで、後はウォレットを変更しない限り、再度Viewing Keyを計算する必要はありません。
SCRTがSecret Network内で唯一対応するプライバシートークンであるsSCRTを持つように、他のトークンがSecret Networkに入ると、個別のプライバシートークンsTokenを生成でき、各sTokenは唯一のコントラクトアドレスに対応します。
同様に、アカウントが初めて新しいsTokenを受け取るときも、取引を署名して新しいViewing Keyを生成する必要があります。そうしないと、sTokenの残高は正常に表示されません。
では、sTokenは使用時にどのようにユーザーのプライバシーを保護するのでしょうか?以下では、Mintscanブラウザを使用していくつかの一般的な取引を検証します。
(1)sTokenの送受信
あるアドレスがsTokenを支払うと、ブラウザに取引記録が残ります。sSCRTを支払う例を挙げると、ブラウザ内で支払い側のアドレスは公開されており、この取引がsSCRTコントラクトとの相互作用を含んでいることもわかりますが、受取側や取引金額は見えません。
次に受取側の状態を見てみましょう。ウォレットにこの資金が入っていることを確認した後、Mintscanを開くと、取引履歴には新しい取引が発生したことが表示されていません。したがって、誰も公開情報を通じて、あるアドレスがいついくらのsTokenを受け取ったかを確認することはできません。
(2)取引と交換
私たちはSecret Networkのネイティブ取引プラットフォームであるSecretSwapを使用して、0.1sSCRTをsATOMに交換します。
以下は、この取引がブラウザに記録されたものです。支払い側のアドレスは依然として表示されており、彼がsSCRTコントラクトと相互作用したことも推測できますが、彼が何をしたのか、どのトークンを交換したのか、金額はいくらだったのかは、公開記録から確認できません。
ただし、私たちが今回初めてsATOMを保有するため、ウォレットのインターフェースでは直接購入したsATOMの金額を見ることができず、Viewing Keyを作成するためにもう一度取引を署名する必要があります。
私たちは直接Secret Networkが公式に提供するsToken変換専用サイト(wrap.scrt.network)に行き、Keplrウォレットを接続します。
右側のsATOMの残高のところには、Viewing Keyがまだ作成されていないことを示す黄色のアイコンが表示されています。マウスを直接この部分にクリックすると、Viewing Keyを作成するための取引署名インターフェースがポップアップします。
署名が成功すると、インターフェースやKeplrウォレットプラグインでsATOMの残高を見ることができるようになります。
同時に、先ほどの署名操作は公開の取引記録を残します。あなたのアドレスとsATOMコントラクトアドレスが一度相互作用したことが表示されますが、具体的な相互作用の内容は判断できません。
以上が、sTokenを使用して支払いおよび取引を行う際にSecret Network上で生成される公開情報です。sTokenを使用することで、ユーザーは取引の重要な情報を選択的に隠し、ユーザーの重要な情報のプライバシーを保護することができます。
非プライバシー資産のブリッジ
私たちが先ほど見たように、Secret Networkは任意の資産をプライバシートークンに変換し、関連する取引情報を隠すことができます。では、ユーザーが自分のイーサリアムなどの他のパブリックチェーン資産にもこのプライバシー保護機能を持たせたい場合、資産をクロスチェーンするためにクロスチェーンブリッジを使用する必要があります。
Secret Networkの公式クロスチェーンブリッジには二つの重要なコンポーネントがあります。一つはIBCをサポートするクロスチェーンパッケージブリッジ、もう一つはイーサリアム、BSC、モネロのクロスチェーンをサポートする公式ブリッジです。
(1)IBCクロスチェーンパッケージブリッジ(https://wrap.scrt.network/)
このブリッジは、私たちが先ほどsATOMアドレスを確認する際に使用したアプリケーションで、ユーザーが普通のトークンをプライバシートークンに素早くパッケージ化するのを助けるだけでなく(中間の赤い枠)、IBCプロトコルを通じて異なるCosmosパブリックチェーン間で迅速な資産のクロスチェーン移転を行うこともできます(左側の赤い枠)。
インターフェースの左側の双方向矢印ボタンをクリックすると、IBCクロスチェーンのインターフェースが直接表示され、ここで資産をSecretに入れたり、Secretから出したりする操作ができます。
資産を預け入れた後、右側のWRAPボタンをクリックして、プライバシーバージョンのsTokenに変換できます。
(2)公式ブリッジ(https://bridge.scrt.network/)
Secret Networkの公式クロスチェーンブリッジは、イーサリアム、BSC、モネロの資産のクロスチェーンをサポートしており、そのクロスチェーン方法は通常のクロスチェーンブリッジと似ており、ここではデモを行いません。
トークン標準
Secret Networkは独自のプライバシートークン標準SNIP-20を確立しました。この標準はCosmosエコシステムのCW-20標準を改造したもので、主に元の標準のプライバシー機能を強化しています。さらに、プライバシー機能をサポートするSNIP-721標準もあり、プライバシーバージョンのNFT発行をサポートしています。
プログラム可能なプライバシーは一体何に役立つのか?
先ほどの簡単な体験を見た後、多くの読者が一つの重要な問題に気づいたかもしれません。それは、これらのプライバシーアプリケーションを操作するのは非常に面倒だということです。
私たちは、元のトークンとsTokenの間で頻繁に送金する必要があり、Viewing Keyを追加するために取引を何度も署名しなければなりません。しかし、これほど面倒な目的は何でしょうか?私のウォレットにいくらお金があるかを隠すこと以外に(正直言って、私のウォレットにはあまりお金がありませんが)、Secret Networkのプライバシー計算は私たちに何をもたらすのでしょうか?
1. MEVへの抵抗
もしあなたがイーサリアムで取引を行ったことがあるなら、サンドイッチ攻撃について聞いたことがあるでしょう。つまり、あなたが取引を署名する際、その取引がパッケージ化される前にメモリプール内で公開されるため、マイナーやアービトラージャーがあなたの取引の前に買いを入れ、あなたの取引が完了した後に売却することで、あなたの取引コストが上昇するのです。
しかし、Secret Networkでは、取引指示を隠すことができるため、マイナーやアービトラージボットはもはやMEVを抽出することができず、最終的な結果として、ユーザーは本当に公平な価格で必要な資産を購入できるのです。
2. プライバシーバージョンのNFT
Secret Network上のプライバシーバージョンのNFTも、sTokenと同様の機能を提供できます。たとえば、非常に貴重なCryptoPunkのようなNFTを購入した場合、他の人に見つかってフィッシング攻撃を受けることを心配するかもしれません。資産の安全を守るために、あなたはそれを隠すことを選択でき、他の人はあなたの公開アドレスであなたが持っているNFT資産を見ることができません。
(購入したNFTの右側の鍵ボタンをクリックすると、このNFTを表示するかどうかを調整できます)
同時に、Secret Network上のNFTも、チェーン上のメタデータを暗号化することを選択できます。NFTの鋳造者は、NFTの保有者だけが本当のメタデータアドレスを見て、鮮明な画像を表示できるように規定し、他のアドレスはぼやけた画像しか見ることができません。
たとえば、Secret Networkの最大のNFT取引プラットフォームであるstashhでは、左側の年齢確認ボタンをクリックすると、プライバシーバージョンのNFT製品を閲覧できます。
このようなNFTは、購入前にユーザーがぼやけた画像しか閲覧できず、実際に購入した後にのみ完全なNFTメタデータを見ることができます。
ただし、これらの製品は安くないため、ここで購入して皆さんにデモを行うことはありません。最後に、試してみたいユーザーに詐欺に注意するように警告します。これらのNFTのメタデータは完全に隠されているため、購入前に中身が何であるかを知ることはできません。
Secret Networkの主な問題は何か?
上記の簡単な体験を経て、私たちはSecret Networkに対する比較的直感的な体験を得ました。まず、Secret Networkは他のスマートコントラクトプラットフォームが持つ基本的な機能を備えており、一般的なアプリケーションの展開もサポートしています。
現在のSecret Networkエコシステムには、分散型取引プラットフォーム、さまざまなDeFiアプリケーション、NFTの鋳造および取引市場が含まれています。プライバシートークンsTokenを考慮しなければ、その体験は従来のスマートコントラクトパブリックチェーンと基本的に変わりません。
しかし、その欠点も明らかです。すなわち、プライバシーを保護するためのsTokenがユーザーのインタラクション体験に大きな影響を与えています。新しいユーザーは、プライバシーに関連する新しい概念を理解する必要があるだけでなく、プライバシートークンと非プライバシートークンの間で頻繁に変換する必要があります。明確なインセンティブや使用ニーズがなければ、一般のユーザーが継続的に使用するのは難しいかもしれません。
さらに、最近Secret Network上のDeFiアプリShade Protocolがエアドロップを行った結果、Secret Networkが完全に詰まってしまいました。メインネット上の取引確認速度が遅くなり、エアドロップを受け取るためにOsmosisからSCRTを引き出した多くのユーザーが、一、二日も跨いで資産を受け取れないという事態が発生しました。
一方のOsmosisでSCRTが支払われ、もう一方ではなかなか到着しないというのは、私がIBCクロスチェーンを使用する際に初めて経験した非常に悪い体験です(もちろん、これは主にSecret Networkの責任です)。チームはすぐに緊急更新を行いましたが、このような取引処理能力では、本当に大規模な使用にはまだかなりの距離があると思われます。
総じて、Secret Networkは依然として全体が開発初期のパブリックチェーンであり、そのエコシステムアプリケーションはユーザーに実際に実現可能なプライバシー計算製品を初歩的に体験させることができます。しかし、現在のインタラクション体験には多くの不足があり、引き続き発展と改善が必要です。