ビットコインの情報サイトの運営者ブログ

サイトには掲載していない仮想通貨に関する時事的な情報や個人的な感想など。中級者以上向け。

ひそかに大きな仕様変更があったSteemは今後どうなる?

スタート時から何回か取り上げているSteemですが、かなり大きな変更があり1年前ごろに書いた昔の記事の情報が完全に間違いになってしまっているので改めて最新の情報を書いておきます。

最後の記事からの動き

創設者が脱退

今年初めにSteemの創設者であるDaniel Larimerが開発チームから脱退しました。彼はBitSharesの創設者でもあって、去年の初めにBitSharesチームから抜け、今年はSteemからも抜け・・・ということになります。Steemからの脱退を発表したのは、「今後もうSteemには投稿もしません」と突然の謎の引退宣言をSteem上に投稿したのが最初であり、当時は物議を醸しましたが、その後訂正しチームからは抜けたものの現在も普通にユーザーとして記事をSteemに投稿しています。

脱退の理由はEOSという新しいスマートコントラクトプラットフォームの開発のためのようです。最近スケーラビリティ関連で悩まされている?Ethereumの対抗馬にもなるようなブロックチェーンであり、プラットフォーム系を昔から重点的に調べている身としては取り上げてみても面白いと思うのですが、流行のERC-20トークン(Ethereumトークン)を利用してICOを行う予定らしくICO紹介みたいになるのもなんだか癪なのでICO期間終了後(約1年後)にでも気が向いたら書くかもしれません。

Steemから脱退したからといってBitSharesほどは大きな影響はなさそうな感じで、現在も残った開発チームにより報酬変更などを行うハードフォークが頻繁に行われているようです。

仕様変更

ホワイトペーパーは現在の時点でまだ訂正されておらず、新規の人にとって現在の情報を見つけるのが非常に大変で問題な気がするのですが、去年の11月末に大きな変更が行われました。

インフレ率(通貨発行量)の変更

最初は年率100%(初年度はそれ以上)新規発行のハイパーインフレ通貨としてスタートしましたが、さすがに不評であったためか、インフレ率が9.5%/年と変更され、さらに0.95%/年になるまで毎年約0.5%インフレ率を低下させる根本的な仕様変更がなされました。超高インフレ率であったため、当初Steemには通貨単位を切り上げる株でいう「株式併合」、通貨でいう「デノミ」という暗号通貨の世界では前代未聞のイベントも予定されていたのですが、直接の言及はないもののそれも実質的には廃止となりそうです。

この変更により、SPではなくSTEEMで長期保有しているとほぼ確実に長期的には値下がりするという元々あった状況がなくなり、トレード目的でSTEEMを購入するのもアリということになりそうです。

f:id:jpbitcoin:20170626195413p:plain

SteemDataより

 

供給量を上図のsupplyを見ると分かりやすいです。去年の末ごろから供給量の伸びがほぼなくなっていることが分かると思います。なお、STEEM自体の供給量は、ユーザーによるSPやSMDなどシステム内の他の通貨との交換状況により変化するので、綺麗な曲線にはなっていません。

 SP→STEEMの変換期間の変更

Steemのハイパーインフレ以上にさらに詐欺っぽい要素が「毎週に1/104回しかSPからSTEEMに変換できない」ことでした。しかし、変更後は毎週1/13を変換でき、約3ヶ月ですべての動かせないSPを他のFiatやコインに変えられるSTEEMに変換可能ということになりました。

これによりSTEEMの流動性が大きく増加し、価格形成にも大きな影響が出たと考えられるので、ホワイトペーパーで書かれていた目標はどこに行ったの?など賛否両論あります。

これらの変更が実際にいい影響となるのか、あるいは悪影響となるのかは分かりませんが、少なくとも第一印象での怪しさは大分軽減されそうです。

その他の仕様変更

同時にその他にも報酬に関わる変更がいくつかなされています。11月末の変更以外にも、全体のエコシステムに関わる変更ではないものの新規登録に関する仕様や細かな報酬に関する変更が今月も含めてしばしば行われているようです。どのような仕組み・構造でどれぐらい報酬が、記事投稿者・コメント投稿者・投票者に配分されるかは、複雑で未だに理解できていないのでこちらも省略します。

今後どうなる?

f:id:jpbitcoin:20170626201946p:plain

SteemDataより

上図は投稿数の変化です。5月初めからのアルトコインバブルに合わせて投稿数が大きく増え、最近の伸びはかなり著しいものがあります。また数年後にどうなっているかは分かりませんが、最初期の滑り出しとしてはまあまあ上手くいっているのではないかという印象です。

今後のさらなる成長には、仕様上やはり暗号通貨そのものの世界への普及が大前提になってしまう感じはします。

Steemにも賛否両論があって、創設者のDaniel Larimerを含めてscamと呼ぶ人もいます。その指摘が真実かどうかは分かりませんが、現在のICOバブルにより実態があるかどうかもあやしいプロジェクトが多く存在している中にあっては、Steemスタートから1年以上たった今でも、ICO・トークンプラットフォームとか単純な通貨用途のブロックチェーン以外では、コンテンツとして実際に既に動いていてユーザーもついている非常に珍しいブロックチェーンであるため、個人的な評価はかなり上がっています。

なんでも実稼働には時間がかかるものだとは思いますが、ちゃんと動いているだけで評価できるという今の悲しい状況を早く脱してくれることを切に願いたいものですね。

(元々そんなに安全なウォレットではないけど)Jaxxの「脆弱性」はそんなに深刻ではないよという話

本日、複数種類のコインを保管できるウォレットで有名なJaxxに脆弱性が見つかりETH,ETC,ZECなど計約40万ドルもの大金が盗まれたとのニュースが流れてきました。

Jaxxウォレット、脆弱性により$400,000ドル相当の暗号通貨が盗まれる

www.cryptocoinsnews.com

一大事ではありますが、FUDとまではいかないもののかなりセンセーショナルな見出しであり、必要以上に深刻なものなのではないかと不安に思う人も多そうですし、内容を正確に理解することでリスク軽減にもつながると思うので軽く捕捉記事を書いておきます。

Jaxxの「脆弱性」とはどんな脆弱性か

脆弱性というと非常に難解な場合もあるのですが、今回は全く難しくはない内容です。大本のソースを読んでもらえればすぐわかると思いますが、一言でいえば「ウォレットのパスフレーズが暗号化されていない」という脆弱性です。

正確に言えば暗号化はされているのですが、ユーザーがそれぞれで暗号化パスワードを設定できるのではなく、元々のソフトのコード内で規定されている同じ暗号化パスワードが常に使用されています。ソースコードを読めばすぐに暗号化パスワードがわかってしまい、すぐにパスフレーズが解読されてしまうために、実質暗号化されていないも同然の状態ということになります。

ただし、これはパスフレーズが暗号化されていないというだけで、「パスフレーズを外部に送信する」みたいな何かソフト自体にとんでもない脆弱性が含まれているということではなく、ウォレットをインストールしている端末自体が不正アクセスを受け、端末内のファイルを外部から見られる状態にならない限り盗まれることはありません

ゼロではないでしょうが、実際にこの脆弱性が原因で資産を盗まれた人は少ないのではないでしょうか。この脆弱性を指摘していた大本のサイトでも、別途自分でウォレットファイルを暗号化することにより脆弱性を修正できると書かかれています。

PCなどの端末がハッキングされてしまえば、ウォレット以外のすべてのファイルも盗まれることを意味します。万が一不用意にテキストファイルなどにパスワードを保管していればそれもすべて盗まれてしまいますし、今回のJaxxの脆弱性がなくユーザー設定のパスワードにより暗号化されていたとしても、ハッキングを受けるほどであれば容易にキーロガーを仕込まれて暗号化パスワードを盗まれ、結局パスフレーズも盗まれてしまうことが考えられます。

また、今回のニュースではPC版のJaxxが被害にあったようですが、他のiPhoneやAndroidでもコードベースは同じだと考えられ、万が一スマートフォンがハッキングされてしまえば、同様に簡単に盗難されてしまうと考えられます。あくまでも一般論としてネット経由のハッキングのリスクがスマートフォンよりもPCのほうが高いということにしかすぎません。

今回のニュースを見てとにかく急いで取引所に移したとしても、取引所のアカウントが不正アクセスを受けて不正送金されるリスクも同様に高いので、正直なところ大きな違いは無いと思います。

オンライン環境下のウォレットはそもそも危険度が高い

今回具体的にどのような手段で盗まれたのかは不明ですが、ハッカーの手間的に個人のPCがハッキングを受ける確率はかなり低いと考えられ、実際的には今後はマルウェアの拡大によって被害が増えていくことが考えられます。万が一パスフレーズを盗むようなウイルスに感染してしまった場合には、パスフレーズが暗号化されていれば多少はリスクが軽減されるかもしれませんが、暗号化されていたとしても資産を失うリスクは高いと思われます。

ということで、そもそも40万ドルもの大金をインターネットに接続されているウォレットに保管するのは、JaxxだろうがMyEtherWalletだろうがMistだろうがBitcoin Coreだろうが正気の沙汰ではありません。

結局どうするのが良いか

とはいえ、さすがにパスフレーズの暗号化すらまともにされていないJaxxはお粗末としか言えませんし、早急の対応が望まれます。※Jaxxは今後対応するつもりがないとの情報も出回っていますが、JaxxのCOOによれば修正対応予定のようです。

もともと小銭程度しかJaxxに保管していない人はそこまで神経質になる必要はない気がしますが、いずれにしても、今回の件をきっかけにより安全な方法での保管を考えるのはいいことです。

結局アドバイスをするならば、ハードウェアウォレットにしておけばいいよ、というのが一番無難な回答になってしまいます。ただし、ハードウェアウォレットも故障や不良品のリスクがありますし、100%安全なものではなく、最終的には12or24単語のパスフレーズをいかにして安全に紛失せずに保管するかという話になってきます。

人によって金銭感覚は違うと思いますが、少なくとも数百万から数千万以上の大金はハードウェアウォレットであっても過信せず、複数の端末・場所に分散保管するということをおすすめします。

ちなみに自分自身はビットコインに関しては、大部分を2PC(オフラインとオンライン環境)とか複数端末間でのマルチシグのウォレットを中心に分散保管しています(マルチシグは複数端末が必要でハードルがやや高いのと、盗難リスクは下がるものの紛失リスクが上がるので万人にはあまりお勧めできない・・・)。その他のアルトコインは種類だけはかなり多いものの量は雀の涙ほどしか持っていなかったので、今まではかなり適当に保管していましたが、最近のアルト全面高により結構な金額になってしまったこともあり、これをきっかけに宝の持ち腐れになっているハードウェアウォレットに移したり対応していないものは別の方法を考えなければ・・・と思っています。

ブロックチェーンに変わる新技術?DAGとは

今日は、ブロックチェーンではなくDAGを構造として用いる暗号通貨についての記事を書いていきます。

DAGとは

DAGとは・・・

有向非巡回グラフ有向非循環グラフ有向無閉路グラフ(ゆうこうひじゅんかいグラフ、: Directed acyclic graph, DAG)とは、グラフ理論における閉路のない有向グラフの事。有向グラフは頂点と有向辺(方向を示す矢印付きの辺)からなり、辺は頂点同士をつなぐが、ある頂点 v から出発し、辺をたどり、頂点 v に戻ってこないのが有向非巡回グラフである。

wikipedia記事より

ということで、よく分からないと思うのでさらに要約すると以下のような図の構造のことをDAGと呼ぶようです。

f:id:jpbitcoin:20170612193656p:plain
Directed acyclic graph - Wikipediaより

 

ブロックチェーンでは、あるブロックに着目すると前と後ろに繋がるブロックが必ず一つでなくてはなりません。対してDAGでは、ブロックチェーンと同じように「向き」があるものの、あるブロックの前後には二つでも三つでも同時に繋がっていていいという特徴があります。

上図ではちょっと分かりにくいですが、単純な一本の直線状のブロックチェーンに対して、DAGは複数の細かい繊維が絡み合ってできた「糸」に例えることも可能です。(実際の糸とは違いDAGではそれぞれの繊維が繋がっています。)

ブロックという固定幅の容器を利用しなくてもよく(ブロックを利用するDAGコインの構想も存在します)、また、ブロックチェーンのような一本の直線状の構造でないことから、DAGはスケーリングに優れており、より多くのトランザクションを処理できる能力に長けているという特徴があります。

早速ですが応用例を見ていきましょう。

応用例

(参考)EthereumのGHOSTプロトコル

実は、Ethereumのブロックチェーンの構造はGHOSTというプロトコルに基づき、「DAG的」なものになっています。かなり制限されたかたちのものであるため、GHOSTの論文の中でDAGという言葉は直接使われていませんが、次の応用例で書いていくDagCoinやIOTAのなかでもDAGの一例として引用されています。

GHOSTプロトコルとは、短いブロックの生成時間・間隔でもセキュリティを高く保つために開発されたものです。一般論として、ブロック間隔が短すぎると最新の採掘ブロックの情報伝達のタイムラグの影響で、マイナーAが1秒前に正しいブロックを採掘できたのにも関わらず、その情報が伝わらないうちにマイナーBも正しいブロックを採掘し、結果的にマイナーAとマイナーBが同時に有効なブロックを採掘するというような状況が頻発します。この状況では一方のマイナーのブロックは孤立ブロック(orphan block)として認識され、全く無駄なものとなりチェーンが分岐することでネットワークのセキュリティ低下にもつながります。また、ハッシュレートの低いマイナーはブロックの生成確率が低いので、同時に孤立ブロックの生成確率がより高くなってしまい、マイニングに関する権限のさらなる集中化の要因の一つにもなっています。

Ethereum(GHOSTプロトコル)では、このような問題を解消するために、同時に採掘された孤立ブロック(Ethereumではuncle blockと呼ばれる)にも採掘者に報酬を与え、uncle blockが完全に無効なものとはならず、有効なブロックチェーン(メインチェーン)を決定する要素の一つとしてブロックチェーンに組み込まれます。Ethereumではビットコインのように単なる「最も長いチェーン」ではなく「最も重いチェーン」がメインチェーンになります。重いというのはより多くのuncle blockがぶら下がっているチェーンという意味です。

uncle blockはブロックの前後には複数のブロックが連なっていてもいいというまさにDAG的なものですが、uncle block内の取引自体は考慮されず、メインチェーンの決定論理とマイナーへの報酬以外に使用はされていないので、あくまでも本質的な構造は枝分かれのない一本のブロックチェーンであることに変わりはなく、普通EthereumをDAG構造のチェーンと見なすことはありません。

ちなみにGHOSTプロトコルの開発者であるAviv ZoharとYonathan SompolinskyによりSPECTREというまさにDAGベースのブロックチェーンも提唱されています。

※EthereumではPoWアルゴリズムEthashにも同じDAGが使われていますが、ブロックチェーン構造の話とは異なるので省略します。

(構想のみ)DagCoin

恐らくインターネット上で最初に構想が発表されたDAG構造の暗号通貨は、Rootstockの現技術者で最近はASICBOOSTの発明者の一人としても有名でSegwit2MB関連でもしばしば名前が出てくるSergio Demian Lernerが、2015年9月に発表したDagCoinと呼ばれるコインです。

ホワイトペーパーのなかでは、DAGチェーンがまとまらずに「発散」してしまう危険性を最も重要視しその対策を中心に記述されていますが、その他の詳細についてはあまり書かれておらず、ホワイトペーパーによる構想のみにとどまっています。

そして、どれだけ影響を受けたのか、あるいは全く参考にはされていないのかは不明ですが、DagCoinとかなり似た仕組みで発表され現在既に稼働されているのが次のIOTAです。

IOTA

f:id:jpbitcoin:20170612205202p:plain

IOTAホワイトペーパーより(リンクは最後にまとめて)

IOTAはInternet of Things(モノのインターネット)産業における暗号通貨として開発、2016年7月にチェーンがスタートして、マイクロペイメント(少額決済)に特化するということを中心の目標としています。マイクロペイメント特化ということで、送金手数料が無料なことが最大の特徴です。

構造は上図を見ていただければお分かりかと思います。DAGの構造をしており、ブロックではなくトランザクション一つ一つが四角で表現されていて、ビットコインのようなブロックサイズの概念がないため、理論上は無限の量のトランザクションを処理することが可能です。

IOTAにおいてDAG構造のことは「Tangle」と呼ばれています。IOTAでは、「トランザクションは前の二つのトランザクションを参照していなければならない」という原則が定められており、この原則によりTangleが生成されています。

取引手数料が無料であるというのが最大の特徴ですが、その理由はビットコインのように取引の承認者である特定の採掘者グループというものが存在せず、利用者一人一人が採掘者(=取引の承認者)であることから来ています。まずトランザクションの生成時には先述のように前の二つのトランザクションを参照(承認)することが必要です。この承認時の作業にまさにビットコインの採掘時と同じように暗号学的な計算、つまりプルーフ・オブ・ワークを行います。Tangleのスタート時にすべてのIOTAトークンが生成されているので、採掘報酬などは一切ありません(ICO時にトークンの分配が完了しています。)。

なお、ほとんどの暗号通貨で取引手数料が導入されている最大の理由が、ネットワークへのスパム攻撃の防止であり、スパム攻撃を危惧する人も多いかもしれません。手数料が無ければノーコストで攻撃し放題という訳です。IOTAでは、そもそものトランザクションの生成条件が、前の二つのトランザクションを承認しなければならない、ということになっているため、スパム攻撃にはPoWが必要となりますし、逆にネットワーク上の未承認の取引を迅速に承認させるための有益な行為にもなるという面白い仕組みになっています。関連して、ネットワークへの参加者が増えれば増えるほど、よりネットワーク自体も高速化し強固なものになっていきます。

ちなみに、IOTAでは(おそらく暗号通貨の中で初めて?)既に量子コンピュータ耐性のWinternitz署名という署名方式が導入されています。将来を見据えた実装といえますが、Winternitz署名においては基本的にアドレスが使い捨てであり、同じアドレスを使用し続けていると徐々に秘密鍵が解読されるリスクが上がってしまうという、プライバシーどころではない危険性があるので注意が必要です。

IOTAのような新しいDAG構造では、いかにして二重支払いを防ぐか、DAGチェーンの分岐・分裂を防ぐかという課題が最重要になるわけですが、まだ完全には理解できておらずホワイトペーパーに書かれていない対応もあるようですし、かなり長くなってしまいそうなこともあるのでここでは省略します。気になる方はホワイトペーパーなどを参照してください。

Byteball

f:id:jpbitcoin:20170612213543p:plain

Byteballホワイトペーパーより(リンクは最後にまとめて)

IOTAに続いて2016年12月にチェーンがスタートしたのがbyteballです。マイクロペイメント特化のIOTAに対してなんでもできるのがbyteballで、現在はウォレットには実装されていないものの、任意のデータを埋め込んだり、トークンを各自で発行できたり、幅広いスマートコントラクトプラットフォームを目指しています。匿名送金の機能も既に実装されており、blackbytesという基軸通貨のbytesとは異なる匿名トークンが配布されています。

構造的には上図のとおりIOTAと同じDAGですが、PoWとDAGを組み合わせたDagCoin→IOTAの流れとは異なり、byteballではPoWが利用されず12人のwitnessという役割のノードが生成した「メインチェーン」をもとにトランザクションに「重み」を付け、二重支払いを防いでいます。witnessによる安定したメインチェーンをもとにすべてのトランザクションが有効かどうか決定されるため、(恐らく悪意を持ったwitnessからの攻撃が成功する場合以外には?)DAGチェーンが再構成されて過去の確認されたトランザクションが改変されてしまうという可能性がゼロであり、一度確認された後になかったことになる可能性もゼロで、ビットコインのようないわゆる確率論的なファイナリティの問題(何確認待っても100%取引が覆されないとは言えない)が発生しないとされています。

byteballのwitnessはBitSharesのDPOSにおける20人前後のwitnessと同じく、ほとんどが善意のwitnessであることをもとに設置されており、何人かが悪意を持っていたとしてもチェーンへの攻撃を防げるほど十分多く、また利用者一人一人がwitnessを評価できるほど十分少ない数ということで、12人が選ばれています。こちらもDPOSと同じくwitnessは自らのプロフィールを公開し選挙のように選ばれ、利用者が不適切と判断すればwitnessから外すことが可能です(ただしDPOSではないので、投票権が基軸トークンのbytesに応じて割り当てられているわけではなく、RippleのValidatorに似ているイメージのように思います。)。

byteballでは取引手数料が当然かかり、取引データ1バイトあたり1byteトークンを支払わなければなりません。支払った手数料はwitnessが報酬として受け取ることになります。

最後に

ということで、DAGコインについて紹介していきました。確かにスケーリングに優れており、ビットコインのようなブロックサイズ問題に悩まされずに済むというのは大きな利点でしょう。

ただし、まだまだ新しく専門的な検証もそこまでされているのか分からず、チェーンのセキュリティはホワイトペーパーどおりにいくのか数十年単位で見た時には未知数ですし、IOTAではつい最近までまともに送金もできない状況であったりうまく分散化をすすめられるか(現在は黎明期であるためにいくつか中央集権的な仕組みを導入しているようです)等の課題もありますし、byteballにはwitnessのシステムの信頼性の他にも取引手数料の単価が固定されていることで、今後投機により価格が高騰した際に実用性に耐えうるか(ホワイトペーパーの中で価格の安定化も述べられていますが個人的には納得できない)などの不安点もあります。

参考サイト

https://eprint.iacr.org/2013/881.pdf

DagCoin: a cryptocurrency without blocks | Bitslog

https://iota.org/IOTA_Whitepaper.pdf

https://byteball.org/Byteball.pdf

Wavesの近況

早いものでもう5月も終わりということで、密かなノルマとしていた月最低1回更新のために月最終日に滑り込み更新しておきます。

今回はちょうどブログの最初の記事でちょっと触れたWavesの近況について。他にも昨年にICOとかアルトコイン系で触れたものもありますが、悲しいことに進捗があまりなくて書くことがないので、なにか書くネタができ次第書きたいと思います。

Wavesって何?

公式ではトークン発行・転送・取引プラットフォームとうたっており、Nxtコミュニティから派生したNxt同様のブロックチェーン/仮想通貨です。

以前の記事でどんなものか書いていたので、詳しくはそちらの記事を参照してください。

近況

本当は技術的なことを書ければよかったのですが、相変わらず最初に発表されたペラペラのホワイトペーパー以外出来ていないようなので、どんな開発の進行状況かを説明するだけにとどめておくことにします。

ICO前は専属の開発チームの中にはフロントエンドの開発者が一名しかいなかったのでかなり開発力に疑問を持っていましたが、いざ始まってみるとそこそこの金額が集まったせいもあってか、開発チームの人数が増え、割と順調に開発が進んでいるようです。

トークン発行機能

Wavesの根本機能なので、ブロックチェーン立ち上げ後早い時期に対応しました。今後は、軽量型クライアントからトークン保有者に配当を簡単に送れる機能や取引手数料をWAVESトークンではなくカスタムトークンで支払えるようになる仕組みも実装する予定らしいです。

ウォレット

PC用の軽量クライアントはもちろんのこと、AndroidやiOS用のウォレットもリリース済です。

ゲートウェイの対応

Wavesは自分のブロックチェーン上でBTCといった他の暗号通貨やUSDなどの法定通貨を扱い交換できることを目指しており、トークン(IOU)というかたちで公式主導で発行されています。

今年に入ってWaves上のBTCトークンを実際のBTCと交換できるゲートウェイに対応したり、EURを現実のユーロと交換できるKYC/AMLを取り入れたゲートウェイに対応しているようです(こちらは現時点だとまだ利用不可?)。

この手のIOUはゲートウェイの破たんリスクがありますが、いろんなところが勝手に発行しているRippleやBitSharesなどのIOUとは違い、公式主導で一本化してやっているので、それらと比較すると割とリスクは低めなIOUと言えるかもしれません。

分散型取引所

トークン間の分散型取引所が既に実装されています。根本機能ですが、リリースから1年を待たず早い段階で実装されたのは好印象でした。

LPoSの実装

WavesではコンセンサスアルゴリズムにProof of Stakeを採用していますが、ビットコインのマイニングプールと同じようなイメージで特定のPoSマイナーに自分のWAVESトークンを貸し出す(リース)ことによりPoSマイニングの報酬の一部が貰えるLPoS(Leased proof of stake)という仕組みが実装されました。

派生元のNxtではかなりの残高を持っていないと、全くブロックが発見できず実質鋳造不可であるという課題があったため、それを解決するためのものだと思われます。NxtでもLPoSは可能なようです。

なお、Wavesでは基軸トークンのWAVESをすべて発行済であるため、報酬は取引手数料分のみとなります。ただし、採掘に成功すると、WAVESだけではなくMiners Reward Token(MRT)というマイナー報酬トークンも貰えます。具体的な仕組みはよく分かりませんが、このトークンはマイナーに関係するブロックチェーンのパラメータ(ブロック生成間隔など?)を変更する際の投票権となるようです。

終わりに

ということで、単なる宣伝記事になってしまいましたが、割と順調に開発が進んでいるようです。金だけ集めておいて何もやっている様子がないとか進捗が遅すぎるプロジェクトがあまりにも多いのでハードルが異常に下がっているせいもありますが、Wavesは割と好印象でした。ただし、トークンプラットフォームといってもCounterparty、Ethereum、NEM、Nxt、BitSharesなど既に多くのものが溢れていますし、それらを追い越して勝てる要素は残念ながらまだ無いように思われます。コミュニティ上には無意識・意識的にかかわらずポジショントーク的な発言がしばしば見られますが、個人的な印象としてはどれも欠点とか不安要素があって、これが将来生き残る!とかいったビジョンは全く見えませんし見当もつきません。

 

今後のブログとしては、6月は久しぶりにアルトコイン系について調べて集中して書こうかと思っています(本当は5月から書きたかったけど全然調べられておらず・・・)。最近の価格高騰も手伝って新しい人は増えているようですが、軽く調べた限り、幸か不幸か英語のホワイトペーパーを読んでまとめるような技術関連も書いている日本語ブログは1年前から全く増えていないような感じなので、まだ需要はあるでしょう。

ビットコインのスケール問題はいろいろ動きがあったようですが、どう転んでも一筋縄ではいかなさそうですし、フォークが目前の危機になる(7月頃?)とか確実に解決の方向に向かいそうであればまた書こうかと思います。

Electrumサーバーを建ててみた

以前作成したビットコインのフルノード機にElectrumサーバーをインストールしてみたので、万人向けではありませんが、その記事を書きたいと思います。

Electrumサーバーについて

Electrumはビットコインの代表的なデスクトップウォレットの一つで、現在はAndroid版なども公開されています。サーバー・クライアント型のウォレットで、クライアント側はbitcoinノードも兼ねるElectrumのサーバーに接続して残高情報を取得したり、送金作業を行ったりすることになります。

以前は公式のサーバーソフトしかなく、そのソフトの必要リソースが非常に大きかったのでサーバーを建てるのが難しかったのですが、最近になってElectrumXという軽量版のソフトが公開されたので、今では動かすためのハードルがかなり低くなりました。ということで、せっかく寄付をもらって立ち上げたフルノードなので、ウォレットのサーバーとしても稼働させることにしました。

今回は公開のサーバーにしていますが、プライベート設定にして自分専用にすることもできますし、サーバーを建てることでフルノードと同様のプライバシーを兼ね備えつつElectrumを利用することができます(万が一のハードフォーク時には、自分でフルノードを運用することで他人のノードを信用しなくてもよくなるので、セキュリティにも寄与します。)。

必要リソース

ElectrumXの具体的な動作環境は記載されていませんが、bitcoindの設定を絞ってメモリ1MBのRaspberry Pi 3で動かしている人もいるので、かなり貧弱なコンピュータでも動かすことができるようです。ちなみに、bitcoindとElectrumXを別々のコンピュータ上で動かすことも可能です。

ただし、低スペックのコンピュータの場合、データベースの保存にHDDではなくSSDを利用することが重要です。今回も、最初はHDDで動かしていたのですがあまりに遅くて試しにSSDに換えたところ処理速度が10倍以上に向上しました。ElectrumXのデータベースをSSDに置くだけで、接続はUSB2.0だろうが全然パフォーマンスが違うので、最新のPCでもない限り、VPSで運用する場合もRaspberry Piなどで運用する場合もとにかくSSDということをおすすめしたいです。

インストール手順

Linuxの操作に全く慣れていなかったり経験がないような人にはわざわざサーバーを建てることはおすすめしないので、さらっと簡潔に書いてしまいます。

インストール手順はgithubのページを見てもらうのが一番良いかと思います。必要環境はpython3.5.3以上(3.6をおすすめ)に加え、Pythonのライブラリとしてaiohttp、pylru、plyvel(LevelDB)またはpython-rocksdb(RocksDB)が最低限です。

Raspberry Piの場合はコマンドを列記したスクリプトも用意されているので、参考にしてみてください。

注意点

Electrumは基本的にSSLを利用して通信するので、サーバー側もSSL証明書を用意することになります。自己署名証明書でも問題ありませんが、サーバー設置後なんらかの原因で紛失した場合は、同一の証明書でない限りクライアント側から無効と判断されるので、バックアップをとっておくことが重要になります。Electrumでは、クライアント側は各サーバーのアドレスに対応する最初に取得した証明書をもとに、その証明書が有効かどうか判断するようになっているので、前の証明書が用意できなかった場合、サーバーのドメイン名を変更しなければなりません。

起動

セットアップが終わったらサーバーを起動することになります。最初はElectrumXのデータベースを最新のブロックまで同期することになります。コンピュータのスペックにもよりますが、bitcoindの同期と同じぐらいかかるようです。最初の同期を省略するために、定期的にデータベースをウェブ上にアップロードしてくれている人もいるので、必要な方は拝借すると楽でしょう。

実際に運用中

ということで実は一か月前くらいからElectrumサーバーを運用し続けています。ElectrumXのアップデートに対応するため定期的にソフトの再起動をかけているので時々急落していますが、平均すると常時300クライアントぐらいの接続があるようです。
f:id:jpbitcoin:20170429153544p:plain

現在のサーバー数は大体100前後を推移していますが、同じサーバーでもTor用サーバー(.onionで終わるアドレス)が別にカウントされたり、一部ネットワーク上に表示されないサーバーもあるので、下のグラフは必ずしも正確なデータではありません。
f:id:jpbitcoin:20170429153549p:plain

サーバーによってセッション数(接続クライアント数)はかなり変わってくるのではっきりとは言えませんが、単純計算だと300*100=30000人程が常時Electrumを起動していることになります。ただし、Electrumはサーバー・クライアント型であると同時にSPV的な認証もしており、1サーバーに対してアドレスの残高情報を問い合わせたりトランザクションデータを通信したりするだけでなく、1クライアントにつき7,8台のサーバーに同時接続して各サーバーのデータ間に相違がないか検証するので、実際は30000の1/7か1/8程で約4000人前後という感じ、多く見積もったとしても1万人はいかない程度になると予想されます。

このノード機は液晶画面もつけているのでElectrumX用のデータも表示するようにしました。※画面のディスク占有量はElectrumXのデータベースを保管するSSDのみを表示。現在は20GBくらいです。
f:id:jpbitcoin:20170429154305j:plain

まとめ

Electrumのサーバー数はElectrumXの公開後大幅に増加したので、ネットワークの貢献という点では現在はあまり意味がなくなっています。ただし、低スペックのコンピュータでも運用できるようになったという点は非常に大きいので、フルクライアントのウォレットを利用したいという方にとっては大きな選択肢の一つとなりました。

同じように自分のフルノードに軽量型ウォレットから接続したいという場合、Android用のBitcoin Wallet(schildbach)を除くとBitcore&Copayの利用が最も有名で情報も多い上にCopayのマルチプラットフォーム対応のおかげで汎用性が高いのですが、単純な手軽さでいうとElectrumに軍配が上がる気がします。Android用のElectrumはサーバーのIP直打ちができませんしiOS版はリリースすらされていないので、まだまだ不便ですが興味のある人は試してみてはいかがでしょうか。

Segwit有効化に向けて前進する?ASICBOOSTとその対策提案について

次の記事は久しぶりにアルトコイン系のものを書こうと思っていたのですが、なかなか調べるのが進まないので、引き続きビットコインの話題です。

内容は数日前から話題になっているASICBOOSTについて。Bitcoin Unlimitedとかスケーラビリティの話はExtension Blocksとか新しいワードが毎日のように出てきていて正直ついていけなくなっていたので、ほとんど調べずにスルーしていましたが、今回の話はSegwitの採用プロセスが始まってから初めてのCore側からの具体的なアクションになるので、調べてみることにしました。

ASICBOOSTについては既に以下のような記事が書かれており、概要を掴むには同記事を読むだけで十分です。何も知らない人は以下の記事を参照すると良いかと思います。実際はもう少し複雑で勘違いするひとも多そうな話なので、ここでは詳細に内容を説明してみます。

ASICBoost=中国マイナーがSegWitに反対する理由が判明する | ビットコインの最新情報 BTCN|ビットコインニュース

ASIC BOOSTの手法と対策について | ビットコイン研究所

ASICBOOSTとは

技術的なことはなるべく省略して説明したいと思います。簡単に言えば、ハッシュ計算(SHA-256)の対象であるブロック内のデータをちょっといじくることにより、消費電力を20~30%を節約することを「ASICBOOST」と呼びます。マイニング工場のハッシュレートのボトルネックが電力である場合(おそらくほとんどの場合そうなっている?)、ハッシュレートも上昇することになります。

covert ASICBOOSTとovert ASICBOOST

今回特に問題とされているのが、ASICBOOSTの中でも「covert ASICBOOST」と呼ばれているものです。covertというのは、hiddenとかsecretに似た意味であり、要するに非公開のASICBOOSTのことを指します。covertなので、ASICBOOSTを実際にやっているかどうかは、採掘されたブロックの情報を分析しても分かりません(ブロックの情報がcovert ASICBOOSTの証拠にできるという情報が一部に流れていますが、可能性があるということがわかるだけで、ASICBOOST搭載のマイニングチップに不備でもない限り断言できる確実な証拠が見つかることはありませんし、はっきり分かった時点で「covert」とは言えません。)。

overtというのはcovertの対義語で公開のASICBOOST、つまり誰にでもASICBOOSTを行っていると分かるかたちのものです。現在のところ採掘に際しovert ASICBOOSTを行っているマイニングプールはありません。

技術的にはcovert ASICBOOSTはブロックの中のMerkle rootという部分をいじくることで効率を上げ、overt ASICBOOSTはversion bitsという部分をいじくることで効率を上げるという違いがありますが、どちらも20~30%の効率化というパフォーマンス面での大きな違いはありません。

covert ASICBOOSTの問題点

最大の問題点はcovert型はSegwitをはじめとするビットコインプロトコルの「改善」に互換性がない、ということです。詳細は説明しませんが、現在採用プロセス中のSegwitだけではなく、(U)TXO Commitment、Committed Bloom filters、Fraud Proofsなどの今後実装が期待される技術にも互換性がないとされており、covert ASICBOOSTを許してしまうとこれらの新技術がすべて実装できないことになってしまいます。

特許の問題

一連の話のなかで重要なキーとなっており、かつ上記の互換性がない問題と並んで大きい問題となっているのが特許です。正直特許の話については、各国の特許や法律の関係については詳しくありませんし、具体的な内容が不明なこともあり、軽く調べただけではよくわかりませんでしたが、わかる限り説明してみたいと思います。

ASICBOOSTはそもそも2014年にTimo HankeとSergio Demian Lernerという人が考案したものであり、二人がアメリカでの特許を持っているとされています(現在はSergioは放棄してTimo一人が持っているという話もあり)。

ただし、その後二人の考案者が関わっているのか完全に別々な動きなのかはよくわかりませんが、2015年に中国のASIC製造業者であり75%ともいわれるシェアを持っているBitmainも同じようなASICBOOSTの特許を中国で取得しているとされています。

特許を持っているというのは、つまりその技術を独占できるということを意味します。BItmain自体は今回の騒動の中で、ASICBOOSTの機能がマイニングチップに含まれていることを認めながら、testnetでテストしたことはあるがmainnetで使用したことはないと主張しています。この主張が本当であれば大きなインパクトはないのですが、嘘であった場合は今までSegwitに反対してきた本当の理由はcovert ASICBOOSTが使えなくなるからではないか、ということが推測されるわけです。

ASICBOOSTについては全員が使っていれば違いが生まれないので大きな問題はないのですが、ビットコインに対する特許の悪影響として、特許の制限により一部しか使えないためにマイニングプールの集中化がより進むことが考えられます。

また特許の保有者(Timo及びBitmain)から訴えられる恐れが少ないという点で、マイニングプールが基本的には同じ性能であるovert型ではなく証拠が出てこないcovert型を秘密裏に使用するインセンティブにもなり得ています。

特許の問題は、特許がフリーライセンスであれば解決される可能性が高いと考えられますが、現在のところTimoのアメリカの特許もBitmainの中国の特許も有料になっているようです。

 実際に法律的にどうかとか細かい話は、専門家ではありませんし、Timoの特許は保留中であるとか、Bitmainの特許は実は無効なんじゃないかとかいろいろな話が出てきていることもあって複雑なのでよく分かりません。

 ASICBOOSTに対する対策の提案

ということで、前述のASICBOOST対策の提案が数日前にCore開発者の代表格であるgmaxwellより出されました。

 ASICBOOSTは「攻撃」なのかそれとも「最適化」であるかという議論がありますが、gmaxwellは提案の中ですべてが攻撃であると記述しながらも、特に緊急で重要度の高いビットコインプロトコルの改善の障害となるcovert ASICBOOSTのみをブロック、無効にする提案を出しています。過去にもASICBOOSTの対策の議論がありましたが、現状では他のovert型については特許の問題は残されているもののコミュニティの議論に委ねるとしています。

overt型は特許の関係でマイニングの集中化がすすむリスクや、version bitsを利用するためBIP9によるソフトフォークプロセスに軽微な影響がでるリスク(同時にできるソフトフォーク実行数が29個から十数個に減る程度)が考えられますが、現在のところ実際には行われていませんし、covert型とは異なりSegwitのような新技術との互換性があり、特許が完全にフリーライセンスになれば実質的に無意味なものと化すので、重要度は低いということです。

ASICBOOSTすべてが攻撃であるとか逆に最適化であると考える人もいるでしょうが、プロトコルの改善を阻害するcovert型のみが攻撃で対策すべきと考える人や特許による独占が問題だと考える人もいると考えられますし、白か黒かの単純な話でもないのでここらへんの議論には注意が必要です。

なお、この提案はSegwitでも利用されている95%のマイナーの賛成を必要とするBIP9ソフトフォークではなく、最近話題になっており前回も記事に書いたいわゆるUASFのようなかたちで、特定のブロック高でマイナーのハッシュレートに関係なくソフトフォークを実行する予定のものとなっています。

提案は出されたばかりであり、具体的な日付は決まってませんし詳細が変更される可能性もありますが、他の中心的なCore開発者たちは概ね賛成のようですし、BIP9のより安全なソフトフォークではないため「コミュニティのサポート」が必要としながらも、支持しない場合は新バージョンのCoreを利用しなければ良いという論理で、次々バージョンの0.14.2以降に組み込まれる可能性が高いと考えられます。

なお、covert ASICBOOSTはSegwitと互換性がなく、Segwitが有効化されることでも自動的に対策されることになるので、その場合は提案のソフトフォークの必要はなくなることになります。

Segwit有効化のためのシナリオ

また一ヶ月後には全く状況が変わっていてこの内容も的外れになっているかもしれませんが、この提案により今まで考えていた状況と大きく変わってきたので、Segwit有効化のために考えられるシナリオを最後に書いておきます。もちろんSegwitが永久に有効化されなかったり、Coreチームが解散してBitmain coinになってしまったりする最悪の可能性もあります。

①11月までに現在のBIP9下で賛成ハッシュレートが95%に達し有効化

最も理想的ですが最も楽観的で可能性も低そうなシナリオです。ASICBOOSTを反対派のマイナーが利用していて実はSegwit反対の真の動機であったという仮説が誤っていれば絶望的ですが、正しければマイニングプールが降参して賛成に転じたり、先の提案が11月までに実行されれば反対の動機がなくなって95%に達する可能性もないわけではないと考えられます。

②UASF(BIP148)によりSegwitが有効化

前回の記事でUASFについて書いた時は詳細が明らかになっていませんでしたが、その後BIP148というかたちで明確化し、BIP148適用のノードを運用できるパッチまでリリースされるようになりました。Core側に実装される予定のものではなくshaolinfryという例の人が書いたコードですが、BIP148の仕様の決定後はいくつかのCore開発者の中には意見を言う人も出ており、luke-jrやpetertoddなどは割と前向きな雰囲気を出しています。

ただし、ASICBOOSTへの対策の提案も行ったgmaxwellはBIP148に対して単純なUASFからやや離れた仕様やそもそも性急すぎる(今年の8月より開始)ことに否定的なコメントを出していますし、Coreノードに直接BIP148が実装される雰囲気は全くありません。

UASFの有効化は単純なノード数ではなくいわゆる「economic majority」と呼ばれる世界の取引所や決済サービス企業などの適用が最重要となるので、先日のハードフォークに対する声明でも見られたように特に中立性を強調することが多い取引所を考えると、Coreにもマージされていないパッチが圧倒的支持を得る可能性はかなり低いと思っています。

③11月のSegwit期限以降に再度ソフトフォークプロセスを実行、有効化

一連の騒動を受けて改めて考えると、この可能性が最も高くかつ比較的安全であると思うようになってきました。Segwit採用期限の11月15日までに有効化されなければもうSegwitは終わりだと思われている節がある気がしますが、今回の採用プロセスが終わりというだけで、CoreチームがコミュニティのSegwitに対する賛成状況を見てBIP9のプロセスをやり直すことなどは理論的には十分あり得るのではないでしょうか。

最も安全・確実な方法だった95%の賛成率を要するBIP9ソフトフォークは失敗したが、それはマイナーの攻撃によるためで、ノード数の状況などからコミュニティのSegwitに対するサポートは十分あるため、条件を緩くして再度実行という論理で、BIP9ソフトフォークで閾値を下げるかUASFソフトフォークのコードをBIP148とは別に書いてCoreに実装という流れが実際には考えられます。

④Segwit反対派がハードフォーク、Core側でSegwit有効化

ハードフォークシナリオ。最近はもうないだろうという風潮になっていますが、可能性としてはゼロになった訳ではないと思います。前回の記事ではいっそハードフォークと書いては見たものの、やはりあらゆる面で大変なので止めてほしいです。ただし、Core開発チーム的には攻撃されてもいくらでも対処法はあるというような余裕な雰囲気を醸し出している気がするので、怖いもの見たさに見てみたいドラマというのは言えます。

Bitcoin UnlimitedとCoreの対立について

ビットコインのETFが非承認になって、とりあえずしばらくの間はスケーラビリティ問題に話題が移りそうです。ということで、Bitcoin UnlmitedとCoreの対立についての簡単なまとめと私見を書いておきます。

Bitcoin Unlimited

Bitcoin Unlimitedとは、ビットコインのブロックサイズ上限1MBを撤廃して、ダイナミック(可変的)にブロックサイズを決定しようとするソフトウェアのバージョンです。「公式」のソフトウェアはBitcoin Coreと呼ばれており、その開発チームとは別の人々によって立ち上げられました。

現在のビットコインのブロックは、もうだいぶ前から1MB上限に達しており、最近は特に混雑具合が増して必要手数料が増大する状況になっているので、すぐにでもブロックサイズを上げなければならないという観点等から主にBitcoin Unlimitedの支持者が増えています。

現在はSegwitをソフトフォークによって実装するプロセスが実行中ですが、Bitcoin UnlimitedはSegwitに否定的であるというのが特徴です。その理由は、ソフトフォークはハードフォークよりも複雑だとか、Segwitやその後のLightening Networkによりマイナーの手数料が減るとか、SegwitはBlockstream社(サイドチェーンなどを開発するCore開発者の何人かが所属するブロックチェーンの開発企業)の商品でSegwitが実装されればBitcoinはよりBlockstream Coinになってしまうとか様々なことが言われています。

正直なところ個人的にはSegwitの否定的な意見に納得できるところはほとんどなく、政治的な道具になってしまっているという印象です。

また、Bitcoin Unlimitedは技術的にも以下のような危険性が指摘されています。

Bitcoin Unlimitedの設計哲学「突発的コンセンサス」が危険な理由 | ビットコインの最新情報 BTCN|ビットコインニュース

この件を含め、開発チームの開発力にも疑問があり、公開の定例ミーティングなども一切やっておらず、Coreの開発チームと比べると相当レベルが下がるのではないかという印象です。

そんなわけで、ダイナミックなブロックサイズ変更という根本思想一点には賛同できますし、Coreは現状を見ていますぐブロックサイズを上げるべきと感じます。ただし、Bitcoin Unlimitedにはその他で納得できるところがほとんどないので、Coreのほうが好ましいと思っています(日本には「Unlimited派」の人がほとんどいない気がするので、意見を発信してくれると面白い。)。

Segwitも持ち上げられすぎ?

同時に感じているのがSegwitが持ち上げられすぎではないかということです。「Core派」の中には、Segwitによりブロックサイズ上限が実質的に約2MBまで上昇するので、ハードフォークによってサイズ上限を引き上げるのと同じ効果だから、とりあえず賛成に回れという人もいますが、実質的に約2MBというと(当ブログ記事でも過去に書いてしまいましたが)語弊がある表現になってしまうかもしれません。

というのもSegwitを利用するには新しいアドレス形式(マルチシグネチャと同じ3からはじまるアドレス)を利用しなくてはならないからです。Segwit実装後も、もしすべての取引が現在の1からはじまる普通のアドレスや3からはじまるマルチシグネチャアドレスのみから行われれば、ブロックサイズ上限は1MBのままです。

一般のユーザーがSegwitの新しいアドレス形式を理解して、広く使われるようになるにはかなり長い時間がかかるものと思われます。このため、Segwitが実装されたらすぐに手数料が元に戻って安くなるというのは楽観的すぎる見方かと思います。

また、Segwitはトランザクション展性を根本的に修正するのが主目的ともいえるものですが、同様に新しいSegwitアドレスを利用しなければ全く意味がありません。今までの1からはじまるアドレスには引き続きトランザクション展性が存在し、何回かソフトフォークによって修正対応はされており「Segwit待ち」のソフトフォークによる修正計画(BIP146)も現在あるのですが、今後も新たな脆弱性が見つかった場合には都度修正する必要があります。

UASF

さらに最近もう一つ話題になっている「UASF」というものがあります。これは、User-Activated Soft Forkの略です。そのまま訳すと「ユーザー主導のソフトフォーク」的な意味になり、語感から言うとノードの賛成比率からソフトフォークを実行するの?と勘違いされがちですが、全く違います。

別の言い方として「Flag-day soft fork」と言われることがあり、こちらのほうがより正確です。要するに、特定の日になったらマイナーのハッシュレートにもノードのアップグレード率にも関係なく強制的にソフトフォークをしようとするものです。マイナーのSegwit賛成率がなかなか上がらないので、ユーザーが賛成すればSegwitを実装できるようにしてしまおうという考えが背景にあります。

このUASFは、なぜかCore派の代表的主張として取り上げられることが多いのですが、最初の発端は「shaolinfry」という匿名の人物がビットコイン開発チームのメーリングリスト及びbitcointalkに投稿したことであり、Coreの開発チームから話が出たわけでは全くありません。

実際的にUASFについては、Coreの開発チームはほとんど無反応という感じです。「Core開発者」の範囲をどこまで広げるかにもよるのですが、広い範囲でいうと正直誰がそうなのかほとんど把握していないので、IRCの定例ミーティングに毎回出席しているような「コアな」Core開発者に限って言うと、Luke-jrが低いマイナーのハッシュレート下では実質的にハードフォークとなる危険性を指摘し、75%程度のハッシュレートを必要条件としたほうが良いという提案(=つまり今のBIP9ソフトフォークの閾値を下げるだけ?)をメーリングリストやredditでしています。その他、gmaxwellが「興味深い提案だけど、何か意見を言うのは時期尚早。いろんな意見が出るのはいいこと。」とredditで発言するにとどまっています。

その他、「Core派」の普通のユーザーの中にもUASFによるフォークの危険性を指摘する人が多くいて、本当に本気でUASFを実行したいと考えている人が多いのかは疑問です。

また、実はUASFの考えは新しいものではなく、Nakamoto Satoshiが開発していた時代のソフトフォークは、まさに特定の日が来たら強制ソフトフォークを実行するというUASFとほぼ同じ考え(UASFはBIP9のソフトフォークプロセスを前提としているので厳密に言えば違います)のものでした。

その後、安全性・安定性の観点からBIP16でハッシュレート55%を閾値とし、BIP34でFlag dayを撤廃したうえでハッシュレート75%を閾値とし、さらにBIP65,BIP66では95%を閾値として、現在のBIP9の複数段階のソフトフォークプロセスに移行してきたという経緯があります。正直なところ、過去の仕様に戻すようなUASFがなぜこんなに話題になっているのか謎ですし、Coreの開発者たちの思想からいって実際に行われる可能性は限りなく低いのではないかと思います。

あったとしても、急進的な別グループがUnlimitedと同じような感じでフォーク版を作るということにしかならない気がします。

最も良い今後のシナリオは?

Bitcoin UnlimitedがCore側と和解してSegwitも採用というのが万々歳な未来ですが、今の状況を見ているとなかなか一筋縄ではいかなさそうです。よくCore側とUnlimited側が決裂してハードフォークというのが最悪なシナリオと言われますし最近まで自分もそう思っていましたが、むしろ膠着状態のまま何もできないのが最悪なのでは?という気がしています。

もしUnlimited側がハードフォークすれば、(中立の立場のマイニングプールがいないという条件のもとでは)Core側のチェーンにSegwit反対派がいなくなるため95%を自動的に達成し、CoreチェーンにSegwitが実装されることになります。同じ理屈で、Unlimited側でハードフォークを意図的に行わなくても、低いSegwit賛成率では危険なので難しいですが、もし90%程度まで達するのであれば、Unlimitedブロックを無効なものとCore側のマイナーが判定することで、強制的に95%へもっていくことも可能です。

実際にハードフォークが行われれば、ハッシュレートの低い方のチェーンは消え去るというある意味楽観論もありますが、やはりETHとETCの例を見ていても二つとも少なくとも短期的には生き残るのではないかと思います。ハードフォークにより価格は恐らく大暴落するでしょうし、ETHとBTCはさすがに規模が違うので取引所の対応やユーザーの対応はとんでもなく大変になるでしょうが、このまま何年も膠着状態を続けるくらいなら、いっそ長期的に見れば早く(Unlimited側が)ハードフォークしてくれたほうが良いのでは?というお話しでした。

参考サイト

[bitcoin-dev] Moving towards user activated soft fork activation

Version bits extension with user defined activation · GitHub