イーサリアムインフラのイテレーションから見た公共財の課題とブレークスルー

Ethereum インフラストラクチャの中で最も一般的に使用され、公開されているのは Ethereum テストネットです。

著者: shew

概要

公共財基金であるGCCは、イーサリアム・インフラストラクチャ研究の推進に尽力しています。イーサリアム・インフラストラクチャの中で最も一般的に利用され、公開されているコンポーネントは、イーサリアム・テストネットです。テストネットは、イーサリアム・メインネットに類似したテスト環境であり、メインネットと整合性のある重要なインフラストラクチャを提供します。テストネット内のトランザクションは実質的に手数料がかからないため、テストネットはすべての開発者、研究者、そしてユーザーにメリットをもたらします。

本レポートは、テストネットの歴史と現状に焦点を当てています。本研究は、テストネットの公共性に関するより広範な理解に貢献し、共同テストインフラストラクチャがコミュニティ全体にアクセス可能でありながら、どのようにイノベーションをサポートしているかを明らかにしています。これらのネットワークの進化と機能性を文書化することで、将来のテストネット・イニシアチブに情報を提供し、コミュニティが支援するインフラストラクチャの価値を示すことを目指しています。

パブリックテストネットとDevNet

パブリックテストネットは、開発者やユーザーが最もよく利用するテストネットです。これらのテストネットはスマートコントラクトのデプロイに使用でき、ユーザーはテストネット内のコントラクトを操作するために、フォーセットからETHを取得することもできます。パブリックテストネットのデプロイタイムラインは以下の通りです。

最新のEthereumテストネット計画は上記の表には含まれていません。最新のテストネット計画は以下の通りです。

これらのテストネットの名前は特に興味深く、すべて地下鉄駅や鉄道駅にちなんで名付けられています。RopstenとRinkebyはどちらもスウェーデンのストックホルムにある地下鉄駅、Goerliはベルリンにある鉄道駅、Sepoliaはギリシャのアテネにある地下鉄駅です。最新のHoodiテストネットは、インドのバンガロールにある鉄道駅をベースにしています。

上記のパブリックテストネットに加えて、Ethereumには特殊なテスト用の一連の内部テストネットもあります。例えば、YOLOテストネットは、ベルリンハードフォークアップグレードに必要なBLS署名やその他の機能をテストするために使用されます。これらのテストネットは通常、DevNetと呼ばれます。クライアント統合テストネットと呼ばれることもあります。これらのテストネットは通常、一般公開されておらず、クライアント開発者と監査担当者のみが内部テストを行うために使用します。これらのテストは、異なるクライアント実装が適切に機能すること、および異なるクライアント間の相互運用性を検証することを目的としています。

All Core Devs Meeting 109において、コア開発者はハードフォークテストネットの命名規則として地質学的断層線を使用することを議論しました。この原則に従い、コア開発者はロンドンアップグレードのテスト用にAleut(アリューシャン海溝を表す)とBaikal(バイカル湖を表す)のテストネットを立ち上げました。しかし、その後のテストネットの命名規則はこの規則から逸脱しています。例えば、バイカルテストネットの後、ロンドンアップグレードのテストに使用された別のテストネットは、カラベラステストネットと名付けられました。しかし、コア開発者は常にこの命名規則に従ってきたわけではありません。例えば、最近のFusakaハードフォークアップグレードでは、devnet-1やdevnet-2といったシンプルで明確な命名が採用されました。

パブリックテストネットの歴史

開拓時代:オリンピックとモーデン

オリンピックテストネットは、イーサリアム初のパブリックテストベッドとして2015年初頭にローンチされました。イーサリアムメインネットの正式ローンチ前にローンチされたこの画期的なネットワークは、プロトコルの機能の最終検証として機能しました。チェーンIDは0で、長年の実績を反映しています。

イーサリアム開発チームは、ネットワークのストレステストに成功し、多数のフォークを作成した人に25,000 ETHの報酬を支払う報奨金制度を設けました。この報奨金は、高トランザクション量と極端な使用パターンを通じてイーサリアムの限界をテストすることを目的としていました。下のグラフは、オリンピック・テストネットイベント終了後、テストネット参加者に配布されたEFエアドロップを示しています。

オリンピック・テストネットはイーサリアムの初期開発において非常に重要な役割を果たしたため、イーサリアム・メインネットのジェネシスブロックはオリンピック・テストネットのブロック1028201をテンプレートとして使用しました。しかし、このテストネットは、過度に大きなステートセットや潜在的な秘密鍵の脆弱性など、多くの問題を抱えており、2015年7月のイーサリアム・メインネットのローンチ成功後に廃止されました。ステートセットの大規模化問題は、オリンピック・テストネットにスパムトランザクションを仕掛けるという固有のインセンティブがあったことに起因しており、ユーザーは報酬を得るために大量のジャンクトランザクションを送信し、テストネットの規模を巨大化させていました。潜在的な秘密鍵の脆弱性問題は、初期のオリンピック・テストネット・コードに存在した、リプレイ攻撃を可能にする可能性のある脆弱性に起因していました。

Morden テストネットは、Olympic テストネットの廃止直後に立ち上げられ、2015年7月にEthereum メインネットと同時に立ち上げられました。Ethereum メインネットのチェーンIDは1であるため、Morden テストネットはチェーンID 2を選択しました。立ち上げから1年以上にわたり、Morden は唯一のテスト環境として機能し、初期のEthereumアプリケーションの主要な開発プラットフォームとしての地位を確立しました。しかし、ネットワークは深刻なコンセンサス問題を抱えることになりました。潜在的なリプレイ攻撃を軽減するため、Morden 内のすべてのトランザクションは、2^20 から始まる nonce 値で開始されました。EIP-161 は nonce ルールの一部を変更し、Morden の既存の nonce ルールと EIP-161 で規定されたルールとの間に矛盾が生じました。その結果、Geth と Parity がブロック 1885074 で互換性のないブロックを作成し、Morden テストネットは廃止されました。 注目すべきことに、ETCコミュニティはこの放棄されたネットワークを受け入れ、「Morden Classic」と改名し、エコシステム内で継続しました。しかし、2019年にETCコミュニティはMorden Classicを最新のテストネットであるMordorテストネットに置き換えました。

Ropsten時代とセキュリティ上の課題

Ethereumテストネットの3番目のイテレーションであるRopstenは、2016年11月にローンチされました。ストックホルムの地下鉄駅にちなんで名付けられ、チェーンID 3が割り当てられたこのプルーフ・オブ・ワーク・ネットワークは、前任者よりも堅牢な設計を誇り、主要なEthereumクライアントをすべてサポートし、Ethereumのテストインフラの柱となりました。

Ropstenにとって最も興味深い出来事は、2017年2月に壊滅的なサービス拒否攻撃を受けたときでした。悪意のある攻撃者は、ネットワークのプルーフ・オブ・ワーク機構を悪用し、ブロックのガス制限を当初妥当な470万から天文学的な90億へと段階的に増加させました。この攻撃により、大量のジャンクブロックが生成され、膨大なディスク容量が消費され、クライアントの同期がほぼ不可能になり、etherscan のデータ表示が不正確になりました。

しかし、イーサリアムコミュニティはRopstenテストネットを完全に放棄する準備ができていませんでした。コミュニティから寄付されたGPUコンピューティングパワーの支援を受け、Ropstenチームは2017年3月にネットワークの復旧に成功し、蓄積されたジャンクブロックを消去して通常の運用を再開しました。復旧プロセスはシンプルでした。イーサリアム開発者は、コミュニティから寄付されたGPUコンピューティングパワーを用いて、攻撃前の期間のブロックをマイニングし、攻撃を受けたチェーンを置き換えた、より重いチェーンを作成しました。イーサリアム開発者はこのコンピューティングパワーを利用して51%攻撃を仕掛け、チェーンの履歴を改ざんしてジャンクトランザクションを消去することに成功したと推測できます。

このインシデントはネットワーク開発における転換点となり、代替コンセンサスメカニズムとより堅牢なテスト環境の開発を促しました。2022年6月8日、Ropstenはマージを成功させた最初の主要テストネットとなり、イーサリアムテストネットがプルーフ・オブ・ワーク(PoW)からプルーフ・オブ・ステーク(PoS)へと進化を遂げたことを象徴する出来事となりました。

Ropstenのマージでは、いくつかの問題も発生しました。簡単に言うと、Ropstenはブロック難易度がTTD(Terminal Total Difficulty)と呼ばれる値である43531756765713534に達した時点でマージプロセスを開始する予定でした。しかし、PoSのコンセンサスに使用されるビーコンチェーンがまだ起動していないうちに、悪意のある攻撃によってRopstenのTTDが予定より早く到達してしまいました。さらなる問題を防ぐため、コア開発者はRopstenノードに対し、TTDを手動で1000000000000000000000000000にするよう指示し、コア開発者による更なる修正を待ちました。この事象の詳細は、Ropsten TTD事後検証およびRopstenテストネット統合で確認できます。最終的に、Ethereumコア開発者はTTDの問題を解決し、Ropstenは統合を正常に完了しました。

Proof of Authority (PoA)革命

2017年2月のRopsten攻撃は、Proof of Authority (PoA)テストネットの開発を加速させ、2017年3月にはKovanテストネットが完成しました。Parityチームによって構築されたKovanは、テストネットの哲学に根本的な転換をもたらし、セキュリティと安定性のために純粋な分散化を犠牲にしました。シンガポールの地下鉄駅にちなんで名付けられたこのネットワークは、チェーンID 42を採用し、4秒のブロックタイムを維持しました。

具体的には、KovanはAuraアルゴリズムを採用しました。これは、ブロックを生成できる複数の信頼できるブロックプロデューサーを定義し、時間に基づいてローテーションさせるシンプルなアルゴリズムで、各時間帯にブロックを生成するのは1つのブロックプロデューサーのみです。PoAアルゴリズムでは、攻撃者が任意のDDoS攻撃を仕掛けることはできません。極端なケースでは、PoAブロックプロデューサーが攻撃者からのトランザクションをすべて拒否してしまう可能性があります。

革新的な機能にもかかわらず、Kovanはクライアントサポートが限られており、Parityのみと互換性があり、より広範なEthereumクライアントエコシステムとは互換性がありません。この制限により、Gethなどの他のクライアントを使用している開発者は、テストにKovanを十分に活用できず、テスト環境が断片化されていました。

Rinkebyは、より汎用的なProof-of-Authority(PoA)ソリューションを求めるEthereumチームの要望に応えて、2017年4月にリリースされました。ストックホルムの別の地下鉄駅にちなんで名付けられたRinkebyは、既存のクライアントコードベースへの影響を最小限に抑えるように設計されたClique Proof-of-Authority(PoA)コンセンサスエンジンを実装しています。チェーンIDは4、ブロック生成時間は15秒で、Rinkebyは安定したテスト環境を提供し、さまざまなEthereumクライアントへの実装を容易にします。

Cliqueコンセンサスは汎用ソリューションであるため、Ethereum開発者はEIP-225でコンセンサスアルゴリズムを具体的に記述しました。このコンセンサスアルゴリズムは、既存のブロックヘッダーフィールドを再利用し、革新的なガバナンスメカニズムを導入しています。extra-dataフィールドはsecp256k1署名に対応するために拡張され、minerフィールドとnonceフィールドは、承認されたブロック生成者リストを管理するための投票プロトコルに変換されました。この洗練されたソリューションは、既存のテクノロジーとの互換性を維持しながら、レファレンダムによる動的なバリデータ管理を可能にします。

Rinkebyは運用期間中に1,100万ブロックにわたり約1億6,400万件のトランザクションを処理し、驚異的な安定性を達成しました。Rinkebyチェーンの最終的な結論として、Rinkebyメンテナンスチームは、マージによるRinkebyへの移行を中止することを決定しました。その理由は、こちらのツイートをご覧ください。簡単に言うと、Rinkebyは主にGeth開発者によってメンテナンスされており、ネットワークの長年の運用によって大量のデータが蓄積されたため、マージが困難でした。

マルチクライアントのブレークスルー:Goerli

Goerliは、2018年9月のETHBerlinハッカソンで生まれました。当時、ChainSafeチームは、Gethとの互換性を確保するために、ParityのAura Proof-of-Authority(PoA)コンセンサスメカニズムをGoで実装するという興味深いプロジェクトを開始していました。このプロジェクトは、Afri SchoedonがChainSafeと協力し、構想していた「次世代」パブリックPoAテストネットを構築したことで、徐々に正式な取り組みへと発展しました。

Goerliの中心的な目標は、マルチクライアントのサポートです。これを実現するために、開発チームはまず、ParityのAuraアルゴリズムをGethに実装しようと試みました。これはETHBerlinハッカソンで実現しましたが、既存のコードベースへの負担が大きすぎることが判明しました。最終的に、Goerliチームは、Rinkebyテストネットでその真価が実証されていたCliqueコンセンサスエンジンをマルチクライアント対応として選択しました。しかし、Goerli開発チームは、主要なEthereumクライアントすべてでコンセンサスプロトコルをサポートするために、膨大な量のコードを作成しました。

Goerliは2019年1月31日に正式にローンチされ、Chain IDは5、ブロックタイムは15秒でした。ネットワークは、Geth、Parity、Nethermindといった主要プラットフォームをサポートし、クライアントの多様性に驚異的な成果を上げました。この幅広い互換性により、Goerliは真にユニバーサルなPoAテストネットとして初めて登場し、以前のネットワークを悩ませていた断片化の問題を解決しました。

ネットワークの安定性と信頼性は、アプリケーション開発者、インフラプロバイダー、プロトコル研究者にとって最適な選択肢となりました。Ethereumが統合の準備を進める中、Goerliは2022年8月11日にPraterビーコンチェーンテストネットとの統合に選ばれ、PoAからPoSコンセンサスへの移行を成功させました。

Goerliの最も深刻な問題はETHの供給量が限られていたことで、これがサービス終了間際に深刻なETH供給問題を引き起こしました。Goerliで開発を行う開発者やユーザーの多くは、複数のフォーセットからテストトークンを入手するか、場合によっては購入費用を支払わなければなりませんでした。

最新のテストネット:Sepolia/HoleškyとHoodi

SepoliaもPoAテストネットであり、主にETHPandaOpsによってメンテナンスされています。 ETHPandaOpsは、Ethereumインフラストラクチャの監視と最適化に重点を置くチームです。現在、Ethereumインフラストラクチャの中核メンテナンスチームとして、主に以下の機能を提供しています。

  1. ネットワーク監視ツール:Ethereumネットワークの健全性、パフォーマンス、動作に関するデータを提供します。また、Ethereumネットワークパフォーマンスに関するデータセットであるXatuも管理しています。
  2. テストツール:主にEthereumコア開発者向けで、複数の異なるクライアントを含むDevNetを迅速に構築し、ノードソフトウェア内で特定のEIPが正しく実装されているかどうかをテストするのに役立ちます。このツールの代表的な例としては、ethereum-packageが挙げられます。
  3. その他のツール:例えば、ETHPandaOpsは、Funding-vaultテストネットトークン配布ツールとSnapshotterノードスナップショットツールも開発しています。

SepoliaはPoAテストネットであるため、PoSレベルの完全なテストを実施することはできません。そのため、実行層のテストに重点を置いています。簡単に言えば、スマートコントラクトのエンジニアとユーザー向けに設計されています。Goerliテストネットと比較したSepoliaの最大の利点は、テスト用ETHの供給量に上限がないため、開発者がウォーターポジションやショートポジションから比較的容易にテストトークンを入手できることです。

Sepoliaとは異なり、HoleškyとHoodiはどちらもパブリックテストネットであり、プロトコル層のテストに重点を置いています。プロトコル層のテストでは、主にPoS機能のテスト、例えばETHステーカーが正常にExitできるかどうかのテストが行われます。Holeškyはかつてプロトコル層のテストに最適なテストネットでしたが、Pectraのアップグレード中に大きなダメージを受けました。簡単に言うと、Pectraのアップグレード中にHoleškyテストネットの設定ミスが発生し、3つのノードクライアントがコンセンサスに参加できなくなりました。このコンセンサスの問題により、多数のステーカーが削減され、PoSステーカーのExitキューが非常に混雑しました。Ethereumコア開発者は、クライアントソフトウェアのアップデートを含む一連の復旧計画を実施しました。これに伴い、約2週間にわたる大規模なスラッシングキャンペーンが実施され、多数の不具合のあるノードが全資金を失い、PoSコンセンサスに参加できなくなりました。適切なノードソフトウェアと不具合のあるステーカーが削除された後、Holeškyテストネットは最終的に通常運用に戻りました。 しかし、Holeškyテストネットのインシデントにより、2025年2月末までPectraアップグレードの他のテストに参加できませんでした。最も重大な影響は以下の通りです。

  • 以前のコンセンサス問題により、Holeškyテストネットは混乱状態にありました。テスターは以前の設定ミスによって引き起こされたコンセンサス問題に対処する必要があり、テストの難易度がさらに高まりました。
  • 多数のステーカーが罰金を科され、退出したため、退出キューが非常に長くなり、テスターがステーキングの退出をテストすることが困難になりました。ステーキング終了はPectraアップグレードの一部です。

Pectraアップグレードのスムーズなリリースを妨げないよう、ETHPanOpsはHoodiテストネットを立ち上げました。基本的に、HoodiテストネットとHoleškyテストネットは、PoSなどのプロトコルレイヤーの適切な動作を検証するという同じ役割を担っています。ただし、HoodiテストネットはHoleškyテストネットよりもクリーンな設計となっています。

イーサリアム・インフラストラクチャのイテレーションから見た公共財の課題とブレークスルー

現在、スマートコントラクトエンジニアにとって、関連テストにはSepoliaテストネットが最適な選択肢です。プロトコルレベルのテストにはHoodiテストネットが最適であり、Holeškyテストネットはほぼ放棄されています。最近、ETHPanOpsは、60MBブロックガス制限がイーサリアムに与える影響を検証するために、SepoliaテストネットとHoodiテストネットのみを使用しました。

ビットコイン・テストネットの価値志向

上記では、イーサリアム・テストネットの基本的な歴史を紹介しました。 Ethereumテストネットにおける各変更は技術的な理由によるものでした。OlympicからMordenへの移行は、Olympic内での過剰なスパムトランザクションが原因でした。MordenからRopstenへの移行は、Morden内でのコンセンサス分裂の問題が原因でした。RopstenからRinkebyへの移行は、パブリックテストネットとしてのRopstenのDoS攻撃に対する脆弱性が原因でした。RinkebyからGoerliへの移行は、Mergeアップグレード後にRopstenが歴史的使命を終え、大量のデータが蓄積され、運用に適さなくなったためです。GoerliからSepoliaへの移行は、ETH供給問題とGoerliの運用ライフサイクルが原因でした。

一方、BTCテストネットの移行は非常に不安定です。Bitcoinには歴史的に4つの主要なテストネットがあり、それぞれ単にTestnet1またはTestnet2と名付けられていました。 Testnet1とTestnet2の関連履歴を見つけるのは困難ですが、Testnet3とTestnet4の間のアップデートには、多くの興味深い詳細が示されています。

Bitcoin Core v0.7で導入されたTestnet3は、主にTestnet2における高難易度とトランザクション承認の遅延の問題に対処しました。しかし、Testnet3のコードには問題があります。これらの問題の詳細な説明については、loppが2024年4月に公開した記事「Bitcoin Testnet Block Storms」を参照してください。簡単に言うと、testnet3テストネットには、ブロック難易度のリセットを引き起こす脆弱性があります。下の画像は、ブロック難易度のリセットを示しています。

イーサリアム・インフラのイテレーションから見た公共財の課題とブレークスルー

テストネット3の難易度は大きく変動しており、時折ブロック難易度のリセットが発生し、難易度が7桁も低下することがわかります。この異常な難易度の低下が発生すると、テストネット3のマイナーは理論上、ASICやGPUを使用して短期間で大量のブロックをマイニングできる可能性があります。

2024年4月、Lopp氏は「Bitcoinのテストネットを荒らす」と題した新しい記事を公開しました。この記事では、Lopp氏が以前に発見されたテストネット3の脆弱性を悪用し、ネットワークに致命的な攻撃を仕掛けた方法について説明しています。記事の中で、Lopp氏は自身の意図を具体的に次のように表明しています。

  1. Testnet3は廃止されるべき
  2. Testnetネットワーク内のBTCには価値がないべき

もちろん、Lopp氏がTestnet3を攻撃した直接的な原因は、ビットコインのZKロールアップを構築していたSatoshiVMプロジェクトが、テストへの幅広いユーザー参加を求めているという主張でした。当然のことながら、これらのユーザーはガス代などの目的でTestnetのBTCを入手する必要がありました。これがTestnet3でのBTCの売却につながりました。

Lopp氏は、TestnetのBTCには価値がなく、開発者は誰でも無料でTestnetのBTCを入手でき、TestnetのBTCは開発目的のみに使用されるべきだと考えています。SatoshiVMプロジェクトは明らかにLopp氏の価値観と一致していません。 Lopp氏は、不満を表明し、BTCテストネットのアップデートを促進するため、大量のテストネット3ブロックをマイニングする攻撃を開始しました。

イーサリアム・インフラ・イテレーションの観点から見た公共財の課題とブレークスルー

上記のグラフに示すように、Lopp氏がマイニングに参加した後、テストネット3ブロックの数は1日あたり300%増加しました。この操作開始後、Lopp氏はテストネットトークンを販売する一部のプロジェクトとMotoswapプロジェクトからの抗議活動を確認しました。調査の結果、Lopp氏はMotoswapがBSVコミュニティによって運営されていることを発見しました。 Lopp氏はこれらのユーザーからの意見に完全には満足せず、testnet3ブロックのマイニングにおけるハッシュレートを引き上げました。その結果、以下の画像に示すような驚異的なブロック生成速度を実現しました。

イーサリアム・インフラストラクチャのイテレーションから見た公共財の課題とブレークスルー

これは、testnet3が以前よりも150~200倍の速度でブロックを生成していることを意味し、testnet3に大きく依存するインフラストラクチャに大きな影響を与えています。例えば、Lopp氏がtestnet3への攻撃を開始した後、testnet3に依存していた有名なBTCサイドチェーンプロジェクトStackのテストネットは正常に機能しなくなりました。Stack氏は記事「Bitcoin Testnet上での構築における課題」の中で、エンジニアたちはtestnet3上でStackテストネットの機能を維持するために現在のテストネットコードを修正するのにかなりの時間を費やしたが、それでもStackテストネットを正常に機能させることができなかったと述べています。Stackは最終的にtestnet3上のテストネットを放棄し、Stackチームが管理するソブリンテストネットであるBitcoin Regtestを使用することを決定しました。

lopp氏は記事の中で次のように述べています。

真に価値のあるものにtestnetを使用するのは非常に悪い考えだと言えば十分でしょう。Testnetは安全ではありません。それを信じようとしない人々に、私は喜んでそれを証明します。繰り返しますが、人々がテストネットを使って刻印、ルーン、序数、取引所といった物議を醸すものをテストしているのかどうかは気にしません。しかし、実際に価値を得るためにそうしたことをするのであれば、ドージコインやライトコインのような仮想通貨を使う方がはるかに良いでしょう。つまり、意図的に制限されていない実稼働ネットワークを使うということです。

簡単に言えば、lopp氏がテストネット3を攻撃した根本的な理由は、テストネット3内のBTCに価値が生まれ始めたことです。もちろん、ビットコインコア開発者であるlopp氏は、テストネット3への攻撃には自身のGPUとローカルにデプロイされたノードのみを使用したと述べています。同時に、lopp氏はテストネット4のコードは徐々に完成に向かっているとも述べています。

記事の最後で、lopp氏はテストネットのトークン価値の蓄積を防ぐ唯一の方法は、定期的なリセットの文化を促進することかもしれないと述べています。理想的には、テストネットは定期的にリセットされるべきです。これにより、テストネットの状態占有率が低下し、テストネット内でのBTC価値の蓄積が防止されます。この観点から、Ethereumが各テストネットに対して事前に計画したライフサイクル(テストネットのライフサイクルの期限が切れるまで待機し、自動的に廃止する)は、先進的で効果的な設計です。

最後に、2024年10月にリリースされたBitcoin Coreバージョン28.0では、コア開発者がtestnet4のサポートを追加しました。

Ethereumと同様に、Bitcoinにもいくつかの種類のテストネットがあります。前述のように、Bitcoin Coreがサポートするパブリックテストネットであるtestnet3とtestnet4に加えて、Bitcoinには以下の種類のテストネットがあります。

  1. Bitcoin RegtestもBitcoin Coreが提供するテストネットですが、ローカルテストネットです。テストネットの所有者は、RPCを使用して直接ブロックを生成できます。
  2. Bitcoin Signetはハイブリッドテストネットです。このテストネットは公開されていますが、ブロックにはProof-of-Authority(PoA)に似た特定の署名が必要です。すべてのブロックは管理者の承認によってのみ承認されます。

前述のように、Bitcoinテストネットのアップグレードは、ある意味で「ブルートフォース」攻撃でした。Lopp氏は、Bitcoinテストネットのアップグレードを強制するために、testnet3ブロックのマイニングという最も極端な攻撃を用いました。

Ethereum内でtestnet3で発生したような問題が発生した場合、コア開発者は関係者を招き、コア開発者会議で議論・解決を図るでしょう。ある観点から見ると、このアプローチはより洗練されており、テストネットでテストを実行しているプロジェクトに影響を与えません。しかし、別の観点から見ると、このアプローチは分散性が低い可能性があります。しかし、Lopp氏によるtestnet3への直接的な攻撃は、可能な限り最も分散化された方法で彼の個人的な意志を表明したものでした。もちろん、結果として生じる混乱は、移行期の痛みとしか考えられません。

公共財と孤立理論

イーサリアムとビットコインのテストネットはどちらも公共財です。このセクションでは、公共財の経済的特性について簡単に説明し、いくつかのテストネットの挙動に対する経済的説明を提供します。まず、公共財の性質を定義する必要があります。公共財とは、複数の人が共有しても他者の享受を妨げることのないもののことです。公共財の定義は単純ですが、どの製品が公共財であるかを特定するには、特定の視点が必要です。多くの場合、公共財は公共性と私的性の両方を備えています。例えば、NFTはその芸術的価値から誰もが高く評価することができ、一部のユーザーの評価が他のユーザーの評価に影響を与えることはありません。この観点から見ると、NFTは公共財と見なすことができます。しかし、NFTの所有権は単一のオンチェーンアドレスに帰属するため、この観点から見ると、NFTは公共財ではありません。

なぜ公共財は多くの場合、公的な手数料の対象とならないのでしょうか?この質問への答えは、一般的な認識とは一致しないかもしれません。Ethereumテストネットを例に挙げてみましょう。アリスにもたらす価値は10、ボブにもたらす価値は1かもしれません。公共財であるEthereumテストネットは、アリスとボブで共有できます。したがって、Ethereumテストネットが手数料を請求しない場合、アリスは10、ボブは1の利益を受け取り、合計で11の利益を受け取ります。しかし、テストネットが手数料を請求する場合、本来であればテストネットを使用していたボブは、手数料が価値を上回るため、テストネットを放棄します。したがって、合計で10の利益を受け取るのはアリスだけです。上記の単純な例では、テストネットが手数料を課すと、本来であれば公共財の利益を受けるはずだった一部のユーザーが離脱し、全体的な利益が減少することがわかりました。

考えられる解決策の1つは、アリスに10ドル、ボブに1ドルを請求する価格差別です。しかし、大規模ネットワークでは、ユーザーごとに異なる料金を設定するには多大なコストがかかります。したがって、経済的最適性を達成するには、公共財は無料である必要があります。つまり、公共財は本質的に無料ではありません。単に、差別的な価格設定が経済全体の最適性を達成する上でコストがかかるため、公共財は無料である必要があります。ここでの核心となる問題は、公共財の価格差別化にかかるコストです。コストが十分に低ければ、公共財に価格を付けることができます。

経済学には、分離理論という概念があり、これは公共財の公共性を維持しながら料金を課す方法を扱っています。分離とは、公共財の一部のユーザーを他のユーザーから一定のコストで隔離し、これらのユーザーに料金を課すことです。まず、隔離されていないユーザーは公共財を無料で利用できます。しかし、隔離されたユーザーは料金を支払う必要があります。この支払いは必ずしも直接的な金銭的コストを意味するのではなく、時間などの間接的なコストを意味する場合もあることに注意してください。

例として、テストネットを見てみましょう。 Ethereumテストネットは隔離機能を実装しています。一般ユーザーはパブリックフォーセットからテストトークンを取得できます。しかし、大量のテストトークンを消費する必要があるユーザーについては、Ethereumテストネットはこれらのユーザーを隔離し、一度に大量のテストトークンを取得するには追加料金を支払う必要があります。現在、Ethereumはethpandaopsが管理するリポジトリであるFunding Vaultを使用しています。プロジェクトのテストのために大量のテストトークンを取得したいユーザーは、トークンの必要性を証明する一連の証拠書類を提出することで、ethpandaopsから直接トークンを受け取ることができます。

BTCテストネットシリーズも隔離機能を利用しています。ユーザーはパブリックフォーセットから少量のテストBTCを直接取得できますが、大量のテストトークンを必要とするユーザーは隔離されます。これらのユーザーは、テストネットノードを稼働させ、マイニングリソースを消費することでのみ、大量のテストトークンを取得できます。

公共財の提供者は、公共財の適切な利用を確保するために、意識的または無意識的に分離理論を採用する可能性があると考えています。分離理論は「公共財の濫用を防止する」という装いを見せることもありますが、本質的には独立した分離メカニズムを構築するものです。もちろん、分離される特定のユーザーと使用される方法は、各テストネットの価値観を反映しています。現在、BTCテストネットとEthereumテストネットの両方において、テストトークンには価値がないという点で概ね合意されています。

まとめ

この記事では、Ethereumのすべてのパブリックテストネットの進化をまとめ、BTCテストネット3で起きた劇的な出来事を紹介します。最後に、公共財の経済学について議論し、公共財が公共料金の対象とならない根本的な理由は、そのような料金が社会全体の利益に悪影響を及ぼすためであることを強調します。最後に、分離理論を紹介します。

共有先:

著者:GCC Research

本記事はPANews入駐コラムニストの見解であり、PANewsの立場を代表するものではなく、法的責任を負いません。

記事及び見解は投資助言を構成しません

画像出典:GCC Research侵害がある場合は、著者に削除を連絡してください。

PANews公式アカウントをフォローして、一緒に強気相場と弱気相場を乗り越えましょう
おすすめ記事
1時間前
1時間前
2時間前
2時間前
8時間前
8時間前

人気記事

業界ニュース
市場ホットスポット
厳選読み物

厳選特集

App内阅读