DAG システムのブロック サイズとブロック生成時間の一般的な分析の 1 つ
Soteria
2020-03-06 10:58
本文约2529字,阅读全文需要约10分钟
ブロック サイズとブロック生成時間は、ブロックチェーン システムの容量を直接決定する一対の設計変数です。

皆さんこんにちは、今日はブロックサイズとブロック生成時間の問題についてお話します ちなみに、Soteria DAG の設計においてこの問題にどのように対処するかについてお話します。

スケーリングが問題の鍵となる

ブロック サイズとブロック生成時間は、ブロックチェーン システムの容量を直接決定する一対の設計変数です。ビットコイン システムを例に挙げます。

ビットコイン システムは、およそ 10 分ごとに 1 MB ブロックをマイニングします。また、各トランザクションは平均 250 バイトを占有します。したがって、1 つのブロックには 4000 のトランザクションを保持できます。 10 分間に 4000 件のトランザクションがあるため、システム容量は 1 秒あたり 7 件のトランザクションであることがよく知られています。容量を 1,000 倍に拡張したい場合、これら 2 つのパラメータを調整できますか?たとえば、ブロック サイズは 100 MB になり、ブロック生成時間は 1 秒あたり 1 つになるため、新しいシステム容量の数値が計算されます。1 秒あたり 400,000/60 ~ 7,000 トランザクションとなり、PayPal と Visa は数秒で消滅します。答えは明らかに「ノー」です。そして問題はストレージではなく、ネットワーク送信です。

ネットワーク伝送とセキュリティの基礎

POW のセキュリティ基盤は、個人のコンピューティング能力がネットワーク全体のコンピューティング能力の 50% を超えないという事実に基づいています。基本的な必要条件は、どのノードもネットワーク内の他のノードと公平に競合する必要があるということです。それはレースを走るようなもので、全員が一緒にスタートしなければなりません。ブロックチェーンシステムは非同期システムであり、システム状態がほぼ同期している場合にのみPOWの安全性が保証されます。実際、POW マイニング報酬の重要な原則は、採掘者が掘り出したブロックをできるだけ早くブロードキャストしてネットワークで受信するように報酬を与えることです。同時に、彼らは、代わりにネットワークから送信された他のブロックを積極的に受信しています。環境に適応できないチェーン (最長チェーンの原則) で計算能力を無駄にします。この入出力 (TX/RX) の本質は、システム フレームワークの下でマイナーの自然な動作を使用して、ネットワークの同期を確保することです。

テスト用紙の発行からマイニングまで

ここには 2 つの変数があります。1 つ目は書類を通過する時間、2 つ目は質問を行う時間です。巻物は 1 枚の紙の場合もあれば、厚い束の場合もあります。教師がレポートを印刷するとき、各ページにクラス全体の分量を印刷するため、私たちが 1 枚ずつレポートを渡さなければならないとします。したがって、試験用紙は 30 分で合格することもあれば、すべて出さなくても 10 分で合格することもあります。同様に、この問題も難しいものと簡単なものがあり、頭の良い子は電卓を使って10分で終わりますが、厳格な子は完全に口頭で計算し、終わるまでに2時間かかることもあります。

ここには 2 つの変数があります。1 つ目は書類を通過する時間、2 つ目は質問を行う時間です。巻物は 1 枚の紙の場合もあれば、厚い束の場合もあります。教師がレポートを印刷するとき、各ページにクラス全体の分量を印刷するため、私たちが 1 枚ずつレポートを渡さなければならないとします。したがって、試験用紙は 30 分で合格することもあれば、すべて出さなくても 10 分で合格することもあります。同様に、この問題も難しいものと簡単なものがあり、頭の良い子は電卓を使って10分で終わりますが、厳格な子は完全に口頭で計算し、終わるまでに2時間かかることもあります。

これで、私が試験用紙が発行されると述べた理由がおそらく理解できたでしょう。テスト用紙はブロックのサイズに対応し、問題の難易度はブロックの生成時間に対応します。小さな違いは、ブロック制では、全員に「今から時間を数え始めてください」と指示する教師はなく、代わりに、子供たちはテスト用紙を受け取るとすぐに時間を数え始めます。具体的には、次のようなリズムがあります。新しく生成された各ブロックのネットワーク伝播時間は 30 分 (ネットワーク ブロードキャスト半径) です。各マイナーは、新しいブロックを受信し、それが正しいことを確認した後、そのブロックでマイニングを開始します。新しいブロックは新しい試験紙のようなもので、ネットワークの普及は試験紙の発行です。そして、この紙が生徒全員に配布されるまでには少なくとも 30 分かかりますが、マイニングの各ラウンドでは、必ず他の人よりも 30 分早く紙を受け取る人がいます。しかし、鉱山労働者たちはそれは問題ではないと考えています。第一に、問題はかなり難しいです。試験時間は 10 分で、試験用紙を受け取るのが 30 分遅れても大きな影響はありません。第二に、教室での試験とは異なります。 , みんなの席はランダムでよくある交換では、最初にテスト用紙をもらう人が毎回違うので問題ありません。一部の不運なマイナーは、TA が新しいブロックを掘り出すとき、30 分間ネットワークの反対側で新しいブロックを生成しましたが、その新しいブロックはまだ彼に伝播されていません。したがって、彼の新しいブロックは無慈悲にも削除されました、つまり、それは孤立したブロックになりました。 TAの仕事は無慈悲にも無駄になった。しかし、これを回避する方法はありません。設計は勝者総取りですが、TA は実際にネットワーク全体のセキュリティに客観的に貢献しています (ここでは 500 語のゲーム理論分析が省略されています)

拡大

拡張したい場合にできることは、ブロック サイズを増やすか、ブロック生成時間を短縮するか、またはその両方を変更することです。ブロックの生成速度を 10 分から 30 分に変更してみましょう。これは大混乱で、試験用紙が配布される前に靴が終わってしまい、次の試験用紙を受け取り始める子供もいます。その結果、教室内の混沌とし​​た状況はしばらく制御不能になりました。テスト用紙の半分が床に散らばり、全員が新しいテスト用紙を集めるのに忙しかったのです。このパラメータを調整すると、孤立したブロックとフォークが大量に発生します。大量のネットワーク コンピューティング能力が無駄になるだけでなく、さらに重要なことに、前述した同期によってもたらされるセキュリティ モデルも失われます。テスト用紙はまだクラス全員に配布されていなかったので、子供用の靴が少しだけ作られました。したがって、次のテスト用紙を再発行してください。言い換えれば、平均して、各子供の靴は問題を完了するのに 15 秒しかなく、問題を完了するか無駄に終える必要があります。この直接の結果は、コンピューティング能力の半分だけが有益な仕事をしており、残りの半分は間違ったテスト結果を出しているということです。ネットワーク攻撃者の観点から見ると、以下の図に示すように、TA は実際には計算能力の半分だけを使って戦っています。つまり、彼の計算能力がネットワーク全体の 33% を占めている限り、TA は勝つ可能性があります。 、私たちではなく、通常言われていることの 50%

次に、ブロック サイズを前の 20 倍、つまり 10 分に増やしてみます。同様に、論文のページ数が増えると、論文を発行する時間、つまり送信時間は長くなりますが、論文を作成する時間、つまり速度は変わりません。ブロック生成量は変わらないが、最終的な教室は依然として同じ混乱状態です。孤立したブロックとフォークがまだ多く存在し、同様の計算能力の浪費が発生しています。したがって、送信速度がブロック生成速度と同程度である限り、システムによって最初に設計された多くの機能、特にセキュリティは保証できないことがわかります。 2 つのパラメータが比較できない場合でも大丈夫ですか?例えばブロックサイズを4倍にするのはまだ20倍には程遠いですが、可能でしょうか?もちろん、それはあまり良くありません。ブロックのサイズが変更されたため、2 セットのプロトコルの下で作業していることになります。変更する前に、導入など、考慮して対処する必要があるさまざまなソフトウェア エンジニアリングやコミュニティの問題がたくさんあります。互換性。これは非常に茨の道ですが、「StoteriaDAG とフォークの人気分析」で慎重に科学の普及を行う機会を見つけてみましょう。いずれにせよ、容量拡大の問題は、実際にはこれら 2 つのパラメータの相互制約と相互作用の間の妥協の結果であることを誰もが理解する必要があります。この問題は、DAG のコンテキストではさらに興味深いものになります。

寛容の美しさ

BlockDAG を行うときの重要な目標の 1 つは、実際には拡張です。これまでの説明から、容量拡張は相互に排他的なパラメータのペアによって制約されることは明らかです。ブロックチェーン システムにおいてこれらが非常に複雑である理由は、最終的には、ネットワーク同期と勝者総取りという 2 つの原則によって引き起こされます。想像してみてください。後列の子供たちの靴がテスト用紙を受け取った場合、前列の子供たちの靴が履き終わり、次のテスト用紙の準備ができているとしても、それでも最後までやり遂げて欲しいスコアを取得することに固執します。孤児もラマ僧のポイントもなくなりました。フォーク、これは素晴らしいでしょうね。 BlockDAG はこの問題を解決します。マイナーは並行してマイニングできます。他の人が新しいブロックを掘り出した後で新しいブロックが役に立たなくなることを心配する必要はありません。ブロックはブロードキャストされます。次の記事では、DAG の前提の下でこれら 2 つのパラメーターがどのように相互作用するかについて詳しく説明します。

Soteria
作者文库