#dusk $DUSK @Dusk
誰もがコンセンサスについて語る。でも、そのブロックがそれに投票する人々のもとへどうやって届くのか—その部分についてはほとんど誰も語らない。僕がそこで止まってしまった。
Duskは、ネットワーク全体にメッセージを伝播させるのにKadcastというものを使う。これは、ほとんどのチェーンが採用するゴシップ型の洪水とは違う、構造化オーバーレイネットワークだ。ゴシッププロトコルはランダムなピアにデータを押し付け、広がることを祈るだけ。Kadcastはその代わり、KademliaベースのP2Pシステムが距離によってノードを整理するのに近い形で、定義された構造を通じてメッセージをルーティングする。
それは些細なインフラ上の選択に思えたが、タイミングのことを考えると話が変わった。Duskのコンセンサスラウンドは、ほぼ瞬時のファイナリティを前提に作られている。でもファイナリティの速さは、投票のためにブロックデータを必要とする「最も遅い正直なノード」次第だ。伝播がランダムではなく構造化されていれば、配達時間はより予測可能になる。だが同時に、ブロックが通る経路は偶然ではなくネットワークトポロジーに依存することになる。
バリデータ300ノードを想像してほしい。純粋なゴシップなら、メッセージは数ホップの間に予測不能な、重なり合う経路を通ってそれらのうち90%に届くかもしれない。Kadcastのような構造化システムでは、その経路は各ノードが構造内のどこに位置しているかで決まる。平均ではより効率的だが、配置が悪いノードや、ルーティングテーブルの更新が遅いノードは、「ランダムな遅れ」ではなく「構造に起因する遅れ」のような形で遅れてしまう可能性がある。
誰も伝播を信頼の問題としては取り上げない。しかし実はそうなっている。ネットワークの形を、そのネットワークを動かしている人々と同じくらい信頼しているのだ。
では、「ほぼ瞬時の」ファイナリティは、トポロジーとコンセンサスのタイミングが別問題ではなくなり、同じ問題になった瞬間にどうなるのだろう?

$DUSK #dusk @Dusk