Ethereum EIP-3074の簡単な分析: 一般ユーザーはETHなしでも信頼なくトランザクションを送信できる

Ethereum EIP-3074の簡単な分析: 一般ユーザーはETHなしでも信頼なくトランザクションを送信できる

元のタイトル: 「はじめに | EIP-3074 の紹介」
著者: lightclients
翻訳・校正:ミンミン&ア・ジアン

イーサリアムウォレットは近々大幅なアップグレードを受けるかもしれない。アップグレードが完了すると、通常のアカウント (EOA) はバッチ トランザクション、期限トランザクション、順序なしトランザクションなどを送信できるようになります。

私の 2 人の同僚 @SamWilsn と @adietrichs と私は、Ethereum のインタラクティブなエクスペリエンスを改善する方法に取り組んでいます。数回の反復を経て、EIP 3074: オペコード AUTH および AUTHCALL が完成しました。

これら 2 つのオペコードを使用するには、外部アカウントがオフチェーンでメッセージに署名し、そのメッセージをリレーに送信する必要があります。リレーは、署名と呼び出しデータをオンチェーン コントラクト (「呼び出し元」と呼ばれる) に送信します。呼び出し元のコントラクトは、最初にオペコード AUTH を使用して署名を検証し、次にオペコード AUTHCALL を使用して呼び出しを外部アカウントに中継します。

AUTHCALL が通常の呼び出しと異なる点は 1 つだけです。AUTHCALL は、呼び出し元 (つまり、メッセージの送信者) を、オペコード AUTH で復元された外部アドレスに設定します。これにより、ユーザーは Ether を使用せずに Ethereum と対話できるようになります。言い換えれば、その取引はリレー業者によって「後援」されているのです。

このメカニズムはおなじみかもしれません。実際、メタトランザクションはほぼこのように動作します。ただし、ここで強調しておきたいのは、メタトランザクションではメッセージの送信者を任意に設定することはできないということです。したがって、契約はメタトランザクションを明示的にサポートする必要があります。 EIP 3074 は、メタトランザクションを排除し、契約の複雑さを軽減することを目的としています。

これがどのように機能するかを詳しく説明する前に、まず何を構築したいのかを説明しましょう。私たちは、一般ユーザーが Ether を使用せずに信頼のない方法でトランザクションを送信できるメカニズムを構築したいと考えています。ここでのキーワードは「トラストレス」です。つまり、ユーザーはリレーヤーに悪用される可能性のある権限を付与しません。

EIP 3074 は、通常のアカウント署名に含まれるパラメータを慎重に選択することで、信頼できないシステムを作成します。ユーザーは keccak (0x03++invoker_address++commit_hash) に署名します。

「type byte」は、値が 0x03 である EIP 2718 の定数バイトです。このバイトの目的は、EIP 2930 のアクセス リスト トランザクション、EIP 1559 の手数料市場トランザクション、EIP 191 の 0x19 署名メッセージなどの他の署名メカニズムとの競合を回避することです。

発信者アドレスは、ユーザーの通話を特定の契約にバインドします。ユーザーの署名は、発信者の契約に対してのみ有効です。したがって、ユーザーは、資産を保管するためのスマート コントラクト ウォレットを選択するのと同じように、信頼できる発信者を選択できます。

呼び出し元のコントラクトの実装が正しくない場合、ユーザーが損失を被る可能性があるため、呼び出し元の数は少数であると予想されます (呼び出し元はオプトインであることに注意してください)。安全な発信者契約の開発には多大なコストがかかり、複数当事者による監査と静的証明が必要になります。

しかし、これは今日の慣行とそれほど変わりません。スマート コントラクト ウォレットも、多額の資金を保管する前に、完全に監査および証明される必要があります。多くの大規模 DeFi プロジェクトでも同様です。

最後の署名パラメータは commit_hash (または単に commit) です。これにより、発信者の設計者の柔軟性が向上し、さまざまなソリューションを開発できるようになります。

このコミットは、呼び出し元を特定の操作に制限し、呼び出しを処理するための特定の有効性要件を作成します。ユーザーは、オンチェーンでコードを検証できるため、呼び出し元がこのプロセスに従うことを信頼できます。これがブロックチェーンの美しさです。

簡単なケースを見てみましょう。ユーザーは発信者を通じて通話を送信したいと考えています。呼び出しが無限に中継されるのを防ぐには、他の不変の値とともに nonce を提供する必要があります。ユーザーはこれらの値をハッシュしてコミットを作成し、オペコード AUTH を使用してコントラクトが検証できるように、署名済みメッセージにコミットを含めます。

呼び出し元は渡された値を使用してコミット ハッシュを再生成します。このように、スポンサーが値の 1 つを変更すると、呼び出し元によって計算されたコミット ハッシュは外部アカウントによって署名されたコミット ハッシュとはまったく異なるものになり、次の図に示すように、AUTH によってガベージ アドレスが復元されます。

これで、呼び出し側が通常のアカウントで使用できるスマート コントラクト ウォレットと同じものであることがご理解いただけたと思います。ここで、コミットを使用してより興味深いシナリオを構築する方法を見てみましょう。

一般的に言えば、「1 つの操作は 1 つの署名に対応する」というのが経験則になっています。これは比較的単純な理解です。署名はトランザクションのハッシュ値に基づいて作成されますが、ハッシュ計算のために複数のトランザクションを結合しないのはなぜですか? EIP 3074 はまさにそれを実現できることがわかりました。

アカウントが AUTH 検証に合格できる限り、発信者はアカウントの要求に応じて任意の数の AUTHCALL を実行できます。呼び出し元がコードを正直に実行すると信頼しているので、これは問題ありません。複数の呼び出しをマージし、それらをコミットにハッシュするスキームを設計できます。

上の図に示すスキームでは、呼び出し元はすべての値 (nonce1、nonce2 など) を組み合わせてハッシュし、コミットを生成します。呼び出し元はこのコミットとユーザー署名を使用して AUTH を呼び出します。 AUTH は、ユーザーが実際にパラメータに署名したことを確認します。

次に、呼び出し元は各呼び出しを反復処理し、認証された呼び出しデータを許可されたアドレスに送信する前に、nonce とその他のパラメータを検証します。

これに基づいて、さらに多くのソリューションを構築できます。たとえば、新しいパラメータ「Shelf Life」を追加するとします。このパラメータは他のパラメータと一緒にハッシュされ、コミットされます。さらに、検証中に、呼び出し元は有効期限 < block.number であることを確認します。外部アカウントでも期間限定取引が可能になりました!

<<:  バイナンスは米国司法省とIRSの調査に応答:規制当局と法執行機関と協力して調査を行う

>>:  テスラのマスクCEOが「考えを変えた」、仮想通貨が全面的に急落、その背後にはもっと深い理由があるかもしれない

推薦する

ビットコインのハッシュレートは上昇を続けており、過去1年間で167%増加した。

出典: LongHashビットコインは2019年の高値からまだ約41.5%下落していますが、ネットワ...

クリスマスプレゼントとしてビットコインを贈りましょう。ビットコインをより高級な贈り物にする方法

ビットコインは2016年に有望な上昇を見せており、ビットコインの強気相場はまだ始まったばかりだと多く...

ブロックチェーンシステムのエージェンシー問題と経済効率

2008 年のビットコインの発明は、金融と経済における新しい時代の幕開けとなりました。ビットコインは...

すべてのハッシュレート投資およびハッシュレート契約製品は停止され、一部のマイニング作業も停止されました。

11月19日、Ant Financialの公式サイトはAnt S9契約の終了を発表しました。発表に...

注目のマイニングマシン市場ニュース: 4月第4週

「ビットコインが欲しいなら、自分でマイニングする方法を学ばなければなりません。私たちはマイニングと...

古いZcashソフトウェアのバグにより、Zcashブロックチェーンのフォークに関する懸念が高まる

昨日、Zcashネットワークにバグが発生し、コミュニティ内でZcashブロックチェーンのフォークに関...

データ: ETHの1日あたりの破壊は前月比36.94%増加

データによると、現在破壊されているイーサリアムの量は 634,600 ETH で、1 つのブロックの...

BTCの将来は明らかだ

著者: Yan Zhi、Ruizi Technology の COO本日(2017-01-11)、中...

F2PoolはGRINマイニングサービスの停止とGRINマイニングプールの廃止を発表した。

BlockBeatsによると、F2Poolは5月19日にGRINマイニングプールを閉鎖し、GRIN...

カナダのブロックチェーン企業がソルナと提携し、安価な採掘エネルギーを供給する風力発電所の建設を支援

Business Wireによると、カナダのブロックチェーン企業DMGはSolunaと提携したという...

ビットコインの価格が1800を突破、その理由は何でしょうか?

今週、ビットコインの価格が上昇傾向にあり、そのパフォーマンスは非常に目を引くものとなっています。過去...

ブロックチェーンは官僚主義を終わらせることができるか?

宝蔵論評:周知のように、ブロックチェーンの分散化、透明性、中間者排除、分散会計機能は、一定の公平性を...

カスペルスキー:クリプトジャッキングとマイニングが増加

ロシアのサイバーセキュリティ企業カスペルスキーは、2017年から2018年にかけて75万1606件の...

甘孜ビットコイン「鉱山」に違法建設の続報:康定市は浙東地区の「3つの禁」プロジェクトを是正

表紙ニュース記者 田雪嬌 陳元陽四川省甘孜市と康定市の大渡河流域の水力発電所には、ビットコイン鉱山が...