BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

V 神の最新研究: ブロックチェーンのスケーラビリティの限界、マスクのドージコイン拡張手法を否定する

星球君的朋友们
Odaily资深作者
この記事は約6631文字で、全文を読むには約10分かかります
ブロックチェーンはどの程度拡張可能ですか?
AI要約
ブロックチェーンはどの程度拡張可能ですか?

この記事は以下からのものです。DeFiのやり方この記事は以下からのものです。

DeFiのやり方

DeFiのやり方

、著者: Vitalik Buterin、イーサリアムの創設者、許可を得て転送されました。

ブロックチェーンはどの程度拡張可能ですか?イーロン・マスク(テスラCEO)の望みどおりに、「ブロック時間を10倍短縮し、ブロックサイズを10倍に拡大し、それにより手数料を100倍削減する」ことが、極端な集中化を引き起こさず、ブロックにダメージを与えることなく実現できるのが基本であるチェーンエッセンスの性質?そうでない場合、ブロックチェーンのスケーラビリティはどの程度まで達成できるでしょうか?コンセンサスアルゴリズムを変更してスケールすることを選択した場合はどうなるでしょうか?さらに重要なのは、テクノロジーを変更して ZK-SNARK やシャーディングなどの機能を導入した場合はどうなるでしょうか?理論的には、シャード化されたブロックチェーンはさらにシャードを追加し続けることができますが、これによりさらに多くのものが追加されることになるのでしょうか?

シャード化されたブロックチェーンであっても、ブロックチェーンのスケーラビリティを制限する重要かつかなり微妙な技術的要因がいくつかあることが判明しました。多くの場合、対応するスケーラビリティ ソリューションがありますが、これらのソリューションにも制限があります。この投稿では、これらのスケーラビリティ スキームに伴う多くの問題について検討します。

すべての問題はパラメータを増やすだけで解決できます。しかし、どのくらいの費用がかかるのでしょうか?

1 一般のユーザーもノードを実行できます。これはブロックチェーンの分散化にとって重要です

午前 2 時 35 分、マイニング プール (場合によってはステーキング プール) の管理を手伝ってくれる地球の裏側にいる友人から緊急の電話が入ります。あなたのパートナーは、約 14 分前から、あなたのプールと他のいくつかのプールが突然チェーンから分離され、元のチェーンがまだネットワーク コンピューティング能力の 79% を担っていると言いました。ノードによると、この多数派チェーン (元のチェーン) によって生成されたブロックは無効です。これによりバランスエラーが発生しました。キーブロックが誤って追加の 450 万コインを未知のアドレスに割り当てたようです。

1 時間後、あなたは、あなたと同じように混乱している他の 2 つのマイニング プールと電報グループで通信を開始し、探索者や交換をブロックする人もいます。最後に、誰かがリンクをツイートしているのがわかります。ツイートには「新しいオンチェーンの持続可能なプロトコル開発基金が正式に発足した」と書かれていた。

朝になると、ツイッターやコミュニティフォーラムは検閲のない議論で埋め尽くされ、議論がいたるところで行われます。しかし現時点では、以前に新たに発行された450万トークンの大部分がチェーン上の他の資産に変換され、数十億ドルのDeFi取引が実行されています。コンセンサスノードの 79% とすべての重要なブラウザとライトウォレットがこの新しいチェーンに従っています。おそらく、この新しい開発者基金が何らかの開発に資金を提供するか、あるいはその資金がすべて主要なマイニングプールや取引所などに飲み込まれるかもしれません。しかし、結果がどうであれ、このファンドはどう見ても既成事実であり、一般ユーザーには反撃する力はない。

良い番組がやって来ます。おそらく MolochDAO か何かによって資金提供されています。

このようなことはブロックチェーン上で起こり得るでしょうか?マイニング プール、ブロック エクスプローラー、カストディアン ノードなど、ブロックチェーン コミュニティのエリートはおそらくよく連携しています。おそらく、これらはすべて同じ Telegram グループと WeChat グループに属していると考えられます。彼らが自分たちの利益をさらに高めるためにプロトコルのルールを突然変更したいと本当に望んでいるなら、おそらくそうするでしょう。イーサリアム ブロックチェーンは、かつてコンセンサス エラーを 10 時間で完全に解決しましたが、ブロックチェーンにクライアント実装が 1 つしかなく、コード変更を数十のノードにデプロイするだけで済む場合は、クライアント コード変更の調整速度が速くなります。このような組織的な社会攻撃を無効にする唯一の確実な方法は、分散型コミュニティ、つまりユーザーを積極的に防御することです。

明確にしておきますが、悪意のあるプロトコルの変更に対する抵抗は、ユーザーがブロックチェーンを検証する文化から来ています。 PoW や PoS の代わりに - Hasu

それは蓮の発言からも分かる

コミュニティが 37 のノード ランナーと、署名をチェックしてヘッダーをブロックする 80,000 のパッシブ リスナーで構成されている場合、攻撃者が勝ちます。コミュニティの全員がノードを実行している場合、攻撃者は失敗します。組織的な攻撃に対する「集団免疫」の正確なしきい値はわかりませんが、絶対に明らかなことが 1 つあります。それは、ノードが多いほど優れており、ノードが少ないほど悪く、数十または数百以上のノードが必要であることは間違いありません。

最初のレベルのタイトル

  • 2 では、フルノードで実行する必要がある作業量はどれくらいでしょうか?

  • ノードを実行できるユーザーの数を最大化するために、通常の消費者向けハードウェアに焦点を当てます。すぐに入手できる特殊なハードウェア (Amazon など) を必要とすることで、ネットワーク容量を追加することは可能ですが、実際には、これによってスケーラビリティはあまり向上しません。

  • フルノードが大量のトランザクションを処理する能力には、次の 3 つの重要な制限があります。

計算能力: ノードを安全に実行するには CPU 能力の何パーセントが必要ですか?

帯域幅: 現在のインターネット接続の現実を考慮すると、ブロックには何バイトまで含めることができますか?

  • ストレージ: ユーザーに保存するディスクの量は何 GB ですか?また、読み込み速度はどれくらい必要ですか? (HDD メカニカル ハード ドライブは使用できますか? それともソリ​​ッド ステート ドライブが必要ですか?)

  • 「シンプルな」テクノロジーを使用してブロックチェーンがどこまで拡張できるかについての誤解の多くは、これらの各数値について過度に楽観的であることに起因しています。これら 3 つの要素を 1 つずつ紹介します。

能力の計算

  • エラー: ブロック検証には 100% の CPU パワーを使用できます

  • 正解: CPU 能力の約 5 ~ 10% をブロック検証に使用できます。

  • 割合が低い主な理由は次の 4 つです。

  • DoS 攻撃の可能性に対する安全マージンが必要です (コードの弱点を悪用するために攻撃者によって行われるトランザクションは、通常のトランザクションよりも処理に時間がかかります)

ノードは、オフラインになった後にチェーンを同期できる必要があります。ネットワークから 1 分間切断しても、数秒以内に再びネットワークと同期できるようになります。

ノードの実行によりバッテリーが急激に消耗してはならず、他のすべてのアプリケーションの速度が低下してはなりません。

ノードは、主に p2p ネットワーク上で受信するトランザクションとリクエストの検証と応答を中心とした、ブロックを生成しない他のタスクも実行する必要があります。

  • 最近まで、「なぜ 5 ~ 10% だけなのか?」に関するほとんどの説明は、別の問題に焦点を当てていたことに注意してください。PoW ブロックはランダムに表示されるため、ブロックの検証にかかる時間が長くなるにつれて、複数のブロックが作成されるリスクも同時に増加します。この問題には多くの解決策があります (例: ビットコイン NG、または PoS の使用)。しかし、これらの修正は他の 4 つを修正するものではないため、多くの人が当初考えていたような大きなスケーリング上の利点は得られません。

  • 並列処理がすべてではありません。一般に、一見シングルスレッドのブロックチェーン クライアントでも並列化されています。署名は 1 つのスレッドで検証され、実行は他のスレッドで実行され、バックグラウンドでトランザクション プール ロジックを処理する別のスレッドが存在します。また、すべてのスレッドの使用率が 100% に近づくほど、ノードの実行に多くのエネルギーが消費され、DoS に対する安全マージンが低くなります。

帯域幅

  • 間違い: 2 ~ 3 秒ごとに 10 MB ブロックを生成している場合、ほとんどのユーザーのネットワーク速度は 10 MB/秒を超えるため、そのようなブロックを確実に処理できます。

  • 正解: 12 秒ごとに 1 ~ 5 MB のブロックを処理できる可能性があります。もう大変ですよ。

  • 最近、インターネット接続が提供できる帯域幅に関する広告統計をよく耳にします。100 Mbps または 1 Gbps という数字もよく聞かれます。ただし、次のような理由により、アドバタイズされた帯域幅と実際に予想される帯域幅の間には大きな差異があります。

  • 「Mbps」は「1 秒あたり数百万ビット」を意味し、1 ビットは 1/8 バイトなので、アドバタイズメントのバイト数を取得するには、アドバタイズされたビット数値を 8 で割る必要があります。

p2p ネットワークは必然的に独自のオーバーヘッドをもたらします。ノードは多くの場合、同じブロックを複数回ダウンロードして再アップロードすることになります (ブロックに含まれる前にメモリプールを介してブロードキャストされるトランザクションは言うまでもありません)。

ストレージ

  • ストレージ

  • 文章

エラー: 10 TB

文章

正解: 512 GB

おそらくご想像のとおり、ここでの主な議論は、理論と実践の違いです。

ブロックチェーンプロトコル研究者のグループは、全員がどのくらいのディスク容量を持っているかについて調査を実施しました。サンプルサイズが小さいことはわかっていますが、それでも何かを物語っています。

さらに、ストレージ サイズによって、新しいノードがオンラインになってネットワークへの参加を開始できるようになるまでにかかる時間が決まります。既存のノードが保存する必要があるデータは、新しいノードがダウンロードする必要があるデータです。初期同期時間 (および帯域幅) も、ノードを実行しているユーザーにとって大きなハードルです。このブログ記事を書いている時点では、新しい geth ノードの同期に約 15 時間かかりました。

Ethereum の使用量が 10 倍に増加すると、新しい geth ノードを同期するのに少なくとも 1 週間かかり、ネットワーク接続がスロットルされる可能性が高くなります。これは、これまでノードを実行したことのない新規ユーザーが攻撃に成功する場合、攻撃中に特に重要です。

最初のレベルのタイトル

さらに、これら 3 つのコストの間には相互作用があります。データベースは内部でツリー構造を使用してデータを保存および取得するため、データベースからデータをフェッチするコストはデータベースのサイズに応じて対数的に増加します。実際、最上位層 (または複数の最上位層) は RAM にキャッシュできるため、ディスク アクセス コストはデータベースのサイズ、つまり RAM にキャッシュされたデータ サイズの倍数に比例します。

このグラフを文字通りに受け取らないでください。データベースが異なれば動作も異なり、通常、メモリ内部分は単一レベル (しかし大きい) にすぎません (leveldb で使用される LSM ツリーを参照)。しかし、基本原理は同じです。

たとえば、キャッシュが 4 GB で、データベースの各層が前の層の 4 倍であると仮定すると、イーサリアムの現在の状態である約 64 GB には約 2 回のアクセスが必要になります。ただし、状態サイズが 4 倍の約 256 GB に増加すると、アクセス数は約 3 回に増加します。したがって、ガス制限が 4 倍増加すると、実際にはブロック検証時間が最大 6 倍増加する可能性があります。この影響はより強力になる可能性があります。通常、ドライブがいっぱいの場合は、ドライブがほぼいっぱいの場合よりも読み取りと書き込みに時間がかかります。

4 それでは、これはイーサリアムにとって何を意味するのでしょうか?

現在、イーサリアム ブロックチェーンでは、ノードの実行が多くのユーザーにとって課題となっていますが、従来のハードウェアではまだ実行可能です (これを書いているときにラップトップでノードを同期したところです!)。したがって、ボトルネックに近づいています。コア開発者の最大の懸念はストレージ サイズです。そのため、現時点では、計算やデータのボトルネックに対処するための英雄的な取り組みや、コンセンサスアルゴリズムへの変更でさえ、受け入れられるガス制限の大幅な増加につながる可能性は低いです。イーサリアムの最大の顕著な DoS 脆弱性を解決したとしても、ガス制限は 20% 増加するだけです。

ストレージ サイズの問題に対する唯一の解決策は、ステートレス性と状態の有効期限です。ステートレス性により、ノードのクラスは永続的なストレージを維持せずにブロックチェーンを検証できます。状態の有効期限が切れると、最近アクセスされていない状態が解放され、ユーザーはこれらの状態の継続的なメンテナンスの証拠を手動で提供する必要があります。どちらのパスも長い間使用されており、ステートレス性の概念実証の実装も開始されています。これら 2 つの改善を組み合わせることで、これらの懸念が大幅に軽減され、大幅に高いガス制限への扉が開かれるはずです。ただし、ステートレス状態と状態の有効期限が実装された後でも、他の制限が再び優勢になり始める前に、ガス制限を安全に増加できるのは約 3 倍だけです。

最初のレベルのタイトル

5 シャーディング後はどうなりますか?

その結果、シャーディングされたブロックチェーンは、シャーディングされていないブロックチェーンでは実現できない非常に高いトランザクション スループットを安全に実現できます。無効なブロックを首尾よく拒否する、完全に検証された有効な置換を作成するには、確かに暗号に関する多くの創意工夫が必要ですが、それは可能です。理論は確立されており、草案仕様に基づいた概念実証に取り組んでいます。

イーサリアムは二次シャーディングの使用を計画しており、その全体的なスケーラビリティは、ノードが個々のシャードを処理できなければならず、ビーコン チェーンが各シャードに対して何らかの管理作業を実行する必要があるという事実によって制限されます。シャードが大きすぎる場合、ノードは単一のシャードを処理できなくなり、シャードが多すぎる場合、ノードはビーコン チェーンを処理できなくなります。これら 2 つの制約の積により、一種の上限が形成されます。

シャーディングを 3 回または指数関数的に行うことで、さらに前進できる可能性があると考えられます。この設計ではデータ可用性のサンプリングは確実に複雑になりますが、実行することは可能です。ただし、イーサリアムはセカンダリシャードよりも上位のシャードを採用しません。その理由は、他のリスクが許容できないほど高くなり始めない限り、トランザクション シャードからシャードをシャーディングして追加のスケーラビリティを向上させることは事実上不可能であるためです。

最初のレベルのタイトル

6 では、これらのリスクとは何でしょうか?

最小ユーザー数

参加したいユーザーが 1 人だけであっても、非シャード ブロックチェーンは機能する可能性があると考えられます。これはシャーディングされたブロックチェーンの場合には当てはまりません。単一のノードではチェーン全体を処理できないため、少なくともブロックチェーンを一緒に処理できるように十分なノードが必要です。各ノードが 50 TPS を処理でき、チェーン全体が 10000 TPS を処理できる場合、チェーンが存続するには少なくとも 200 ノードが必要です。ある時点でチェーンのノード数が 200 未満の場合、ノード ソフトウェアの設定によっては、ノードがチェーンに追いつけなくなるか、無効なブロックの検出を停止するか、その他の悪いことが発生する可能性があります。

  • 実際には、冗長性 (データ可用性サンプリングを含む) の必要性により、安全な最小ノード数は、単純に「チェーン TPS をノード TPS で割った値」よりも数倍大きくなります (上記の例では、1000 ノードとしましょう)。

  • シャーディングされたブロックチェーンの容量が 10 倍に増加すると、最小ユーザー数も 10 倍に増加します。ここで、小さな容量から始めて、ユーザーが多数になったら容量を増やし、ユーザー数が減ったら容量を減らしてみてはどうだろうか、と疑問に思われるかもしれません。

  • 実はここにはいくつかの問題があります。

多くのユーザーが突然、予期せずに辞めたらどうなるでしょうか?

フォークを開始するために必要なユーザーの最小数を増やすと、悪意のある乗っ取りがより困難になります。

最小ユーザー数は 1,000 ですが、ほぼ確実に問題ありません。一方、最小ユーザー数は 100 万人に設定されており、これは決して受け入れられません。最小ユーザー数を 10,000 に設定することさえ少し危険です。したがって、数百以上のシャードを持つシャード化されたブロックチェーンを正当化するのは難しいと思われます。

最初のレベルのタイトル

7 履歴の検索可能性

ユーザーが本当に重視するブロックチェーンの重要な特性は永続性です。企業が倒産したり、エコシステムの維持に興味を失ったりすると、サーバーに保存されているデジタル資産は 10 年以内に存在しなくなります。一方、イーサリアム上のNFTは永続的です。

このリスクを定量化するのは簡単です。ブロックチェーンのデータ容量 (MB/秒) を約 30 倍すると、年間に保存されるデータ量が TB 単位になります。現在のシャーディング プランのデータ容量は約 1.3 MB/秒、つまり約 40 TB/年です。これを 10 倍に増やすと、400 TB/年になります。データにアクセスできるだけでなく、簡単にアクセスできるようにしたい場合は、メタデータ (たとえば、集計されたトランザクションの解凍) も必要になるため、年間 4 PB、または 10 年間で 40 PB になります。 Internet Archive は 50 PB のみを使用します。したがって、これはシャーディングされたブロックチェーンのセキュリティの合理的な上限です。

要約する

したがって、イーサリアムのシャーディング設計は、実際には、両方の側面でかなり合理的な最大セキュリティ値を大まかに目指しているように見えます。定数は少し増やすことができますが、あまり大きくしないでください。

最初のレベルのタイトル

要約する

ブロックチェーンの拡張を試みるには 2 つのアプローチがあります。それは、基本的な技術的な改善と単純にパラメーターを増やすことです。まず、パラメーターを増やすのは魅力的に思えます。ナプキンで計算をしている場合、自宅のラップトップで 1 秒あたり数千のトランザクションを処理でき、ZK-SNARK、ロールアップ、またはシャーディングは必要ないと自分を納得させるのは簡単です。残念ながら、このアプローチが根本的に欠陥があるのには、多くの微妙な理由があります。

ブロックチェーン ノードを実行しているコンピュータは、ブロックチェーンの検証に CPU パワーの 100% を費やすことはできません。予期しない DoS 攻撃に対する大きな安全マージンが必要であり、mempool タスクでのトランザクションの処理などを行うための予備容量が必要です。マシン上でノードを実行し、そのマシンが他のアプリケーションに同時に使用できないようにします。帯域幅も問題です。10 MB/秒の接続は、1 秒あたり 10 MB のブロックを使用できることを意味するわけではありません。おそらく 12 秒ごとに 1 ~ 5 MB ブロックです。これはストレージと同じです。ノードを実行するためのハードウェア要件を増やしたり、ノードの操作を専用のアクターに制限したりすることは解決策ではありません。分散型ブロックチェーンの場合、平均的なユーザーがノードを実行できるようにし、ノードの実行が通常のアクティビティであるという文化を育むことが重要です。

DeFi
ETH
NFT
ドージコイン
プライバシー コンピューティング
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina
記事目次
Odailyプラネットデイリーアプリをダウンロード
一部の人々にまずWeb3.0を理解させよう
IOS
Android