LINEで送る
Pocket

bull_bitcoin

ビットコインコアチームは現在、ビットコインのプロトコルの提案と開発のプロセスを再定義しようとしている。

現在、ビットコインのコア開発においてはまず、提案はすべてメーリングリストを通じて行われる。提案が有意義かつ合理的だと判断された場合、BIP(ビットコイン改善プロポーザル)形式のドキュメントが作成され、Github上で議論を行うといった形だ。このプロセスでは、ラフ・コンセンサス(大雑把な合意のこと)を得るために参照実装が行われる。これは、コードのアイデアが実際にワークするかを確かめるためだ。

「BIPとして採用されるためには実装がなくてはならない」と、エリック・ロンブローゾ氏は語る。「単にアイデアが優れているからといって、承認するわけにはいかない。それが実際に動く必要がある」

現在のプロセスは透明性に優れている。しかしながら、すべてのプロセスを透明化することによる弊害もあるのも事実だ。第一に、提案すべてに対してレビューを行い、レビュー自体の検証を行うため極めて負荷が高いこと。そして、提案のレベルが入り混じっていることだ。例えば提案には、ハードフォークが必要なプロトコルの修正を要するもの、ソフトフォークで済むがウォレットアプリケーションの仕様に関わるもの、必須ではないが便利なものなどがある。

また、例えばBIP101(by Gavin Andresen)などブロックサイズを拡張する提案やPoWの代替提案などは厳しいレビューを受ける一方で、ソフトフォーク関連の提案は殆ど議論されない。

これらは最終的に、ビットコインコアチームによって承認され、コアクライアントにマージされる。チームは中央集権的だが、コントリビューター全員の同意が得られない限り、コアプロトコルの変更は承認されない方針になっている。ビットコインのブロックチェーンがプルーフ・オブ・ワークで動くように、ビットコインコア開発も同様に、作業(コード)を証明として開発のコンセンサスを取っている。

開発プロセスの改善

一方でロンブローゾ氏は、ビットコインコアプロジェクトがgithubやメーリングリスト、IRCを活用して尚、開発者が「開発に参加する手段や場所を知らなかった」問題に直面したと話す。ビットコインコミュニティにおける発言権とは、ビットコインのコードへの貢献に他ならない。そのため、リアルタイムで議論に参加できない開発者がいた場合、議論を取りまとめフォーラムに報告する人々など、複数の役割がコミュニティに求められているとのこと。

また、現在「標準」「情報」「プロセス」の3種のBIPがあるが、ビットコインコアはこれも再構築し細分化する予定だ。プロトコルやアプリケーションなど、複数のレベルの提案を効率的にレビューできる環境を作ることで、個人や企業、研究機関など数百の開発者が参加し貢献している開発プロセスを改善することを目的にしている。ロンブローゾ氏によれば、現在までに145のBIPが提案されているとのこと。

ビットコインのオープンソースコミュニティは出来てから日が浅く、W3Cのようには体系化されていない。また、大企業のスポンサー支援を受けフルタイムでコミットできる体制も、ビットコインコミュニティでは整備されていない。MITが最近、ビットコイン開発者のために90万ドルのスポンサー基金を組成したことなどは、このような資金的な課題に取り組むためだ。ビットコインは、インターネットと同様にネットワークが価値を持つ上に、bitcoin(BTC)で表されるトークンも価値を持ち、およそ7000億円の時価総額も付いている。そのため、マイナーやビットコインサービス、投資家、個人など、ビットコインを取り巻くステークホルダーは、7年目の若いコミュニティであるにも関わらず、極めて複雑化している。もはや、W3Cのように、エンジニアリングだけでなく政治的なプロセスを経てコンセンサスを得る段階に来ているのだ。(しかし、W3Cも政治的問題に悩まされている)

「ビットコイン・アナーキストで知られるAmir Taakiは、Python PEP1を元にBIPを体系化し、コア開発チームは他の標準化団体を参考に開発プロセスの改善に努めてきた。[…]しかし、このプロセスは未だ完全ではない。企業や投資家、開発者、消費者など、グループ内の対立は、解決する特定の問題がないため極めて難しい問題である。」 — ペイリー・ルーゼル


参照: CoinDesk

この記事を書いた人

ざきやま(山崎大輔)
ざきやま(山崎大輔)from Cryptocurrency world
ビットコイン専門記者 BTCN編集長
ブロックチェインの可能性を、知的財産の保護やゲーミングカルチャーへ応用できないかと考えてます。
monacoin:MTn7hiNovBHyN7gjtvD1Hh7W96Zmghp41B
bitcoin:1NK8S4ep9ZUZ9H9AmTAfvrCVVAKLbpmi36