ビットコイン・インスティテュート

Bitcoin用Protocol Buffers

人物: martin
martin 2010年7月29日23:29 UTC

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

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

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

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