Bitcoin 用 Protocol Buffers

人物: martin

別の場所で、bitcoin に protocol buffers を使うことについて議論が続いてきた。利点をまとめると以下の通りだ:

-> エンコードが小さい -> 非常に高速 -> 多数の言語で実装が存在する (新しいクライアントを書くのが格段に楽になる) -> 前方互換性がある (これこそが protocol buffers の眼目だ) -> コード上で極めてシンプルに使える

最初の段階としては、ウォレットファイルを protocol buffers で保存することを提案したい。これは破壊的変更ではなく、しかも他のプログラムからウォレットファイルを解析しやすくなる。最終的には、ネットワーク通信にも bitcoin が protocol buffers を採用することを期待したい。

protocol buffers は手書きのパケット形式より大きくなるかもしれない、と指摘する人もいる。私は逆で、protocol buffers が用いる巧妙なエンコードのおかげで実際にはより小さくなると見ている。これを決着させるには検証が必要だ。protocol buffers でウォレットファイル/ネットワークパケットをエンコードし、現行方式でのパケットサイズと比較してみる。ただし、パケットの中身、何のデータが、どんな形式で格納されているのかを私はまだ把握していない。