#dusk $DUSK @Dusk
私は、ブロックチェーンのチームがネットワークを「配管」のように扱うのを見てきました。ブロックが届いてさえいれば、アーキテクチャについてはあまり注目されないことが多いのです。
Kadcastは、そのレイヤーを見る視点を私に変えてくれました。
Duskは、従来の「受信してゴシップし、繰り返す」というモデルだけに頼っていません。Kadcastは、構造化されたKademliaスタイルのオーバーレイによってピアを整理しており、メッセージの伝播がネットワーク内でノードがどこに位置しているかをある程度意識したものになります。これは些細な実装の違いのように聞こえるかもしれませんが、問題の性質を変えてしまいます。ランダムなピアに十分に広がってくれることを期待するのではなく、プロトコルは伝播をより意図的に行うことを目指しているのです。
私が特に面白いと思ったのは、不完全なネットワークをどう扱うかです。KadcastはUDPを使いますが、これは配送保証をいくらか手放します。そこに冗長性とフォワード誤り訂正を加えて、パケットロスに耐えられるようにしています。つまり、ネットワークを完璧に信頼できるものにしようとしていないのです。ネットワークはごちゃつくものだ、という前提に基づいて設計されています。
それは、私にとってずっと有用な捉え方です。
従来のゴシップは、冗長性から得られるレジリエンスが大きいです。Kadcastは、その知能のより多くをピア選択とメッセージルーティングに押し込むように見えます。トレードオフは複雑さです。構造化されたオーバーレイは、ルーティングテーブル、ピア発見、ブートストラップのプロセスを、不正な振る舞いをする相手や不利なトポロジーから守らなければなりません。
そのため、私は生の伝播ベンチマークにはあまり関心がありません。
本当の試験は、Kadcastが、ノードが消えるとき、パケットがドロップされるとき、ピアが悪い振る舞いをするとき、そしてネットワークが大きくなるときに、レイテンシを予測可能に保てるかどうかです。
速い伝播は役に立ちます。
ストレス下でも予測可能な伝播──それこそ、私が実際に測りたいことです。
私は、ブロックチェーンのチームがネットワークを「配管」のように扱うのを見てきました。ブロックが届いてさえいれば、アーキテクチャについてはあまり注目されないことが多いのです。
Kadcastは、そのレイヤーを見る視点を私に変えてくれました。
Duskは、従来の「受信してゴシップし、繰り返す」というモデルだけに頼っていません。Kadcastは、構造化されたKademliaスタイルのオーバーレイによってピアを整理しており、メッセージの伝播がネットワーク内でノードがどこに位置しているかをある程度意識したものになります。これは些細な実装の違いのように聞こえるかもしれませんが、問題の性質を変えてしまいます。ランダムなピアに十分に広がってくれることを期待するのではなく、プロトコルは伝播をより意図的に行うことを目指しているのです。
私が特に面白いと思ったのは、不完全なネットワークをどう扱うかです。KadcastはUDPを使いますが、これは配送保証をいくらか手放します。そこに冗長性とフォワード誤り訂正を加えて、パケットロスに耐えられるようにしています。つまり、ネットワークを完璧に信頼できるものにしようとしていないのです。ネットワークはごちゃつくものだ、という前提に基づいて設計されています。
それは、私にとってずっと有用な捉え方です。
従来のゴシップは、冗長性から得られるレジリエンスが大きいです。Kadcastは、その知能のより多くをピア選択とメッセージルーティングに押し込むように見えます。トレードオフは複雑さです。構造化されたオーバーレイは、ルーティングテーブル、ピア発見、ブートストラップのプロセスを、不正な振る舞いをする相手や不利なトポロジーから守らなければなりません。
そのため、私は生の伝播ベンチマークにはあまり関心がありません。
本当の試験は、Kadcastが、ノードが消えるとき、パケットがドロップされるとき、ピアが悪い振る舞いをするとき、そしてネットワークが大きくなるときに、レイテンシを予測可能に保てるかどうかです。
速い伝播は役に立ちます。
ストレス下でも予測可能な伝播──それこそ、私が実際に測りたいことです。
