メリークリスマス、サトシ。世界のどこにいても、クリスマスを祝っているならだけどね :-)
私はAndroid携帯で動作するクライアントの構築を視野に入れて、簡易支払い検証のJava実装に取り組んでいる。そのため、ストレージ要件とBitCoinのスケーラビリティについて多く考えてきたが、論文では答えられていないいくつかの疑問が生じた(論文の新版を出してもいいかもしれない。現在では内容の一部が古くなっていると思う)。
具体的には、BitCoinにはマジックナンバーがいくつもあるが、コードも論文もどこから来たのか説明していない。たとえば、2100万コインで通貨膨張が止まるという数字。何かしら導出があるはずだが、どうしても見えない。
もう一つは10分間のブロック目標だ。これはトランザクションがネットワーク全体に伝播できるように選ばれたと理解している。しかし、BGPのような既存の大規模P2Pネットワークは、新しいデータを1分未満で世界中に伝播できる。
最後に気になる数字は、ブロックサイズの500kb制限だ。Wikipediaによると、Visaだけで2009年に620億件の取引を処理した。割り算すると平均で毎秒2000トランザクション、ピーク時はおそらくその倍の毎秒4000トランザクションになる。10分間のブロック目標では、ピーク時にブロックは240万トランザクションを含む必要があるが、これは500kbには収まらない。この500kbは公式クライアントから徐々に撤廃される一時的な制限なのか、それともより根本的なものなのだろうか?