本稿について
本稿は、Tendermintホワイトペーパーの詳細版ともいえるTendermint現CTOであるEthan Buchman氏の執筆論文をもとにTendermintについて見ていくシリーズです。冒頭に筆者による「簡単まとめ」を入れ、その後にもととなった部分の日本語訳を載せるという順番で書いていきます。
論文「Tendermint: Byzantine Fault Tolerance in Age of Blockchain」の原文はこちら。
今回の対象範囲は第4章「Tendemint Subprotocols」のうち序文と4.1「P2P-Networking」で、これを読むとTendermintのP2Pによるネットワーキングについてやや詳しい内容が分かります。
原文はこちらになります。
スポンサードサーチ
要点をまとめてみる
- TendermintのP2Pネットワークでは、レート制限方式(rate-limited, TwitterのAPI制限のようなもの)で独立のリアクターを互いにやりとりしている。
- ピアは接続先の初期リストを受け取り、常時、TCP接続を維持する。
- メッセージはバイナリ化され、通信は暗号化される。
以下、今回取り扱った箇所の日本語訳なので詳細を知りたければどうぞ。
Chapter4. Tendermintのサブプロトコル
前チャプターのTendermintコンセンサスの表現では、ブロックや投票、トランザクション、その他ピアの情報を広めるために用いるゴシッププロトコルに関して多くの情報を書ききれていなかった。実用的なソフトウェアエンジニアリングに関する複雑な難問に注意を取られることなく、コンセンサスプロトコル自体に集中特化するためにこのようにした。このチャプターでは、コンポーネントを各ピアコネクション上で多重送信される相対的に独立なリアクターとして実装することで、書ききれなかった部分を十分に埋めるべく1つの特定のアプローチを説明する。
4.1 P2Pによるネットワーキング
まず、Tendermintのノードはそれぞれ相手に連絡するためのピアの初期リストを受け取る。各ピアに対して、ノードは永続的なTCPコネクションを維持する。そのコネクション上では、レート制限方式で複数のサブプロトコルが多重送信される。メッセージはコンパクトなバイナリ表現へとシリアル化されて回線上で送信され、コネクションは認証付き暗号プロトコルを介して暗号化される[28]。
このチャプターの次セクション以降では、各ピアコネクション上で多重送信される別々のリアクターについて説明する。さらなるピアのリアクター交換を行うことができることにより、いくらかの最小限の他のピアと接続した状態を維持するために、ノードはお互いに他のピアのアドレスをリクエストしたり以前に接続したことのあるピアの記録を付けることができる。
翻訳範囲の参考文献
[28]Whitfield Diffie, Paul C Van Oorschot, and Michael J Wiener. “Authentication and authenticated key exchanges”. In: Designs, Codes and cryptography 2.2 (1992), pp. 107–125.
(EthanのTendermint論文8 ←← 前)|(次 →→ EthanのTendermint論文10)
免責
邦訳には誤りがある場合がございます。予めご承知おき下さい。
確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。