Eth2 ステーキング シリーズ: キー
ソース |Ethereum Blog
ソース |
著者 | カール・ベークハイゼン
この記事をレビューしてくれた Sacha Yves Saint-Leger と Danny Ryan に感謝します。
どのプルーフ・オブ・ステーク (PoS) システムであっても、中心となるのは署名スキームです。署名は各バリデーターの識別と身元確認に使用され、バリデーターのアクション (良いか悪いかにかかわらず) をバリデーター自体まで追跡できるようになります。
eth2 では、各バリデーターの ID はその公開鍵です。具体的には、各バリデーターは署名キーと引き出しキーという 2 セットのキーを持ちます。
最初のレベルのタイトル
署名キーは、バリデーターが証明書に署名し、ブロックを提案するために必要なキーです。検証者はエポックごとに少なくとも 1 つのメッセージに署名する必要があるため、クライアント ソフトウェアは署名キーをエスクローする必要があります。
最初のレベルのタイトル
引き出しキー
クライアント ソフトウェアは常にインターネットに接続されているため、検証者の署名キーが侵害される可能性は十分にあります。対応する影響を軽減するために、検証者の動作は 2 種類のキーを通じて実現される必要があります。
前述したように、検証者は鍵に署名することでその義務を果たします。そして引き出しキーはバリデーターの資金を管理することができます(ETHの送金と引き出し)。
※移管・出金は初期段階ではフェーズ1のみ可能です
最初のレベルのタイトル
キーが多すぎる場合はどうすればよいですか?
ステーカーがステーキングする 32 ETH ごとに 2 つの無関係なキーを使用して保存および入金する必要がある場合、事態はすぐに手に負えなくなる可能性があります。
eth2 では、この解決策は次のようにして実現されます。EIP 2333そして2334実装: この一連の標準では、出金キーと署名キーの関係、およびそれらが単一のニーモニックからどのように導出されるかについて説明します。
最初のレベルのタイトル
ニモニック
たとえば、ニーモニック ソーセージ ソリューション ラウド アイソレート フォーカス グライド フレーム ドア ピエロ ミリオン シャッフル インパルスのセットを記録することは、キーの文字列 0x1e9f2afcc0737f4502e8d4238e4fe82d45077b2a549902b61d65367acecbccba を記録するよりも正確です。
最初のレベルのタイトル
ウォレットを操作するとき、m/44'/60'/0'/0/0 の形式の「パス」に遭遇することがあります。これらのパスはキー間の関係を記述します。
によるとEIP 2333によると
、その関係はツリー構造の形式をとり、キーはエントロピー ソース (ツリーのシード) とツリー パスによって決定されます。
シードを使用してルートを計算し、ルートに基づいてレイヤーごとに構築します。キー ツリーは、後続のブランチとツリーのルートとの間の関係という観点から完全に定義されます。
実際、これにより、ツリーのルートから開始して各ブランチの中間キーを計算し、関連するリーフ ノードに到達してツリー内で必要なキーを見つけることができます。
魔法は、単一のエントロピー ソース (ニーモニックなど) から始めて、そこから事実上無制限の数のキーを派生できることです。
また、そのニーモニックのみを保存することで、バリデータとして使用するすべてのキーをバックアップできます。
各ブランチは / で区切られているため、 m/2 はマスター キーから開始して 2 番目のブランチに続くことを意味します。
存在するEIP 2334存在する
、バリデーターの署名キーは、引き出しキーの 0 番目のサブブランチです。つまり、実際には、この標準に従う場合、引き出しに使用される秘密鍵がわかっていれば、対応する署名秘密鍵を計算できます。
上記の例を続けると、m/0/0、m/1/0、m/2/0 で対応する 3 つの署名キーを見つけることができます。EIP 2334 上記の例は概念を説明するために可能な限り単純化されていますが、実際には関係するパスはさらに長くなります(
全体として、覚えておくべき重要なことは次のとおりです。ニーモニックがわかっていれば、引き出しキーを計算し、その引き出しキーを使用して署名キーを取得できます。
最初のレベルのタイトル
ストレージキー
バリデータ クライアントは、キーを交換する手段としてキーストア ファイルを使用します。
検証を開始する準備ができたら、キーストアとそれを暗号化するためのパスワードを検証者クライアントに提供します。クライアントは秘密キーをインポートするためにこれら 2 つの情報を必要とします
最初のレベルのタイトル
バリデーターになる
バリデーターになるには、まず適切なキーを生成します。ニーモニックを書き留めると、キーを生成できます。
フェーズ 0 では ETH の出金や送金ができないため、出金キーを取得するためにキーストアを経由する必要はなく、ニーモニックが安全な方法で保存されることを確認するだけで十分です。
バリデーター・クライアントが署名鍵を使用する必要がある場合、各バリデーター・ノードは、対応する鍵を保管するキーストア・ファイルを受け取ります。
その後、質権データは eth1 の入金契約に記録されます。デポジット契約は eth2 ノードによって監視されるため、後で質権データを eth2 にコピーできます。あなたの誓約データが eth2 に正常に転送されると、あなたは正式にバリデーターになります。
最初のレベルのタイトル
私たちは、ユーザーをバリデータに導くためのフレンドリーなインターフェイスの構築に取り組んできました。間もなく、Eth2 Launchpad とは何か、そしてその使用方法を説明するブログ投稿を投稿する予定です。
最初のレベルのタイトル
イーサリアムの詳細については、次の点に注意してください。
パブリックアカウント: ETH中国語ウェブサイト
ウェブサイト: ethereum.cn
免責事項: ECN の翻訳作業は、中国のイーサリアム コミュニティに高品質の情報と学習リソースを提供することを目的としています。記事の著作権は原著者に属します。転載する場合は、原文と ethereum.cn の出典を示す必要があります。再版の場合は、ethereumcn@gmail.com までご連絡ください。


