イーサリアムの目に見えない決済プロトコルUmbraを理解するための記事
編集者注: この記事は以下から引用しましたバビット情報(ID:bitcoin8btc)編集者注: この記事は以下から引用しました
バビット情報(ID:bitcoin8btc)
バビット情報(ID:bitcoin8btc)
、マット・ソロモンとベン・ディフランチェスコ著、Free and Easyによって翻訳され、許可を得て出版されています。
今年4月初め、イーサリアムの共同創設者ヴィタリック・ブテリン氏はツイッターで、イーサリアムのエコシステムはプライバシー問題を早急に解決する必要があると明言し、その主な理由はENSドメイン名の人気が大きなプライバシー問題をもたらしているためだと述べた。イーサリアムユーザー. そして、Defiエコロジーの継続的な発展に伴い、この問題の深刻さはますます顕著になるでしょう。 Vitalik 氏が言及した tornado.cash プロジェクトに加えて、シンプルな Ethereum の目に見えない支払いプロトコルが最近登場し、その名前は Umbra です。
それで、それは何に使われるのでしょうか?シンプルにこう言います。
「ステルスアドレスを使用すると、支払者は受信者が管理するアドレスにETHまたはERC20トークンを送信でき、両者以外の第三者は受信者を知ることができません。」
画像の説明
図: Etherscan で Umbra プロトコルを使用した ETH トランザクションの表示。オンチェーンのステルス アドレスは、通常の EOA アドレスとまったく同じように見えます。
オフチェーンでは、送信者は ENS を使用して、受信者の公開された公開キーを使用して新しいアドレスを生成しました。アドレスの生成に使用されるデータを暗号化し、Umbra スマート コントラクト経由で通知することで、送信者は受信者に新しいステルス アドレスに支払いを送ったことを知らせることができます。そして、資金を引き出すために必要な秘密鍵を生成できるのは受信者だけです。
画像の説明
図: Umbra インターフェイス、ropsten.umbra.cash 経由でアクセス可能、現在 Ropsten テストネットでのみ利用可能
ガソリン スタンド ネットワークと Uniswap を活用することで、Umbra は引き出し者が受け取ったトークンを使用してガソリン代を支払うことを可能にします。これにより、引き出す前にステルス アドレスに ETH を入金する必要がなくなります。
アンブラとトルネードキャッシュの違い
では、Vitalik がよく言及する Umbra と Tornado Cash の違いは何でしょうか?
簡単に言うと、Tornado Cash はゼロ知識証明を使用するオンチェーン コイン ミキサーです。コインを入れて他の人が同じことをするのを待つと、自分の証明を使って資産を引き出すことができます。ミキサーに集中されているため、送信元アドレスと引き出しアドレス間のリンクは切断されます。
Umbra プロトコルは 2 つのエンティティ間の支払いに使用され、さまざまなプライバシー トレードオフ (つまり、考慮される方向が異なります) が伴います。Umbra は、送信者アドレスと受信者アドレス間のリンクを切断しませんが、リンクを無意味にします。資金がどのアドレスに送られたのかは誰もが知ることができますが、そのアドレスを誰が管理しているのかを知る方法はありません。
これらに加えて、Umbra プロトコルには非常に興味深い機能もいくつかあります。たとえば、チェーン上で高度な暗号化テクノロジを検証する必要がなく、すべてのトランザクションが単純な転送であるため、使用するガスが大幅に少なくなります。さらに、大規模な匿名性セットに依存することなく、ETH および任意の ERC20 トークンを非公開で転送できるようになります。
Umbra プロトコルの動作原理の説明
最後に、Umbra プロトコルがどのように実装されているかについて簡単に説明します。
ユーザーは、Umbra 公開キーを明らかにする署名付きメッセージを ENS テキスト レコードに投稿します。この公開キーは、Umbra 専用に生成されたランダムな秘密キーから派生します。
支払者は、この公開キーとランダムに生成されたデータを使用して、新しい「ステルス」アドレスを作成します。
支払者は受信者の公開鍵を使用してランダム データを暗号化します。
支払者は、シールドされたアドレスに資金を送信し、暗号化されたメッセージを Umbra のスマート コントラクトに送信します。コントラクトは、暗号化されたメッセージをイベントとしてブロードキャストします。
受信者は、秘密キーで復号化できるメッセージが見つかるまで、Umbra プロトコルによってブロードキャストされた暗号化メッセージをスキャンします。
受信者は、暗号化されたメッセージの内容と秘密キーを使用して、ステルス アドレスの秘密キーを生成します。


