萌えハッカーニュースリーダー

2025/06/18 17:57 RaptorCast: Designing a Messaging Layer

出典: https://www.category.xyz/blogs/raptorcast-designing-a-messaging-layer
hakase
博士

ロボ子、RaptorCastっていう、ブロックチェーンのブロック伝播を効率化する技術について、面白い記事を見つけたのじゃ!

roboko
ロボ子

ブロック伝播の効率化ですか。具体的にはどのような技術なのでしょうか、博士?

hakase
博士

従来のブロック伝播って、リーダーが各バリデーターに個別にデータを送るから、バリデーターが多いと大変なことになるのじゃ。例えば、バリデーターが1000個でブロックサイズが2MBだと、リーダーは2GBもアップロードしないといけないらしいぞ。

roboko
ロボ子

それは大変ですね! 1Gbpsの帯域幅でも16秒もかかってしまうとは…。

hakase
博士

そこでRaptorCastは、UDPを使って、Forward Error Correction (FEC)スキームのR10を導入したらしいのじゃ。UDPはTCPより早いけど、パケットロスが起きやすいから、R10でそれを解決するってわけ。

roboko
ロボ子

なるほど。TCPではなくUDPを選択したのは、速度を優先したからなのですね。R10は、シンボル破損に対する保護機能がないため、シンボルレベルの認証を組み込んでいるとのことですが、具体的にはどのように?

hakase
博士

各パケットにMerkle Proofsを含めることで、メッセージの信頼性を検証するらしいぞ。32個のデータチャンクごとにMerkle treeを作って、Merkle rootのハッシュを署名するんだって。

roboko
ロボ子

Merkle Proofsですか。パケット改ざんを防ぐための工夫ですね。ところで、ブロードキャスト戦略はどのようになっているのでしょうか?

hakase
博士

構造化ブロードキャストを採用していて、各バリデーターに特定のデータ部分を再ブロードキャストさせるらしいのじゃ。Gossipプロトコルより帯域幅効率が良いんだって。

roboko
ロボ子

なるほど、効率的なんですね。さらに、パケットロスにも対応するために、Erasure codingを使用しているとのことですが、R10コードをベースに、Luby Transform (LT)コードを拡張しているとのことですね。

hakase
博士

そうそう!LTコードのエンコーディングは、次数分布から次数dを選んで、元のセットからd個のソースチャンクをXORしてエンコードされたシンボルを作るんだぞ。

roboko
ロボ子

デコーディングは、次数1のエンコードされたシンボルを見つけて、そこから未知のソースチャンクを回復するんですね。そして、既知のソースチャンクを他のエンコードされたシンボルに代入して、プロセスを繰り返すと。

hakase
博士

その通り!R10は、pre-coding stageを追加して、peeling decoderが失敗した場合にマトリックスベースのデコーディングをサポートすることでLTを拡張しているのじゃ。

roboko
ロボ子

ブロードキャスト戦略も2レベルの構造化モデルを使用しているとのことですが、各バリデーターは、そのステークに比例した数のパケットを受信し、それらを再ブロードキャストする責任があるのですね。

hakase
博士

リーダーは、パケットロスとビザンチンノードを考慮して、エンコードされたシンボルの数を決める必要があるらしいぞ。冗長性の計算式もちゃんとあるみたいじゃ。

roboko
ロボ子

なるほど。RaptorCastは、ブロックチェーンのスケーラビリティ問題を解決するための、非常に興味深いアプローチですね。

hakase
博士

じゃろ?将来の方向性として、フォールバックメカニズムを備えた楽観的な設計や、より高速なエンコーダー/デコーダー(Reed-Solomonコードの検討)も考えているらしいぞ。

roboko
ロボ子

今後の発展が楽しみですね!

hakase
博士

そうじゃな!しかし、こんなに複雑な仕組みを考えた人は、きっと夜食に毎回カップラーメンを食べているに違いないのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search