深く解析するイーサリアム2.0:広大な旅の第一歩「セレニティ」段階
この記事は2020年12月4日に火星财经に掲載され、著者は千峰資本のパートナーであるスティーブンです。
10月4日にイーサリアム開発チームがETH2.0の開始条件を発表し、預金アドレスを公開して以来、さまざまなETHの深い参加者たちが自分の32個以上のETHを持ち寄り、その開始を支援しました。ついに10月24日には、V神が設定した少なくとも16384件の32-ethバリデータの預金、合計で52.4万ETH以上の開始要件を超過達成し、ETH2.0メインネットは12月1日の午前0時に予定通りに立ち上がりました。
メインネットが立ち上がった後、第一段階は「Serenity」と名付けられ、稼働中のメインチェーンはBeacon chain、つまり現在稼働している信標チェーン(下の図参照、現在357エポック目に進行中)です。このPOSチェーンについて、どのような設計哲学と革新点があり、それらはETHがPOSに移行するのを支えるのに十分でしょうか?
1.0 Principles Serenityの設計哲学
Simplicity 簡潔さ
暗号経済学におけるプルーフ・オブ・ステークとシャーディング技術の内在的な複雑さに基づき、Serenityは設計時に可能な限りの簡潔さを追求し、以下の目的を達成します:1)開発コストの最小化;2)予期しないセキュリティ問題のリスクの低減;3)その後の開発者がプロトコルを設計する際に、ユーザーに対してプロトコルの詳細と合法性をより容易に説明できるようにすること。(第三点については、特定のプロトコルの複雑さが避けられない場合、優先順位は次のように従うべきです:Layer2プロトコル > クライアント実装 > プロトコル仕様)
Long-term stability 長期的安定性
基盤となるプロトコルの構築は、十分に完璧で予測可能でなければならず、そうすることで今後10年またはそれ以上の期間にわたって変更が不要となります。すべての革新は、これらの基盤の上に、より高いプロトコル層で発生し構築されることができます。
Sufficiency 十分性
Serenityは、できるだけ多くのアプリケーションがそのプロトコルの上層に構築できるように、基盤的に保証します。
Defense in depth 深層防御
プロトコルは、さまざまな可能なセキュリティ仮定の下で無差別に機能することができます。(例えば、ネットワーク遅延、故障カウント、ユーザーの悪意のある動機など)
Full light-client verifiability 全軽ノード検証可能性
与えられた仮定の下で(ネットワーク遅延、攻撃者の予算制限、1/nまたはs/nの少数の誠実なノードなど)、バリデータークライアントは、51%攻撃の下でも、システム全体のすべての有効なデータを取得できるはずです。(実際、これは深層防御の一部でもあります)
2.0 The Layer1 VS Layer2 一層プロトコルと二層プロトコルのトレードオフ
あらゆるブロックチェーンプロトコルには、Layer1により多くの機能を組み込むべきか、それともLayer1の設計をできるだけシンプルに保ち、Layer2でより多くの機能を構築するべきかという議論があります。
Layer2を支持する理由には以下が含まれます:
a. コンセンサス層の複雑さを軽減する
b. コンセンサス層の変更の必要性を減少させる
c. コンセンサス層の失敗のリスクを減少させる
d. プロトコルガバナンスの負担と政治的リスクを減少させる
e. 時間の経過とともに、より柔軟性と新しいアイデアを実施する能力を持つようになる
一方、Layer1を支持する理由は:
a. メカニズムの欠如により、全員が新しいプロトコル(ハードフォーク)にアップグレードすることを強制されることによる開発の停滞のリスクを減少させる
b. システム全体の複雑さを低下させる可能性がある
c. 第一層が十分に強力でなければ、第二層プロトコル上にどれほど複雑なメカニズムを構築することも不可能である(ビットコインネットワーク上にイーサリアムを構築する方法がないのと同様)
イーサリアム2.0の大部分は、Layer1とLayer2の間で慎重にトレードオフされています。Layer1での努力には以下の3点が含まれます:
1)準チューリング完全、全状態コード実行
2)拡張可能で計算可能
3)高速なブロック完了時間
具体的には:
1)がなければ、完全な信頼モデルを使用してLayer2のアプリケーションを構築することはできません;
2)がなければ、拡張性能は特定の状態チャネルやPlasmaのような技術に制限され、これらの技術は資金のロックや大規模な資金の退出の問題に直面することが多いです;
3)がなければ、状態チャネルを使用せずにタイムリーな取引を実現する要求を満たすことができず、これも資金のロックや大規模な資金の退出の問題を引き起こします;
上記の特性に加えて、ETH2.0は1)プライバシー、2)高級プログラミング言語、3)スケーラブルな状態ストレージ、4)署名スキームをLayer2に残しました。これらはすべて迅速な革新の分野であり、既存の多くのスキームは異なる特性を持ち、将来的にはより良いスキームの間でトレードオフが避けられません。例えば:
1)プライバシー:リング署名+機密値VS Zk snark VS Zk starks;ロールアップ VS ZEXE VS …
2)高級プログラミング言語:宣言的と命令的、構文、形式検証特性、型システム、保護特性およびローカルサポートのプライバシー機能
3)拡張可能な状態ストレージ:アカウントVS UTXOs、借用できないスキーム、raw Markle branch witness VS Snark/Stark圧縮VS RSA累加、spares Markle trees VS AVL trees VS 使用に基づく不均衡な木;
4)署名スキーム:M/Nマルチシグ、ソーシャルキーの取り消しと復元、Schnorr署名、BLS署名、Lamport署名
3.0 Why Casper なぜCasperをPOSのソリューションとして選んだのか
現在、主流のPOSコンセンサスアルゴリズムは3種類あります:
a. 中本インスパイア型、Peercoin、NXT、Ouroboros…
b. PBFTインスパイア型、Tendermint、Casper FFG、Hotstuff
c. CBC Casper
後者の2つのソリューションには、セキュリティデポジットとスラッシング(Security deposits and Slashing)の使用に関する問題があります(最初のソリューションはスラッシングと互換性がありません)。すべての3つのソリューションは、プルーフ・オブ・ワークよりも優れています。ETH2.0のアプローチについて具体的に説明します。
スラッシング
イーサリアム2.0が使用するスラッシングメカニズムは、バリデーターが不適切な行動をしていることが発見された場合、そのバリデーターがネットワーク内でバリデーションノードとして担保したトークンを没収することです。最良のケースでは約1%のバリデーターが罰せられ、最悪のケースでは全ネットワークの担保されたETHが罰せられる可能性があります。このアプローチの意義は:
1)攻撃のコストを引き上げる
2)バリデーターの問題を克服し、バリデーターが誠実な行動から逸脱する最大の動機が怠惰(検証を行わずにすべての取引に署名する)であることを解決するために、大きな罰を与えることでこの問題を大幅に解決できます。この点については、典型的なケースがあります:2019年7月、cosmos上のバリデーターが相互に矛盾する2つのブロックに署名したため、担保金が没収されました。このバリデーターがこのミスを犯した理由は、主ノードとバックアップノードを同時に運用していたため(どちらかがオフラインになっても報酬を得られるように)、この2つのノードが同時にオンラインになり、最終的に相互に矛盾する結果となったのです。
コンセンサスアルゴリズムの選択
大規模なバリデーションノードの悪行が発生した場合(BPFTインスパイア型で1/3、CBCで1/4)、BFTインスパイア型とCBC学派の合意アルゴリズムのみが良好な最終性を持つことができます。中本インスパイア型のコンセンサスアルゴリズムは、この前提の下で最終性を実現することができません。最終性の確認には、大多数のバリデーターがオンラインである必要があります。この要件は、シャーディングメカニズムでも満たされる必要があります。なぜなら、シャーディングでは、2/3のランダムなバリデーターがクロスシャード通信時に署名する必要があるからです。
ETH2.0がCasper FFGを選んだ理由は、最もシンプルなアルゴリズムでプロトコルの最終部分に最終性を実現できるからですが、将来的には第三段階でCBC Casperに徐々に移行する予定です。
4.0 Sharding分片--なぜETH2.0はスーパー・ノードを嫌うのか
Layer1において、分片の主な方法はスーパー・ノードを使用することです。すべてのコンセンサスノードが超強力なサーバーを持つことを要求することで、各々が独自にすべての事柄を処理できるようにします。スーパー・ノードに基づく拡張は非常に便利で、実装が簡単です。既存のブロックチェーンの動作方式に、より並行して動作するソフトウェアエンジニアリングの層を追加するだけです。
このアプローチが直面する主な問題は以下の通りです:
1)担保プールの集中化リスク:ノードを運営するための固定コストが非常に高いため、参加できるユーザーは非常に少なくなります。バリデーションノードを運営するための固定コストが報酬の大部分を占める場合、大きなプールは小さなプールよりも少ない費用で済むため、小さなプールは次第に排除され、集中化の傾向が強まります。比較すると、分片システムでは、より多くのETHを担保した大きなノードがより多くの取引を検証する必要があるため、その費用は固定されていません。
2)AWS集中化リスク:スーパー・ノードの体系では、家庭作業のような担保形式はほとんど存在せず、大部分の担保はクラウドコンピューティング環境で行われるため、単一障害点のリスクが大幅に増加します。
3)拡張性の問題:トランザクションスループットの増加に伴い、上記のリスクが増加しますが、分片システムでは増加する負荷をより容易に処理でき、上記のリスクを減少させることができます。
これらの集中化リスクは、ETH2.0が特に超低遅延(<1s)を追求しない理由でもあります。彼らはこの遅延を比較的保守的なデータに設定しています。
ETH2.0の分片システムでは、あなたがどれだけのETHと計算能力を持っていても、ETHの検証システムに参加することができます。固定コストは最小化されており、非常に多くのETHを持っていても、直面する費用は依然として次線形です。
5.0 セキュリティモデル
ETH2.0の深層防御と分片アプローチは、ランダムな委員会サンプリングを組み合わせて、誠実な多数者モデルの下での有効性と可用性を実現し、怠惰な行動者を防ぐための保管証明を提供し、無効または利用できないチェーンを検出するための詐欺証明とデータ可用性証明を提供します。これにより、すべてのデータをダウンロードして検証することなく、無効または利用できないチェーンを拒否することが可能になります。
下表は現在期待されるセキュリティ属性です:
6.0 Casperの報酬メカニズムはどのように設計されているのか?
各エポックのラウンドで、各バリデーターは自分の証明を提供します。この証明は、バリデーターがどのブロックヘッダーを指摘し、署名するかを示します。この証明がパッケージ化されると、バリデーターは以下の報酬を得ます:
1)パッケージ化された証明の報酬
2)正しいエポックチェックポイントを指定した報酬
3)正しいチェーンヘッドを指定した報酬
4)迅速にパッケージ化された証明の報酬
5)正しいシャードブロックを指定した報酬
異なるシナリオにおける具体的な報酬計算方法は以下の通りです:
B=基本報酬、P=正しい判断を下したバリデーターの割合
任意の正しい判断を下したバリデーターはB*Pの報酬を得ます。
Bの計算式は:
ここで、D1…Dnは担保量の大きさを示し、kは定数です。
7.0 Beacon chain/shard chain の構造
分片システムは64の論理的な分片「shards」を含み、このシステムはbeacon chainを中心にすべての活動を調整します。
このシステム内でトランザクションが最終確認されるプロセスは以下の通りです:
1)トランザクションは一群のshardのあるshard blockに含まれます
2)ランダムに選ばれたバリデーター委員会がこのshardに割り当てられ、検証と署名を行います
3)委員会の署名が次のbeacon blockにパッケージ化されます
4)次のbeacon chainがCasper FFGを通じて最終性を確認します
各shard blockをハッシュで次のbeacon chainに接続することで、shardは互いのMarkleルートを迅速に認識し、相互にレシートを検証できるようになります:
上の図のように、shard nがn+1beacon chainに即座にパッケージ化されなかった場合、n+2beacon chainの委員会はこのshardと次のshardをパッケージ化しようとすることができます。
8.0 尾---ETH2.0の未来について
「静けさ」はETH2.0の壮大な旅の第一歩に過ぎませんが、彼らが第一歩で行った選択から、チーム全体が過去3年間にわたって公平性と効率性について深く考えてきたことがわかります。彼らは単に百万TPSを追求するのではなく、安全性を保証した上で、実用性と実行可能性をより大きく実践しています。
私は、今後長い間、ETHがブロックチェーンネットワーク全体の基盤となると信じています。今年のDeFiは未成熟なネットワーク条件下での偉大な社会実験に過ぎません。2.0が2021-2022年にさらに洗練されるとき、必ずやより大きな商業的価値と社会的価値を生み出すでしょう。