とってもやさしいビットコイン

とってもやさしいビットコイン

ビットコインや仮想通貨の知識が全くない初心者の方でもビットコインや仮想通貨がどういうものなのか分かりやすく理解できるブログを目指してます。

ビットコインのBIPから実装までの流れ

f:id:jyutakugyoseiku:20180120183200p:plain

 

ビットコインでは改善提案としてBIPという管理のされ方をします。BIPという提案が提出されてから実際に採用されるまでの流れを初心者の方にも分かりやすく解説をしていきます。

 

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

BIPとは

BIPは「bitcoin improvement proposals」の略です。直訳すると「ビットコインの改善(improvement)提案(proposals)」となります。つまりビットコインシステムを改善する為に提出される案の事を総称してBIPと言います。

 

BIP〇〇〇〇というのはそのビットコインシステム改善提案の番号で、その番号がどのような提案を指しているものなのかが一目で分かるようになっております。中には提案、というよりもビットコインシステムの決まり事を表しているものもあります。BIPその物がどのようなものかを定義しているものもあります。

 

例えばBIP0001…BIPが採用される為にはどのような流れを持つか定義したもの。BIP0101…ブロックサイズを変更するのはどうか、というものなど様々なものがあります。

 

BIPの中には既にビットコインの標準機能となっているものもあればその名の通り「提案」にとどまっているものがあります。

スポンサー

 

 

BIPを作成する為に

まずBIPを作成する為にはビットコイン開発者のメーリングリストに投稿する事でそれが過去に無いものか、実現可能な事なのかなどを議論します。過去のBIPでは議論の内容も記録されているのでどのような理由で実現不可能だったのかを確認する事ができます。

 

様々な意見を他の開発者からもらい、提案を研鑽していく事でBIPを作成していきます。提案が形になって来たら「GitHub」という開発者の共有ツールに投稿します。そして提案に問題が無さそうであればBIP〇〇〇〇という4桁の番号が割り振られます。

 

BIP提出後の流れ

BIP0001に記載されているようにBIPは以下のような流れで実装に向かいます。

 

f:id:jyutakugyoseiku:20180120180454p:plain

(画像元:https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki

 

まずBIPはDraft(草案)という段階からスタートします。そこからActive(実装)になるまで様々な意見が出され修正を加えていきます。

 

例えば先ほど例に挙げたBIP0101のブロックサイズ引き上げ提案の反対意見では「フルノードの集中化が起きる」「UTXOが増加してしまう」と言った意見が出ており他の対策として「少しずつサイズを拡大するのはどうか」などの意見があります。

 

f:id:jyutakugyoseiku:20180120182841p:plain

(画像元:https://github.com/bitcoin/bips/blob/master/bip-0101.mediawiki#Objections_to_this_proposal

 

Draftの段階からAccept(容認)やFinal(最終)に進んでもReplaced(戻して置く)として再度検討する段階に行く事もあります。

最終的にActiveから次の決定段階にまで進む事で実装になります。

 

実装方法

ビットコインでは仕様変更に際していくつかの方法が取られます。

分かりやすいところで言えば「ソフトフォーク」と「ハードフォーク」があります。ソフトフォークとハードフォークの意味についてはこちらソフトフォークとはやこちらハードフォークとはでご確認いただければと思います。

 

例えばソフトフォークでは実際にBIPが採用される為には95%以上のマイナーの賛成が必要になります。ハードフォークでは全ての参加者(マイナーだけではなくフルノードなど)の賛成が必要になりますが、この賛成が取れていない場合も変更は可能になります。賛同が取れていない状態で仕様を変更すると賛同している人と反対している人の支持するビットコインが誕生する事になります。

これがビットコインの分裂とも言われるもので、ビットコインキャッシュを生み出した原因ともなりました。(参考:ビットコインが分裂するのはなぜか

 

ハードフォークが行われる際、どのようになった時がビットコイン参加者の全体が賛成しているのかはまだ決まっていません。ここは非中央集権の組織ならではの課題と言えます。

 

他にもいくつかのタイプの仕様変更があり、その場合によってどのように仕様変更が決定されるのかは異なっています。

 

まとめ

以上がBIPから実装までの流れです。非中央集権の組織であるビットコインならではの問題があり、そこには今後のDApps(非中央集権アプリケーション)の課題があります。ビットコインのこのような側面を見てみる事でより深くビットコインを理解できると考えます。

 

関連記事

ビットコインコア(Bitcoin Core)開発者の役割とルール決定

スケーリングビットコイン(Scaling Bitcoin)とは ~世界的なビットコインイベント~

Segwit2x開発者、現在も開発を継続中

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で