Search

カルダノステークプールは何をしているのか?

This post was translated by BTBF from https://xstakepool.com/


カルダノステークプールは簡単にいえば、PoS(Proof-of-Stake)コンセンサスアルゴリズムであるウロボロスの参加者です。


シェリーフェーズでは、カルダノネットワークはウロボロスプラオスを利用します。ステークプールの主な機能は次の通りです。

  1. 新しいブロックを生成する

  2. 新しいブロックを確認する

  3. トランザクションの確認

以下の図1は、ステークプールがブロックを生成する際の一般的な手順を示しています。

図1:ステークプールがブロックを生成する方法

  1. 毎秒ごとにすべてのスロットで、ステークプールは検証済みランダム機能(VRF)を使用して、スロットリーダーであるかどうかをチェックします。この関数は、スロットID・ナンス・VRF署名キーを受け取り、ランダムな値を生成します。出力された値が、ステークプールの相対的なステーク量によって決定される閾値よりも小さい場合、特定のスロットでスロットリーダーになります。プールの誓約が高いほどステークプールがスロットリーダーになる可能性が高くなります。

  2. ステークプールがスロットリーダーとして割り当てられている場合、計算されたVRF値と証明書、およびネットワークによる確認中の待機トランザクションを元に、KESキーを使用して新しいブロックに署名します。

  3. ステークプールの新しいブロックは、ネットワークの他のノードにブロードキャスト(送信)されます。

ステークプールは毎秒において、スロットリーダーシップをチェックしているので、スロットリーダーに選ばれることを逃さないように、ステークプールは100%のサーバ稼働が必要不可欠となります。


VRFで使用されるナンス値は、乱数生成のシード値として使用されます。これは、前エポックのブロックからVRF値の最初の2/3をハッシュすることで生成されます。


ステークプールがブロックを生成していない場合でも、ブロックを検証し、トランザクションを確認することで役割を果たしています。

図2は、ステークプールがスロットリーダーになるのを待っている間にブロックが検証される方法を示しています。


図2:ステークプールが受信したブロックを検証する方法

  1. ステークプールはVRFを使用して、スロットごとにスロットリーダーシップをチェックします。

  2. 接続されたピアから新しいブロックが受信されます。

  3. ステークプールは、ブロックに署名した対応するステークプールからのVRF検証(公開)キーを使用して、ブロックのVRF証明を検証します。有効な場合は、ローカルブロックチェーンに追加されます。

ウロボロスプラオスの興味深い特徴は、各ステークプールが独立してVRFのスロットリーダーであるかを判断しているところです。スロットリーダーシップのスケジュールは事前にわかっておらず、プールはブロックが受信されて検証されたときにスロットリーダーが誰であるかを認識します。


これは、2つ以上のステークプールが1つのスロットのスロットリーダーとして自分自身を決定できることも意味します。これはいわゆるスロットバトルです。スロットバトルはVRFによって解決されるようになりました。 VRF出力値が低いブロックが、そのスロットの勝者であると判断されます。


IOHKによって開発されたカルダノノードコードは、ステークプールの所有者が自分のプールで動作するようにプログラムを構成した後、上記すべてのアクションを実行します。


ウロボロスプラオスの詳細については:


Eurocrypt 2018:Ouroboros Praos https://eurocrypt.iacr.org/2018/Slides/Tuesday/TrackA/01-03.pdf


Ouroboros Praos:適応的に安全な準同期プルーフオブステークブロックチェーンhttps://eprint.iacr.org/2017/573.pdf


IOHK | Bernardo David Presentation - Ouroboros & Ouroboros Praos IOHK - ベルナルドデビッドによるプレゼンテーション「ウロボロスとウロボロスプラオス」










※VRFとは?Verifiable Random Functions


91 views0 comments

Recent Posts

See All

ADA Rush 2021 Clue #10

I'm as raw as can be. Open me up, and play with my size. You'll see. Previous Clue #9 - KLWNA Next Clue #11 - CANUK