2017年10月3日

ブロックチェーンがそれほど悪い技術ではない理由

テクノロジー

先日、『ブロックチェーンとBitcoinにまつわる6つの通説を覆す』という記事を掲載しました。今回は、ブロックチェーンの働きをより良いものにするため、先の記事で挙げた問題の解決方法を見ていくことにしましょう。

 

本題に入る前に、ブロックチェーンとBitcoinは別物ということを覚えておいてください。Bitcoinテクノロジー(英語資料)は、複数のテクノロジーが組み合わされたものです。送金の原理、暗号化の原理、ブロックチェーンそのもの、合意形成の概念、Proof-of-Work(仕事量による証明)の原理、P2P(ピアツーピア)ネットワーキング、参加者のモチベーション、取引を体系化するマークル木、透明性の原理、ハッシュなど、さまざまな仕組みがBitcoinを支えています。

したがって、Bitcoinのブロックチェーン構造に起因する問題は普遍的なものではなく、他の通貨では事情が異なる可能性があります。その一方で、現在の市場はProof-of-Work(POW)に基づくBitcoin的なブロックチェーンが多数を占めています。

問題1:ブロックチェーンは処理が遅く、非効率的である

Bitcoinは1秒あたり7件の取引を処理します。これは参加者1人あたりではなく、ネットワーク全体の処理能力です。また、時価総額ランキング第2位のEthereum(イーサリアム)は、1秒あたり単純な送金を15件、スマートコントラクトを3~5件処理できます。

ほとんどの通貨で採用されているPOWの原理では、マイニングの利益が出なくなるまで、電力消費量とハードウェアの数が増え続けます。しかし、経費が増えても、提供されるサービスの質は改善されません。マイナーの数が増え、大量の電力を消費しても、1秒間に処理できる取引の数は常に7件なのです。

ライトニングネットワーク

専門家たちは以前からBitcoinシステムの取引スピードの遅さを懸念していましたが、この問題に対処するために考案されたのがライトニングネットワークです。

ライトニングネットワークの仕組みはどうなっているのでしょう?別の言い方をすると、ライトニングネットワークが導入されたなら、どのように機能するのでしょうか?まず、スピーディな取引を必要とするネットワーク参加者は、独立したチャネル(プライベートなチャットルームのようなもの)を作成し、取引の整合性を保証するためBitcoinのメインネットワークに保証金を支払います。続いて、他のネットワーク参加者とは独立した形で、かつ任意のスピードで、決済情報のやりとりを始めます。このチャネルが不要になったとき、参加者は取引の結果をパブリックブロックチェーンに記録し、(誰も規則違反を犯していなければ)保証金を返してもらいます。

楽観的な予測では、ライトニングネットワークは早ければ今年中に導入され、1秒あたり数百万件の取引が可能になる見込みです。これで「遅さ」の問題は解消されます。

問題2:ブロックチェーンは巨大である

ブロックチェーンは確かに巨大です。しかし、ブロックチェーンに対してある程度の信頼が形成されて以降、大きさは問題ではなくなりました。実際、不正の可能性がほぼないことを確かめるために、何もかもダウンロードしてチェックする必要はありません。

Webウォレット

まず、既存のWebウォレットとWebサービスは、利用者に代わってすべてを保管し、あらゆる手続きをしてくれます。サービスに文句をつける人がいなければ、そのサービスは確実で、ある程度信頼できるものだと見なすことができます。

また、従来の決済システムと比べ、Webウォレットには重要な利点があります。あるWebウォレットが閉鎖されても、別のウォレットに切り替えるだけでよいのです。そうしたことが可能なのは、どちらのウォレットも同じ取引記録を使っているためです(ブロックチェーンが唯一の記録なのです)。普通の銀行で不具合が発生したり銀行が破産したりして別の銀行に移らなければならなくなった場合と、比較してみてください。

シンウォレット

さらに高度な(そして信頼できる)代替手段については、サトシ・ナカモト氏その人が2008年に語っています。100GBのブロックチェーン全体を保存、処理するのではなく、ブロックのヘッダーと、自分に直接関係する取引の正しさを示す証拠だけをダウンロードしてチェックする方法です。

自分がデータをやりとりしている任意のネットワークノードの多くが、ブロックヘッダーが完全に一致すると報告してきたら、すべて正しいとかなりの自信を持って言うことができるでしょう。

現時点では、既存ブロックのヘッダーをすべて合わせても40MBほどです。たいしたサイズではありません。しかし、さらにサイズを縮小することが可能です。これまでに行った全取引のヘッダーを保存する必要はなく、ある特定の時点から始めればよいのです。

問題3:ブロックチェーンにはスケーラビリティがない

システムのスケーラビリティとは、リソースの追加によって改善する能力を指します。確かに、従来のブロックチェーンにはスケーラビリティがなく、リソースを追加しても取引の速度に一切影響しません。

面白いことに、従来のブロックチェーンは拡張も縮小もできません。局部的な問題を解決するための小規模なシステムを同じ原理に基づいて構築した場合、そのシステムは、いわゆる51%攻撃に対して脆弱なものとなるでしょう。つまり、十分な演算能力のある人なら、システムにアクセスし、すぐに乗っ取り、履歴を書き換えることが可能です。

Plasma

先日、ジョセフ・プーン(Joseph Poon、ライトニングネットワークの発明者)氏とヴィタリック・ブテリン(Vitalik Buterin、Ethereumの共同設立者)氏が新しいソリューションを提案しました(英語資料)。2人はこれを「Plasma」と呼んでいます。

Plasmaは、ブロックチェーンのブロックチェーンを作成するフレームワークです。概念はライトニングネットワークに似ていますが、Ethereum向けに開発されています。仕組みはこうです。Ethereumのメインネットワークに保証金を支払い、他のクライアントと個別に独立したやりとりを開始し、スマートコントラクトの実行とEthereumの一般規則を自分の裁量で監視します。スマートコントラクトとは金銭やWebウォレットを扱う小さなプログラムで、Ethereumの主要機能です。

個々のやりとりの結果は、時々メインネットワークに記録されます。また、ライトニングネットワークと同様、全参加者がスマートコントラクトの履行を監視し、何かおかしなことがあればクレームをつけることができます。

現時点でPlasmaはまだ設計段階ですが、無事に実装されれば、ブロックチェーンのスケーラビリティの問題は過去のものとなるでしょう。

問題4:マイナーが地球の資源を使い尽くそうとしている

Proof-of-Workは、暗号通貨の合意形成システムとして最もメジャーな仕組みです。取引履歴の書き換えを防ぐために長時間にわたる計算が行われ、その後で新しいブロックが作成されます。POWネットワークのマイナーは大量の電力を使用しますが、浪費される電力量を左右するのは、安全上の問題や常識ではなく経済状況です。つまり、現行の暗号通貨の為替レートでマイニングの採算が取れる限り、電力使用量は増え続けます。

Proof-of-Stake

ブロック作成権の配分には、Proof-of-Stake(POS、「資産保有による証明」の意)という方法もあります。ブロックを作成して報酬を(利子、または新たに発行される通貨の形で)受け取る権利が生じる確率は、演算処理の量(電力使用量)ではなく、システム内に保有している通貨の量によって決まります。

全コイン数の3分の1を所有しているなら、新しいブロックを作成できる確率は3分の1です。所有する通貨が多いほど、ネットワークが正常に機能することや安定した交換レートに関心が向くようになるので、Proof-of-Stakeの原理は参加者が規則を守る理由として説得力があります。

Proof-of-Authority

さらに急進的な方法もあります。信頼された参加者だけがブロックを作成できるようにする方法です。たとえば、ある都市の10の病院で、ブロックチェーンを使用して流行病の状況を追跡しているとしましょう。病院は、Proof-of-Authority(POA、「権威の証明」の意)として各自の署名鍵を持っています。このためブロックチェーンは、参加している病院だけが書き込み可能なプライベートなものとなります。同時に、ブロックチェーンの重要な性質である透明性も維持されます。

ただし、事実上このネットワークは中央で管理されるため、Proof-of-Authorityはブロックチェーンの本来の概念に反します。

リソースを良いことに使用できる

Proof-of-Workという概念の枠内で、有効利用されているネットワークもあります。たとえば、ある種の素数を探す(Primecoin)、タンパク質の構造を計算する(FoldingCoin)、大量の計算が必要な科学的作業をする(GridCoin)、などです。「マイニング」の報酬は、科学資源に対する投資を促します。

問題5:ブロックチェーンは分散型なので、発展しない

分散型ネットワークのプロトコルを変更するのは簡単ではありません。開発者はすべてのクライアントを強制的にアップデートすることもできますし(このようなネットワークは真の分散型とはみなされませんが)、変更を認めるように全参加者を説得することもできます。変更に反対する参加者がかなりの割合で存在するならば、コミュニティが分裂する可能性があります。分裂すれば、ブロックチェーンは2つに分かれ、2つの通貨になります。こういう分裂を「分岐(フォーク)」と言います。

問題の一端は、参加者によって興味の対象が異なる点にあります。マイナーの興味は報酬や利子を増やすことにありますが、一般の利用者は送金費用を安く済ますことに興味があります。熱心な支持者は暗号通貨がもっと有名になってほしいと思っていますし、コンピューターの専門家はブロックチェーンのテクノロジーに便利で斬新なアイデアが追加されることを望んでいます。

最大の暗号通貨のうち2つは、すでに分裂しています。ブロックサイズの拡張戦略について参加者間で同意を得られずBitcoinの分裂が起こったのは、割合に最近のことです。これより少し前に、Ethereumでも同じようなことが起きました。ある投資ファンドの取引をなかったものにして投資家に返金するのは公正な行為かどうかで意見が一致せず、分裂したのでした(英語記事)。

このような状況を回避するには、どうすればいいのでしょうか?

Tezos

変更に関する投票の機能を、暗号通貨にエンコードすることが可能です。市場に登場したばかりの暗号通貨「Tezos」には、まさにこの機能が搭載されています(英語資料)。投票には、主に次のような特徴があります。

  1. 所有する暗号通貨が多いほど議決権が増える。マイニング能力は関係ない。
  2. 当事者よりも採決の対象をよく理解している第三者に投票を委任することができる。
  3. 開発者は、投票後1年間は拒否権を行使する権利がある。また、必要に応じて拒否権の行使可能期間を延長することもできる。
  4. 議決に必要な定足数は、最初は80%で、利用者の実際の活動状況に合わせて変化する可能性がある。

このアプローチは、感情的な対立を回避し、ハードフォークの必要性を大きく軽減できると考えられています。

このような原則に基づいて投票した場合、ある時点で多数派が少数派の投票権を剥奪することも十分にあり得ます。つまり、お金持ちが優位になる可能性があるのです。しかし、Tezosの開発者は、このような乗っ取りは通貨の価値に悪影響を及ぼすため、起こる可能性は低いと考えています。さて、どうなるでしょうか。

問題6:ブロックチェーンは透明すぎる

あなたはウィキリークスの一員で、献金をBitcoinで集めているとしましょう。あなたの住所や所持金額はみんなに知れ渡っています。なので、所持金をドルに換金しようとすれば、あなたがドルでいくら持っているかは、当局の知るところとなります。

Bitcoinではマネーロンダリングできません。所持金を10個のウォレットに分けたところで、自分に紐付いたアカウントが10個になるだけです。本当の所有者をわかりにくくするため、大量の金をあちこちに移動してくれるミキサーまたはタンブラー(英語記事)と呼ばれる有料サービスもありますが、このようなサービスはさまざまな理由から利便性に欠けます。

Dash(ダッシュ)のCoinJoin

暗号通貨「Dash」(旧称:Darkcoin)は、PrivateSend機能を使用して匿名性の問題を解決しようとした最初の通貨です。通貨の中にタンブラーを組み込むという、シンプルなアプローチが取られていました。

Dashにはいくつか問題がありました。1つめは、誰か(たとえば法執行機関)が「きれいな」お金と「汚い」お金が混在するノードを大量に管理している場合、送金を監視できること。おそらくそうしたことにはならないでしょうが、可能性は十分にあります。

2つめは、きれいなお金と汚いお金を混ぜてしまうと、すべてのお金が少し汚れて「グレー」になってしまうこと。「グレーな」お金を「きれいな」お金に見せるには、参加者全員が四六時中タンブラーを使わなければなりません。

Monero(モネロ)のCryptoNote

これよりも信頼できるアプローチは、完全な匿名通貨「Monero」です(英語資料)。

第1に、Moneroは電子署名(リング署名)を採用しており、グループの参加者がグループを代表してメッセージに署名できるようになっています。また、署名した人が特定されないようにもなっているため、送金者は自身の痕跡を隠すことができます。同時に、このプロトコルは二重支出も防止します。

第2に、Moneroでは送金用の秘密鍵だけでなく、ウォレットに何が入ったのかを確認するために使う秘密鍵が別に用意されています。このため、他人の取引履歴を見ることは不可能です。

第3に、ワンタイムウォレットを作成して、個人のお金と市場から入ってきた資金を別々に保管することもできます(これは遠い昔にBitcoinで推奨されていました)。

まとめ

以上、ブロックチェーンの抱える問題に対する取り組みを、ざっくり説明してきました。EthereumのスマートコントラクトやRippleの明るい未来、IOTAのようなブロックチェーンを使わない暗号通貨について、もっと書くことができたかもしれません(リンク先はいずれも英語資料)。

お気づきのとおり、この記事が焦点を当てたのは厳密に言えばブロックチェーンの周辺の話であり、ブロックチェーンそのものではありません。ともあれ、ブロックチェーンの素晴らしいところは、この技術をより良いものとする方法を探し出したいという意欲を掻き立てることです。