BitcoinJのオープンソースリリースとプロトコルに関する質問

Satoshiさん、こんにちは。

お元気でいることを願っている。ようやくすべての弁護士を説得し、GoogleのもとでApache 2ライセンスを使用してBitCoinJをリリースすることができた:

http://www.bitcoin.org/smf/index.php?topic=4236.0

まだ不完全で、特にブロックチェーンの分岐を適切に処理できていないが、残りの部分は順次実装していく。ドキュメントとコメントに多くの労力を費やしたので、現在のコードを理解・ビルドできなかった新しい層にBitCoinを開放できればと思う。今後1〜2ヶ月で、完全なクライアントモード実装に必要な大きな欠落部分を仕上げる予定だ。

お忙しいところ恐れ入るが、いくつか質問にお時間をもらえれば幸いだ。

完全なSPVの実装の一環として、プロトコルにgetmerklebranchメッセージを追加することを考えている。これはトランザクションハッシュを指定すると{blockhash, branch}のペアのセットを返すもので、フルチェーンを保存せずにブロードキャストされたトランザクションをブロックに組み込まれる前に検証できるようにするものだ。このアプローチについてどう思うか?

また、最近さまざまなトランザクションタイプの探求を考えている。例えばtestnetでIsStandard()チェックを削除するなどだ。単純なコインの移動以外のトランザクションについて、あなたが事前に多くの思考を費やしたことは明らかだが、残念ながらそのいずれも論文やコード内に文書化されていない。エスクロー、マルチペイなどはいずれも興味深いが、スクリプト言語で何ができるかのアイデアリストをまとめてもらえないだろうか。

最後に、トランザクション置換を可能にするコードは無効化されているが、コメントにはその理由が書かれていない。これは単に攻撃対象領域・複雑さを減らすためだろうか、それともより深い理由があるのだろうか?シーケンス番号がトランザクション自体ではなくトランザクション入力のプロパティである理由も完全には理解できていない。

早くコミュニティに戻ってきてくれることを願っている!これを見たかどうか分からないが:

http://bitcoin.sipa.be/speed-lin.png

ネットワークにとってエキサイティングな時期だ!

ありがとうございます!
/mike