二つのビットコイン

Bitcoin Cash(BCH)とBitcoin Core(BTC)、二つのビットコインに関する考え

2017年8月にビットコインが分裂したことに驚いた事と思います。
この日を境にオリジナルのブロックチェーンが二つの異なるチェーン、Bitcoin Cash(BCH)とBitcoin Core(BTC)に分岐しました。

ビットコインの最大ブロック容量を巡って二つの大きなコミュニティが対立しています。

ビットコインのブロックはネットワーク上で発生した全てのトランザクション(取引)を含んでいます。これらの新しいトランザクションを含んだブロックはブロックチェーン上に10分毎に記録されていきます。トランザクションを成立させるにはまずトランザクションがブロックに取り込まれる必要があり、その後トランザクションを含んだブロックがブロックチェーンに追加される必要があります。

ビットコインは最大1MBというブロックの容量の上限がありました。これでは1秒間におよそ3回程度しかトランザクションを行うことが出来ません。沢山の人が同時に使い始めるとブロックがすぐにトランザクショでいっぱいになり、ブロック内に入れることが出来なくなってしまいます。トランザクションをブロックに取り込むマイナーに自分のトランザクションを優先的に処理してもらえるように、非常に高い手数料を払う必要があります。この結果により、多くの人が使うようになると手数料が高騰するというシナリオを繰り返すことなります。実際Bitcoin Core(BTC)は2017年にこの限界に達し、一時は最大で一回あたりの送金手数料が55ドル以上となりました。

Bitcoin Average transaction fee, USD chart
Bitcoin Core (BTC) の送金手数料の高騰がBitcoin Cash(BCH)を誕生させました。

二つのネットワーク拡張方法

Bitcoin Cash (BCH) の取った方法

Bitcoin Cash (BCH) はこの問題に対して論文通りに最大ブロックサイズ上限を増加させる事で対応しました。現在の最大ブロック容量の上限は32MBです。 これによってBitcoin Cash (BCH) はPayPal(ペイパル)が現在処理する数とほぼ同程度の取引をする事ができます。Bitcoin Cash (BCH) はブロックに収容できる取引の数が少なくなってきた場合は、この先も需要に対応する為にブロック容量の上限を増加させる計画です。Bitcoin Cash (BCH) の開発者は現在1GBブロックの運用試験を行なっており、この程度の容量のブロックは現在の家庭用コンピューターでも十分に運用可能であるという結果が示されています。将来的には今より性能の良いコンピュータ、安価なストレージ、高速なインターネットの開発が進むのでさらに大きなブロックでの運用も可能であると予想しています。一方でブロック容量の拡張はネットワーク資源の消費を拡大しマイニングの中央集権化を招くという反対の声もあります。

Bitcoin Core (BTC) の取った方法

Bitcoin Core (BTC) はブロックサイズの拡大をせず、現在のブロックチェーン上に2層目のネットワークを構築して解決する方法が最善の策であると結論付けました。これをセカンドレイヤーソリューションと呼び、Bitcoin Core (BTC) のセカンドレイヤーソリューションはライトニングネットワークと呼ばれています。この方法はブロックチェーン本体の取引数が増大しないようにする事が目的で、ユーザーがビットコインをライトニングネットワークに預ける事によってブロックチェーン自体に直接取引を書き込む事なくお互いにコインを送り合う事ができるというものです。ライトニングネットワークは非常に理想的な解決方法に聞こえますが、現在のところ大きな規模での実践経験がなく有効性はまだはっきり証明されていません。また、利用方法が非常に複雑なものになってしまう点、および基礎となるブロック容量が小さいままだとライトニングネットワークも期待されているように機能しない事なども問題として浮上しています。

二つの大きな観念の違い(BCHの動機、BTCの動機)

二つのコミュニティの分断は二つの大きな観念の違いから生まれています。Bitcoin Core (BTC) の支持者はビットコインのブロックチェーンは「価値の保存」の為にだけ使われるべきであり「通貨」では無いと信じています。Bitcoin Cash (BCH)支持者はビットコインのブロックチェーンは「通貨」として使えるからこそ結果として「価値の保存」が出来るものと信じています。

Bitcoin.jpはビットコインは「通貨」としても「価値の保存」を行うためのデジタル資産としても両方の機能があり両方の目的で使うべきものであると信じています。

私たちはビットコインのグローバル規模での利用を応援し成功させたいと考えています。この目的に最も適したバージョンのビットコインはBitcoin Cash (BCH)であると考えています。Bitcoin Core (BTC) はLightning Networkと呼ばれるセカンドレイヤーソリューションを行う計画ですが、この方法は大規模な非中央集権ネットワークでの実践経験が無く、多くの一般的なビジネスや小売店が簡単に利用する準備が整っていません。(*)

このような理由から私達はBitcoin Cash (BCH)バージョンのビットコインの普及に努めるものとします。 私達はこのBitcoin Cash (BCH)バージョンのビットコインがナカモトサトシによる有名なビットコイン原著論文(ビットコイン:P2P電子キャッシュシステム)で説明されているビットコインに最も近いものであると確信しています。

*将来、Lightning Networkが約束通りに大規模なネットワークでの運用に成功し有効性が確認された際にはこの立場を再考したいと考えています。

二つのビットコインに関しての記事



メディア

CoinGeekカンファレンスでのロジャー・バーの演説


リソース

txhighway
Tx Highway
Bitcoin Cash(BCH)とBitcoin Core(BTC)、二つのネットワークの実際のトランザクションデータを高速道路のモデルで視覚化。
txstreet
Tx Street
Bitcoin Cash(BCH)とBitcoin Core(BTC)、二つのネットワークの実際のトランザクションデータをバス停のモデルで視覚化。
fork dot lol
fork.lol
二つのコインの様々なライブデータの比較が出来る。
cash.coin.dance
Bitcoin Cash(BCH)とBitcoin Core(BTC)それぞれの価格、トランザクション手数料、採掘難易度やブロック高が簡単に比較できるサイト
coin dance
coin.dance
Bitcoin Cash(BCH)とBitcoin Core(BTC)、二つのネットワークを高速道路で視覚化。

二つのビットコイン FAQ

Bitcoin Core (BTC)の開発者とサポーター達は「大きな市場価値を持つBTCをアップデートするのは不可能、無責任」と主張してきましたが、ハードフォークとはソフトウェアのアップデートの事です。フォーク前の暗号通貨に対して互換性のないアップグレードがハードフォーク、互換性を保つアップグレードをソフトフォークと呼びます。ハードフォークはネットワークの合意が得られない場合二つのチェーンに分岐する事もありますが、ハードフォークが常に二つのコインを生む訳ではなくネットワークの合意があればハードフォークは安全に行えます。
Bitcoin Cash(BCH)の送金手数料は取引に必要なデータの大きさに応じて少額かかりますが普通は1セント以下で送金可能です、ウォレットの手数量設定が初期設定で高めに設定されている場合もあります、送金手数料が高すぎる場合はウォレット側で設定が変更できる場合もあるので確認してみてください。ご利用の仮想通貨取引所でかかる送金手数料は各仮想通貨取引所に独自に設定されています。
ブロックが小さいため手数料が高くなります。ブロックの容量を超える取引がある場合、次のブロックに取引を優先的にを入れてもらえる様に人々は手数料を上乗せします。手数料の高い取引から優先的にブロックに入ります確認されます、手数料を多くはらわない場合は容量に余裕が出来るまで待つことになります。これは、バスに例えるとわかり易いはずです。ビットコインのブロックをバスだとします。10分に一回バスがやってきます。バス停に並んでる人がどんどん増えていきます。バスの大きさはいつも同じなので順番待ちが増えていきます。すると今度は乗客が乗車料金を上乗せして優先的にバスに乗れるように運転手に頼みます。これが料金高騰の仕組みです。
違います。1MB制限はビットコインの市場価値がまだ非常に小さかった頃にネットワークへのスパムトランザクション防止ため一時的に設置されたフィルターです。1MBという数字はマイニング参加の敷居を下げる為に設定された訳ではありません。1MB制限がマイニングの為に最適というデータはありません。 ナカモトサトシはビットコインの価値が高くなった時にこの1MB制限を解除する前提で一時的に設置しました。
ビットコイン原著論文の2ページ目に「ビットコインの定義」という項目に「コインは連続するデジタル署名のチェーンと定義される。」とされています。segwitはデジタル署名をチェーンの外に出してしまいます。segwitコインはビットコイン原著論文で解説されているビットコイン定義と違う事になります。
Lightning Network現時点ではルーティングの問題を解決しておらず、ネットワーク拡大の為に当面は大きなハブやウォレット、交換所など中央集権化されたハブに依存すると予想されています。またチャンネル活性化の為に実際の需要よりも多くのコインがネットワークに必要となる事、Lightning Networkノードは常時ホットウォレットとなり運用にリスクが伴うなど現時点では様々な未解決の問題があります。
わかりません。Lightning Networkの開発ロードマップはありません。 2015年頃には半年以内に完成すると言われていましたが現在も未完成です。
ビットコインに関する幾つかの最も重要なオンライン上の議論の場所がSNSです。代表的なビットコイン関連SNSであるbitcoin talkやredditの/ bitcoinはブロックサイズを拡張する事を支持するコメントや投稿を削除するなどの検閲を行っています。
誰かがビットコインを送金すると、そのトランザクションはネットワークに送られ次のブロックに書き込まれるまで待機します。 この状態を0確認取引と呼びます。RBFはこの0確認状態のトランザクションに対して新しくさらに高額の手数料を払う事でトランザクションを上書きし先にネットワークに送ったトランザクションをキャンセルします。 0確認取引での商取引を行った後、すぐに別のアドレスにRBFトランザクションを行う事でこの取引をネットワーク上でキャンセルする事が出来てしまいます。 受け取る際に取引がブロックに入った事を確認するまで待つ事が出来れば(1確認)RBFを行う事は出来なくなります。RBFは利用には注意が必要となりビットコインの0確認取引の信頼性を損ねています。
Bitcoin Core (BTC) の 0確認取引はRBFの追加によって安全とは言えません。Bitcoin Cash (BCH) はRBFを取り除きましたので0確認取引は比較的安全であると言えます。Bitcoin Cash (BCH) で0確認取引を上書きできる方法はダブルスペンドアタックが成功した場合のみです。RBFに比べると膨大なリソースが必要となりまた成功率も非常に低い為、Bitcoin Cash (BCH) の0確認取引は日常的な利用において少額の決済であれば安全であると言えます。Bitcoin Cash (BCH) の場合も大きな金額の取引を行う場合は念のため取引がいくつかのブロックに書き込まれるまで待った方が安全です。
トランザクションは一度ネットワークに送られるとネットワークによって承認されマイナーがそれぞれ任意の取引を蓄積していきます。そのトランザクションがブロックに取り込まれるまで一時的に置かれる場所をmempoolと呼びます。mempoolにトランザクションが溜まる事で取引手数料が高騰します。
ビットコインは利用する際に利便性と安全性のどちらを重視するかユーザーが選ぶ事ができます。安全性を最も重視するのであればフルノードを設置し、ブロックチェーン上の全てのトランザクションを一つ一つ検証する事ができます。利便性を重視するのであれば軽量SPVウォレットを利用し必要な情報だけを取得する事もできます。またSPVウォレットはビットコイン原論文で説明されているビットコイン本来の機能で、SPVウォレットを利用する際に利便性と引き換えに安全性が犠牲となるというのも殆ど理論上のものでしかありません。実際にSPVウォレットが意図的に行われた悪意ある攻撃を受けたという実例もありません。またもし仮に攻撃者が大量のノードを準備しアタックを企てたとしてもSPVウォレットは一つだけでも正しいノードを見つけだし、最も長いチェーンを検証する事で攻撃を阻止する事ができます。
Bitcoin Cash(BCH)を初めて実装したのはフランス国籍の開発者Amaury Sechet氏です。Amauryに続きアメリカ人開発者Andrew Stone氏とカナダを本拠地にする Peter Rizun博士がBitcoin UnlimitedチームとしてBitcoin Cash(BCH)の開発に参加します。Bitcoin Unlimitedに続いてアメリカ人開発者Tom Harding氏が所属するBitcoin XTチームもBitcoin Cash(BCH)の開発に参加しました。 さらにイギリスを本拠地にするParity、アルゼンチンを拠点とするBitprism、サンフランシスコを拠点とするBCashの3つのチームもBitcoin Cash (BCH)対応のフルノード開発に参加しています。 Bitcoin Cash (BCH)もBitcoin Core (BTC)もどちらのビットコインも世界の誰かに所有されているわけではありません。また多くのマイナーが中国を拠点としていますが、中国人がビットコインを支配している訳ではありません。どちらのビットコインも世界中の開発者やサポーターがおり、Bitcoin Cash(BCH)は中国人が支配しているというのはミスリードです。
Bitcoin Core (BTC) はBitcoin Coreと呼ばれるたった一つの開発チームによって開発主導が行われています。 Bitcoin Cash(BCH)は6つの独立した開発チームによって開発されています。 それぞれのチームが開発したソフトウェアは互いに互換性を持ちますが、微妙に違う機能を持っています。 Bitcoin Cash(BCH)は開発の分散化ができているので、一つのチームが多くの人が反対するような変更をプロトコルに加える事を防ぐ事が出来ます。 また、これによってユーザーが好みのソフトウェアを選択する事が出来るようになります。 インターネットを閲覧する際にChrome, Firefox, Safariなどユーザが好みのブラウザを選ぶ事が出来るのと同じです。
EDAはBitcoin Cash(BCH)がBitcoin Core(BTC)から分岐した際にブロックが発掘されない状況を防ぐために作られた緊急難易度調整アルゴリズムの事です。その後EDAは難易度の発振という問題を引き起こしたため現在はDAAという難易度調整に変わっています。
DAAはBitcoin Cash(BCH)のEDAに代わる難易度調整アルゴリズムです。ブロックが10分毎に見つかるように各ブロック毎に直前の144ブロック(24時間)のハッシュレートを元に次のブロックの難易度を調整します。EDAの引き起こした難易度の発振という問題を解決し安定して約10分毎にブロックが見つかるようになりました。
これは最も有名な誤解です。Bitcoin Core (BTC)は高額の取引を行う事が出来ますが、手数料が高騰すると少額の取引を行う事が出来ません。Bitcoin Cash(BCH)は高額の取引も少額の取引も全く同じように機能します。
はい本当です。ビットコインの決済利用は2009年のビットコイン誕生から右肩上がりで上昇していました。しかし2017年の中頃からBitcoin Core (BTC)の取引手数料が急激に高騰し、多くの事業者が商取引にBitcoin Core (BTC)を決済方法として利用したり新規採用する事を断念しました。
昨年10月にフォーブスに掲載されたブロックストリームCEOアダムバックのインタビューの記事によると「ブロックストリームはサイドチェーンをエンタープライズ用途に販売し、取引手数料、月額利用料、ハードウェア販売やメンテナンスなどの事業」を行う計画とされています。
Bitcoin Cash(BCH)開発チームの一つBitcoin Unlimitedが、既に現在手に入る一般的な機材を使用してギガバイトブロック(1GB)での実験を行っており大変良好な結果が得られています。また元Bitcoin Core (BTC)の開発者のギャビンアンダーソンとそのチームがグラフェンという新技術を発表しました。これによって現在の10倍の速度でネットワークにブロックを伝播する事ができます。こうした新技術によってorphanedブロックが生成されるという懸念も解消されます。
ブロックサイズの大きさとマイニングで消費するエネルギーの大きさは関係ありません。大きなブロックも小さなブロックも一つのブロックを見つけるためにかかるエネルギー消費量が同じですが、一つのブロックに入るトランザクソンの数は大きなブロックの方が多いため一回のトランザクソンに使用されるエネルギー消費量は大きなブロックの方が少なくてすみます。ですから逆にBitcoin Cash(BCH)の方がずっと省エネルギーであると言えます。

Aさんとランチに行った際に立て替えてもらったお金をライトニングネットワークを使って返したいとします。Aさんは「OK!じゃあこのアドレスに1500円送って頂戴」と言います。しかしあなたはAさんとライトニングネットワークのチャンネルが開かれていない為、別の友達のBさんに「Aさんに1500円支払いたいのでAさんとライトニングネットワークのチャンネルが開いていないか」聞かなければなりません。
ラッキーなことにAさんとBさんは両者の間にチャンネルを開いていました。しかし残念なことにこのチャンネルには1000円しか入っていなかった為、あなたはAさんにランチ代1500円を払う事が出来ません。
そこであなたはまた更に別の友人を探しAさんに1500円送金できるチャンネルを探します。何十人もの友人に尋ねた挙句やっとAさんにランチ代1500円を送金できるチャンネルを見つける事が出来ました。


ライトニングネットワークのルーティング問題
Aさんと直接チャンネルを開く為にはオンチェーンでのトランザクションが必要となります。その際に必要な手数料は予測不可能で、一回のライトニングネットワーク決済の為に支払うのには高すぎる事になります。

ライトニングネットワークはユーザーが利用する度にルーティングの経路を常にアップデートしなければならず、利用するユーザーが増えるほど、この複雑な組合せは爆発的に増加します。

セグウィットはブロックのサイズは4MBですが、トランザクションのキャパシティを最大でも現在の1.7倍しか処理できません。Bitcoin Cash(BCH)は現在の32MBブロックで現在既にペイパルと同じレベルの処理が可能です。 またBitcoin Cash(BCH)のスケーリング計画は1GBまでのロードマップがあり、この場合はVisa/Masterカードの規模にまで拡張できます。既に1TBブロックの研究も始まっておりこのサイズのブロックであれば地球上の全人類が1日あたり50回オンチェーンでトランザクションを行う事が出来ます。