イーサリアムをエーテリウムと呼びたいブログ

Ether ってなんて呼んでますか?イーサですか?私はエーテルと呼びたいです。カッコいいから!

「Alternative proposal for early eth1 <-> eth2 merge」 について

最近 ETH1.0 の扱いに関する重要な提案があった。

Alternative proposal for early eth1 <-> eth2 merge

ethresear.ch

原文

This is an alternative proposal for eth1 <-> eth2 merging that achieves the goal of getting rid of the PoW chain and moving everything onto the beacon chain on an accelerated schedule. Specifically, it requires stateless clients, but NOT stateless miners and NOT webassembly, and so requires much less rearchitecting to accomplish.

Prerequisites

  • Stateless client software (a “pure function” for verifying blocks+witnesses, along with a method for generating witnesses for a block) available with multiple implementations
  • Eth1-side protocol changes to bound witness sizes to ~1-2 MB

New beacon chain features

  • The state of shard 0 houses the state root of the eth1 system.
  • We add a new list of validator indices, eth1_friendly_validators. Any validator has the right to register themselves as eth1-friendly (and deregister) at any time.
  • The proposer on shard 0 at any given slot is chosen randomly out of the eth1-friendly validators.
  • The shard 0 committee verifies the shard 0 blocks, which are expressed in a format that contains both the block body as it currently exists, plus the stateless client witness. All other shard committees verify their own shard blocks, but they would only be verifying data availability, not state execution, as shard 0 is the only shard that would be running computation.

Operation

The eth1 system would “live” as shard 0 of eth2 (eventually, we can adjust it to be one of the execution environments, but at the beginning it can be the entire shard). Validators that want to participate in the eth1 system can register themselves as eth1-friendly validators, and would be expected to maintain an eth1 full node in addition to their beacon node. The eth1 full node would download all blocks on shard 0 and maintain an updated full eth1 state.

Transition

The transition would still be done using a procedure similar to The eth1->eth2transition 79.

訳文(みらい翻訳より)

これはeth1<->eth2マージのための代替案であり、PoWチェーンを排除し、すべてを加速されたスケジュールでビーコンチェーンに移すという目標を達成します。具体的に言うと、ステートレスなクライアントは必要ですが、ステートレスなminerやwebassemblyは必要ありません。

前提条件

  • 複数の実装形態で利用可能なステートレスクライアントソフトウェア(ブロック+目撃者を検証するための「純関数」と、ブロックの目撃者を生成する方法)
  • Eth1側のプロトコルが監視サイズを最大1~2MBに制限

新しいビーコンチェーンの特徴

  • shard0の状態は、eth1システムの状態ルートを格納します。
  • バリデーター・インデックスの新しいリスト、eth1_friendly_validatorsを追加します。どのバリデータも、いつでもeth1フレンドリー(および登録解除)として登録する権利を持っています。
  • 任意のスロットにおけるshard0の提案者は,eth1に親和性のあるバリデータからランダムに選択される。
  • shard0委員会は、shard0ブロックを検証します。shard0ブロックは、現在存在するブロック本体とステートレスなクライアント監視の両方を含む形式で表現されます。他のすべてのshard委員会は、独自のshardブロックを検証しますが、shard0が計算を実行する唯一のshardであるため、データの可用性を検証するだけであり、状態の実行は検証しません。

運用

eth1システムは、eth2のシャード0「生きる」として(最終的には、実行環境の1つとなるように調整できますが、最初はシャード全体にすることもできます。)。eth1システムに参加したいバリデーターは、それ自体をeth1フレンドリなバリデーターとして登録することができ、そのビーコン・ノードに加えてeth1フル・ノードを維持することが期待されます。eth1fullノードは、shard0上のすべてのブロックをダウンロードし、更新された完全なeth1状態を維持します。

遷移

この場合も、The eth1->eth2transition 79 のような手順を使用します。

今までと何が違う?どう変わる?

どうやら、ETH1.0 はそのままシャードとして ETH2.0 の配下になりその上で動作するスマコンは軽微な修正で運用ができるらしい。当初 ETH1.0 は死滅する予定だったが無くなりそうだ

今まで、いきなり 1.0 で動作していたものを 2.0 へ移動させるのは開発者側のコストが高すぎるかもと思っていたが、これは Ethereum は面倒そうだから他のプラットフォームへ移行するという人たちの離反をある程度止めるものだと思われる。

このやり方だと PoW から PoS に徐々に切り替わるハイブリットなポイントがあって、マイナーの移行を行わせるものと思われる。

単なるホルダーは ETH1.0 が今まで通り使えることになるので、特に何もする事は無くなりそう。ただし、TX承認(ステイキング)に参加したい場合は当然何らかの方法で Ether1.0 を 2.0 にする作業が発生するはず。