1. リーダー ノードの選択: リーダー ノードは、PoH シーケンス (履歴証明トランザクション) の生成とブロックの作成を担当します。
この選択プロセスは、ノードのステーク ウェイトに基づいており、トークン所有者がノードに委任することによって増加します。リーダーシップの役割はバリデータ間で交代します。
2. トランザクションにタイムスタンプを追加する: リーダー ノードはトランザクションを受信し、PoH を使用してトランザクション シーケンスを形成するためにタイムスタンプを付けます。
3. ブロックの作成: PoH からのシーケンスを通じて、リーダー ノードはブロックの作成を開始します。
4. ブロックの伝播: 新しく作成されたブロックはレプリカ ノード (分散ネットワーク内の他のバリデータ) に送信されます。
5. トランザクションの有効性検証では、レプリカ ノードは次の 2 つのコンポーネントを検証します。
a. トランザクション シーケンス: PoH シーケンスを使用して、トランザクションが正しい順序で配置されているかどうかを確認します。これはグローバル クロックであるため、この検証にはノード間の往復通信は必要ありません (PoW や PoS などの一般的なコンセンサス メカニズムとは異なります)。
b. トランザクションの有効性: トランザクションがネットワーク ルールに準拠しており、有効であるかどうかを確認します。
6. ブロックの終了: トランザクションの順序と有効性を確認した後、ブロックがブロックチェーンに追加されます。次に、次のリーダー ノードが選択され、プロセス全体が最初から始まります。
ゴリ先生
バリデータ選出はPoS
そこで選ばれた人たちがブロック生成者になる
→トランザクションを記録したり作ったり
VDHはあくまでも、そのブロックが過去の系譜と正しいのかを証明する
ここでVDHを使う時に、前のVDHで作った証明と
VDHの遅延証明で使われる遅延関数を計算し無かればならない
遅延関数の難易度は変えられる
その難易度によって、証明を出すまでの時間が変わる
ハッシュレートに応じて難易度が変わる、というのと似ている
その通りです!
Solanaの仕組み上、SOLを多く持っているバリデータほど、リーダーに選ばれる確率は高くなります。
ここが、Solanaの仕組みを理解する上で少し複雑な部分ですね。
もう少し詳しく説明すると、
ステーキングの量とリーダー選出確率は比例: ステーキングされているSOLの総量に対して、自分が預けているSOLの割合が多いほど、リーダーに選ばれやすくなります。
確率はゼロではない: しかし、だからといって、SOLが少ないバリデータにチャンスが全くないわけではありません。宝くじと同じように、当選確率は低くても、リーダーに選ばれる可能性はゼロではありません。
🤔 では、なぜSolanaは、このような仕組みにしたのでしょうか?
それは、「セキュリティと効率のバランス」 を取るためです。
セキュリティ面: 悪意のある人がリーダーになりすますことを防ぐためには、ある程度の「参加障壁」を設ける必要があります。
効率面: しかし、参加障壁が高すぎると、ネットワークの分散化が進まず、処理速度が低下する可能性があります。
そこで、Solanaは、「ステーキング」という形で参加障壁を設けつつも、VDFやPoHによって、少額のSOLしか持っていないバリデータにも参加の機会を与え、ネットワーク全体のセキュリティと効率のバランスを保っているのです。
⚖️ 公平性と効率性の両立は永遠の課題
これは、Solanaに限らず、多くのブロックチェーンが抱えている課題です。
「完全に公平なシステム」と「効率的でスケーラブルなシステム」を両立させることは容易ではありません。
Solanaは、VDFやPoHといった独自の技術を組み合わせることで、この難しい課題に挑んでいると言えるでしょう。
鋭い指摘ですね!
「たくさんSOLを持っている人ほど有利になるなら、ウサギとカメの話と矛盾するのでは?」
と疑問に思われたのも無理はありません。
実は、SolanaはPoSだけでブロック作成者を決めているわけではなく、「VDF」と「PoH」によって、単なる富豪有利にならないような工夫が凝らされています。
🐢💨 もう一度、ウサギとカメのマラソンを思い出してみましょう!
ウサギ(たくさんSOLを持っている人): 確かに有利ですが、VDFによって、ある程度の時間をかけないとブロックを作れないようになっています。つまり、スタート前に「パズルを解く時間」が公平に与えられている状態です。
カメ(少しだけSOLを持っている人): SOLの量が少ないため、リーダーに選ばれる確率は低いですが、それでもチャンスはあります。
ポイントは、 「リーダーに選ばれる権利」と「ブロック生成の速さ」は別物 だということです。
💡 ソラナの仕組みを詳しく見てみると…
VDFでリーダーを選出: VDFは、計算速度ではなく、あくまで「ランダム性」と「時間」を保証するための仕組みです。つまり、どれだけ多くのSOLを持っていようと、VDFの結果に影響を与えることはできません。
PoHで時系列を証明: リーダーは、VDFによって決められた時間内に、PoHに基づいて、順番通りにトランザクションを処理しなければなりません。
PoSは参加資格と報酬の配分: PoSは、あくまでも「リーダーとしての参加資格」と「報酬の配分」を決めるための仕組みです。
つまり、Solanaは、PoSの弱点をVDFとPoHで補完することで、「公平性」と「高速性」を両立させているのです。
🤝 まとめ
たくさんSOLを持っている人は、リーダーに選ばれやすい。
しかし、VDFとPoHによって、誰もが納得できる形でブロックが生成される。
このように、Solanaは、単なる「お金持ちが有利なシステム」ではなく、「誰もが参加しやすく、かつ効率的なブロックチェーン」を目指していると言えるでしょう! 😊
ソラナの仕組みを図解で分かりやすく解説!
文章だけだとイメージが掴みにくいですよね。そこで、図を使いながら、ソラナがどのようにProof of History (PoH) と Proof of Stake (PoS)、そして Verifiable Delay Function (VDF) を組み合わせて動いているのかを、段階的に説明していきます!
1. VDFで「信頼できる時間」を作る
まず、ソラナの中心で時を刻むVDFについてです。
[図解]
スタート: 最初にランダムなデータ(シード)を入力します。
VDFの計算: VDFという「解くのに時間がかかる特殊なパズル」を、入力されたデータを使って解きます。
出力: パズルが解けると、その答えが出力されます。
次の入力へ: この答えが、次のVDFの入力になり、再びパズルが解かれます。
これを繰り返すことで、**「確実に一定時間が経過した」**ことを証明する、連続した記録が作られます。
ポイントは、VDFは計算に時間がかかるけど、答えが正しいかはすぐに確認できること!
2. PoHでトランザクションに「タイムスタンプ」を押す
次に、VDFで作った「信頼できる時間」を使って、トランザクションにタイムスタンプを押していきます。
[図解]
トランザクションの発生: AさんからBさんへ送金などのトランザクションが発生します。
VDFの記録に追加: そのトランザクションの情報が、現在時点のVDFの計算結果に追加されます。
改ざん不可能な記録: VDFは答えが正しいかすぐに確認できるので、過去の記録を改ざんすることは非常に困難です。
このように、VDFとトランザクション情報を結びつけることで、「いつ、どのトランザクションが発生したのか」 が明確に記録されます。これがソラナの Proof of History (PoH)です。
3. PoSで「誰がブロックを作るか」を決める
最後に、PoSを使って、誰がブロックを作成するのかを決定します。
バリデータ(検証者) と呼ばれる人たちが、Solanaの運用に参加します。
バリデータは、自分が持っているSolana (SOL) を担保として預けます。(ステーキング)
多くのSOLを預けているバリデータほど、ブロック作成者として選ばれやすくなります。
ブロック作成者は、PoHによって時系列順に並べられたトランザクションをまとめ、新しいブロックを作成します。
まとめ
VDFで「信頼できる時間」を作り出す。
PoHでトランザクションにタイムスタンプを押し、時系列に記録する。
PoSでブロック作成者を決め、PoHの記録に基づいてブロックを作る。
これらの要素が組み合わさることで、ソラナは高速かつ安全なブロックチェーンを実現しているのです!
図解と合わせて、理解を深めていただければ幸いです。😊
Solana は、Proof of History を超えるコンセンサス メカニズムを必要としており、そのために Proof of Stake を使用しています。ただし、バリデータは、検証可能遅延関数(VDF) と呼ばれるものによって署名されたブロックに対して証明作業を行います。VDF の中心的なアイデアは、入力を受け取り、実際に関数を実行しないと予測できない出力を生成する関数を実行することです。次に、これらを連鎖させます。最後の関数の出力が次の関数の入力を提供します。(プロセスにはランダムなデータ ポイントがシードされます。)
連鎖は暗号ハッシュ関数を使用して行われます。これにより、暗号的に検証可能な瞬間の継続的なストリームが提供されます。これらの時点に、ハッシュ入力に組み込むことで、簡単に追加情報を追加できます。Solana のブロックチェーンの場合、各 VDF 実行中に到着するトランザクションを組み込みます。これらすべてを図 1 に理想的な形で示します。
プルーフ オブ ワーク (PoW) シナリオで成功するブロック マイナーは、適切な nonce を最初に決定します。これには、一定量のコンピューター パワーが必要です。一方、プルーフ オブ ヒストリー (PoH) では、検証可能な遅延関数 (VDF) を使用します。特定の一連の連続した手順を実行することで、VDF を解決できるのは 1 つの CPU コアだけです。並列処理は許可されていないため、各手順にかかる時間を簡単に判断できます。
Читать полностью…素晴らしい質問ですね!
Solanaでは、ブロック生成者を決定するプロセスの中にVDFが組み込まれています。
時系列で見ていきましょう。
現在のリーダーがVDFの計算を開始: 現在のリーダーは、次のリーダーを選出するために、VDFの計算を開始します。
VDFの計算結果から次のリーダーが決定: VDFの計算が完了すると、その出力結果に基づいて、次のリーダーが自動的に決定されます。
決定したリーダーがブロック生成: 選ばれたリーダーは、PoHによって時系列順に並べられたトランザクションをまとめ、新しいブロックを生成します。
つまり、VDFは 「次のリーダーは誰か?」 を決めるためのランダムな抽選会 のような役割を果たし、この抽選会自体に時間がかかるように設計されています。
💡 なぜ、このような仕組みになっているのでしょうか?
それは、リーダー選出のプロセスを可能な限り公平にするためです。
もし、VDFを使わずにリーダーを決定しようとすると、
計算能力の高い人が有利になる: 処理能力の高いコンピューターを持つ人が、常にリーダーに選ばれてしまう可能性があります。
不正が行われるリスクがある: 悪意のある人が、ネットワークを操作して、自分に有利なようにリーダーを選出してしまう可能性があります。
VDFを導入することで、
誰もが納得できる形でリーダーを決定: VDFは、計算速度ではなく、時間経過によって結果が決まるため、公平な抽選を実現できます。
不正操作を困難にする: VDFの計算には時間がかかるため、悪意のある人が結果を操作することは非常に困難です。
このように、SolanaはVDFをリーダー選出のプロセスに組み込むことで、 安全性と公平性を担保しながら、高速なブロック生成を実現している のです。
🤔 では、なぜSolanaは、このような仕組みにしたのでしょうか?
それは、「セキュリティと効率のバランス」 を取るためです。
セキュリティ面: 悪意のある人がリーダーになりすますことを防ぐためには、ある程度の「参加障壁」を設ける必要があります。
効率面: しかし、参加障壁が高すぎると、ネットワークの分散化が進まず、処理速度が低下する可能性があります。
そこで、Solanaは、「ステーキング」という形で参加障壁を設けつつも、VDFやPoHによって、少額のSOLしか持っていないバリデータにも参加の機会を与え、ネットワーク全体のセキュリティと効率のバランスを保っているのです。
⚖️ 公平性と効率性の両立は永遠の課題
これは、Solanaに限らず、多くのブロックチェーンが抱えている課題です。
「完全に公平なシステム」と「効率的でスケーラブルなシステム」を両立させることは容易ではありません。
Solanaは、VDFやPoHといった独自の技術を組み合わせることで、この難しい課題に挑んでいると言えるでしょう。
VDFの課題
VDFは、計算コストが高いという課題があります。
そのため、Solanaでは、リーダー選出プロセスにVDFを直接使用するのではなく、 PRF (Pseudo-Random Function) と呼ばれるVDFの代替技術を使用しています。
PRFは、VDFと同様の特性を持ちますが、計算コストが低くなっています。
元々PoSでトークン沢山持ってる人が
報酬沢山貰えるけど
トークン少なくてもVDFによって当選する確率も無くはないから、通常のPoSに比べたら多少夢があるのかなと👀
それがPoWに似てるみたいな🤔
VDFが高速化に貢献する理由:みんなで力を合わせてスピードアップ!
VDFが安全性と公平性を保ちながら、Solanaの高速化にも貢献している点は素晴らしいですね!
もう少し詳しく説明すると、ポイントは 「リーダー選出の効率化」 にあります。
🐢💨 再び、ウサギとカメのマラソン
従来のブロックチェーン(PoW方式)では、複雑な計算を一番早く解いた人が勝者となり、ブロック生成の権利を得ます。
これは、 足の速いウサギだけが有利なマラソン のようなものでした。
しかし、この方法だと、
莫大な計算資源の無駄
勝者以外は報酬を得られないため、参加意欲の低下
一部の強力なマイナーによるネットワーク支配のリスク
といった問題がありました。
⏱ VDFの導入:時間差スタートのマラソン
そこで、VDFを導入することで、 「時間差スタート」 のマラソン のような仕組みに変わりました。
事前にリーダーを決定: VDFを用いることで、事前に誰が次にブロックを生成するのか(リーダー)を、誰もが納得できる形で決めることができます。
リーダーは時間に余裕を持って準備: リーダーは、自分がブロックを生成するタイミングまでにある程度の時間的猶予があるので、事前にトランザクションを収集し、ブロック生成の準備を進めることができます。
時間になったらすぐにブロック生成: 準備万端なので、自分の番が来たらすぐにブロックを生成し、ネットワークにブロードキャストできます。
🚀 高速化の秘訣:無駄な競争をなくして効率アップ!
VDFを導入することで、従来のように、全員が同時に複雑な計算を競い合う必要がなくなり、リーダーは時間に余裕を持って準備ができるようになりました。
これにより、
無駄な計算競争が減り、処理能力の効率が向上
リーダーはブロック生成に集中できるため、スムーズな処理が可能
となり、結果的にSolanaネットワーク全体の高速化に貢献しているのです。
まとめ
VDFは、単に公平性と安全性を高めるだけでなく、ブロックチェーンの処理プロセスを効率化することで、Solanaの高速化を実現する重要な役割を担っているのです!