エthereum開発者コミュニティを瞬く間に駆け巡った幅広いスレッドの中で、Vitalik Buterinは「過小評価されている」分散化の柱として、「プロトコルのシンプルさ」を力強く主張しました。Xに投稿した中で、ButerinはEthereumのようなブロックチェーンの長期的な耐久性は、エキゾチックな暗号技術や巨大な分散化の数値よりも、むしろプロトコルが普通の開発者や研究者が意味を持って検査、理解、再実装できるほど小さく保たれているかどうかに依存していると述べました。
Buterinのポイントは率直でありながらもシンプルです。たとえネットワークが数十万のノードを持ち、49%のビザンチンフォールトトレランスや最先端の検証ツールを備えていても、その保証がごく一部の専門家だけに説明できるものでしかない場合、そのネットワークは真の「信頼不要」や「ウォークアウェイテスト」を通過し、真に自己主権を持つものとは言えません。「もしプロトコルが何十万行ものコードと5種類の博士レベルの暗号技術の混在で扱いにくいものであれば」と彼は書いています、「最終的にそのプロトコルは3つのテストすべてに失敗します。」要するに、複雑さは新たな中央集権の形態を生み出すのです。
シンプルさはセキュリティの特徴
この観察の意味は、哲学的なだけでなく実用的でもあります。Buterinは、付加された機能や狭くターゲットを絞った暗号技術の追加は、短期的な利益をもたらす一方で、数十年にわたる存続能力を損なう可能性があると警告しました。クライアントチームが解散したり、新しい貢献者がメンテナンスを引き継ごうとしたりすると、広範なコードベースは障壁となります。高度に技術的な参加者でさえシステムを合理的に監査できない場合、その「あなたのもの」であるという主張は弱まります。
Buterinは、「簡素化」と呼ばれるものの三つの定義を示しました。第一に、総コード行数を最小限に抑えること。理論上、1ページ、少なくとも数ページに収まるプロトコルは、本質的に理解しやすいものです。第二に、根本的にエキゾチックな技術的プリミティブへの不要な依存を避けること。
理想的には、単一のハッシュ関数に基づく少数の前提に還元できるセキュリティは、ハッシュ、格子、イソジェニーを混在させたパッチワークよりも優れています。最後のイソジェニーは、「誰も理解していない」領域だと彼は認めています。第三に、不変性の数を増やすこと:明確に記述され、厳格に適用される性質で、クライアント開発をより簡単にします。彼は、自己破壊の除去やトランザクションごとのガス上限などの最近のEIPを例に挙げ、これらが有用な不変性を追加し、実装者の複雑さを減らした例だと指摘しました。
このスレッドは、単なる呼びかけを超え、具体的な道筋を描いています。Buterinは、プロトコル開発における「ガーベッジコレクション」の継続を提唱しています。これは、複雑であまり使われていない、または安全にクライアントコード外に置ける機能を意図的に削除または格下げするステップです。これは部分的に行うことも可能で、彼が言及した最近のガスコスト改革は、任意のガス数値をリソース消費に連動したコストモデルに置き換えることを目的としています。あるいは、大規模な一括改修として行うこともできます。彼は、プルーフ・オブ・ワークからプルーフ・オブ・ステークへの移行自体が大規模なクリーンアップだったと指摘し、「Leanコンセンサス」が同時に多くの誤りを修正する機会を提供する可能性を示唆しました。
彼が提案したもう一つのアイデアは、ロゼッタスタイルの後方互換性です。すべてのクライアントにチェーンのすべての古い特殊仕様を実装させるのではなく、稀に使われるが複雑な機能をオプションのスマートコントラクト層に格下げします。そのモデルでは、ネイティブのアカウント抽象化により、古いトランザクションタイプをスマートコントラクトレベルで処理できるようにし、レガシープリコンパイルはコントラクトとして再コーディングしたり、長期的にはRISC-VのようなよりシンプルなVMに移行したりできます。レガシーサポートを懸念する開発者は、古いクライアントをコンテナ内で動かし、新しいクライアントはより軽量に保つことが可能です。
Ethereumの未来へのロードマップ
Buterinのスレッドから浮かび上がるのは、技術的な側面だけでなく文化的な変化への呼びかけです。彼は、コミュニティに対し、提案を既存のプロトコルに対してどれだけ大きいかだけで判断するのをやめ、後方互換性のための付加的な変更を優先する傾向にあるその思考を改めるよう促しました。代わりに、明示的な「簡素化」機能を含めるべきだと提案しています。これは、追加だけでなく削減も継続的に行う規律ある努力です。
多くのリポストに添付された画像、側面に並ぶ3つの複雑なロケットエンジンは、パイプや配線、工学的詳細の研究例として広く共有されており、比喩として使われています。ロケットシステムのように、多くの相互作用する部分を持つプロトコルは壊れやすい:動くパーツや専門的なコンポーネントが多いほど、何かがうまくいかない可能性も増えます。Buterinのメッセージは、長寿命のハイパーストラクチャーの最良の形は、そのコア部分を1ページにまとめて新参者に渡せるものであるべきだということです。
政治体制や技術トレンドを超越しようとするプロトコルにとって、その新参者は重要です。「これまでの15年間」、彼はEthereumのライフサイクルを指して書いていますが、「一部は青春期と見なすべきです」と述べ、創造的な実験の期間だとしています。彼は、役立つ実験を続けつつ、無駄なものが永続的な膨張にならないようにすることが課題だと指摘しました。
このスレッドはすでに活発な議論を呼び起こしています。ある開発者は、シンプルさは強力なプリミティブや柔軟性の必要性とバランスを取る必要があると警告し、他の人々はButerinが提唱する体系的な剪定の緊急性を認識しています。少なくとも、この会話は、分散化はノード数や暗号的な装飾だけで測れるものではなく、システムを構築し維持し、最終的に離れて理解し直す人々にとってどれだけアクセスしやすいかによって測られるべきだという共通認識の高まりを示しています。