BCと巨大なデータセット保管の問題

69587629_m.jpg

 この数年間、BC(ブロックチェーン)技術と仮想通貨は共に人気が急上昇している。この技術的驚異への大衆の関心は大幅に高まっているが、この技術が必ずしも需要に対応できるとは限らないというリスクも大きい。

 ビットコイン(BTC)イーサリアム(ETH)といった主要な仮想通貨は、トランザクションの処理にブロックを利用している。しかし、それらの開発はまだ黎明期だったため、1ブロックの最大サイズに限界があった。例えばビットコインのブロックサイズは1MBに制限されていた。

 (特にビットコインについては)セキュリティを確保するためにこの仕組みが導入されたが、ネットワークの将来性は大きく妨げられた。各トランザクションにはデータの移動も関係しており、1ブロックの最大サイズがわずか1MBであるために決済の処理とデータの保管が大きな課題となっている。

 ビットコインは最大で秒間約3-4件のトランザクションしか処理できない。しかし、仮想通貨とBCが主流になりつつある今、スムーズな動作を確保するためには秒間数百件、数千件のトランザクションを遅延なく処理できる必要がある。

 残念ながら、ビットコイン最大のライバルであるイーサリアムでさえほとんど同じ問題を抱えている。イーサリアムとそのBCの創始者の1人であるヴィタリック・ブテリン氏もそれを認めている。同ネットワークは最大で秒間約15件のトランザクションしか処理できず、ブテリン氏はもし現状が続けば、このインフラにとってこれは対処すべき大きな課題になると警告している。

●ではなぜ単純に容量を増やさないのか?

 残念ながらそれは一晩でアップデートを行うように簡単なことではない。仮想通貨・BC分野の多くの人々は、この業界が主流になるチャンスがあったとしてもスケーラビリティとフレームワークへの対処は重要だという点にすでに同意しているが、適切な解決策の開発には多くの時間と労力が必要だ。

 その理由の1つは、提案されたどの解決策も仮想通貨マイナー、開発者、事業主、そして暗号資産というアイデアを支持している他の人々からの十分な支持を必要としている点にある。十分な支持を得られた場合にのみ、そうした解決策は実行できる。

 そのため、そのプロセスが数カ月にわたって慎重に検討される可能性がある。そしてそれでも最終的に合意を得られず進展しない可能性もある。

 ビットコインを例にとると、ブロックサイズの制限を変更するかどうかについて、長年にわたって何度も活発な議論が交わされてきた。しかしここには問題があり、制限を2MBに倍増させても問題ないという人々もいれば、8MBや64MBにまで拡張すべきだという人々もいた。そのため、どの提案も採用されるに足る支持を得ることができなかった。

 18年5月には、ビットコインから派生したビットコインキャッシュ(BCH)がブロックサイズの制限を8MBから32MBへと4倍に拡大させるインフラのアップグレードを無事開始した。この拡張によって、将来の需要への対応と、新機能の開発と導入が可能になると期待された。

 しかし、この変更によってフルノード運用の費用が増加し、ネットワークの分散化レベルが減少するという問題につながったという批判も出た。ビットコインキャッシュの支持者は、ブロックサイズの増強によって同通貨がビットコインより良い選択肢になったと考えているが、意見はまだ分かれている。

●解決策:RIFTプロトコル

 しかし、この技術にも大きなブレイクスルーがあった。RIFTプロトコルだ。

 RIFTは有名なBC・仮想通貨開発プロジェクトであるILコインが開発したプロトコルで、ブロックサイズ制限の制約に革命を起こす可能性がある。

 ではその方法とは?RIFTは、(トランザクション自体を格納する)ミニブロック層と(各ミニブロックを格納する)ブロック層という、2つの異なる層でプロトコルが構成されている。

 このプロトコルの最も重要な特徴は、ブロックがマイニングされない点にある。マイニング・プロトコルの欠如はスケーリングを遥かに容易にし、新規ユーザーの受け入れが基本的に極めてシームレスとなる。ミニブロック層が非常に重要で、スケーリングを容易にしユーザーが増加してもプロトコルに問題が生じないようにする。

 RIFTには特筆すべき特徴がある。その1つは、チェーン内の各ミニブロックごとにそれを格納するブロックへの参照が存在する点にある。プロトコル自体にも、サイズや他の仕様を含むミニブロックへの物理参照が含まれている。

 次に、チェーン内の各ブロックはその層で見つかった最後のブロックへの参照として機能していることに気づくだろう。この参照には仕様の詳細も含まれている。

 これらの参照はブロック層とミニブロック層の接点として機能する。それらは連携してミニブロック層の動作を支援し、基本的に通常のBCが機能できると思われる形式を再定義する。分散化やP2P(ピアーツー・ピア)同期といった活動は最適化されており、基本的に開発者や通常のユーザーにとってなじみ深い方法でBCを動作させることができる。

 しかし、このプロトコルと他のBCにはいくつかの違いがある。その1つが、RIFTのトランザクションはBC内に存在するよう作られている点だ。ユーザーは複数のトランザクションに安全で高速な方法でアクセスできるため、この特徴はスケーラビリティの最適化も可能にする。

 理想的なBCは、そのコンピューター・システムの高度さに関係なく、大量のデータを照合する際に大きな問題が生じる。RIFTではブロックの同期がその取得と同じくらい容易で、そのブロック自体がマイニングされたかどうかは問題とならない。

 ブロックの同期中もトランザクションを確認できる点にも注目してほしい。大量のデータに対応可能なプロトコルなので、マイニングの費用も減少する。

●ミニブロックの構築方法

 従来のBCはRPC関数を使って構築されている。RPC関数は、確認待ちの複数のトランザクションを含むJSONフォーマットでブロックのテンプレートを返す。この関数は最終的に可能な限り多くのトランザクションを返し、メモリープールは基本的に手数料率順にソートされる。

 ILコインのネットワークはミニブロックを構築するために、RPCブロック・プロトコルとRPCミニブロック・プロトコルという2つの新たなRPC関数を追加した。

 RPCブロック・プロトコルはILコイン・ネットワーク・ブロックのテンプレートを返し、内部にトランザクションは存在しないが、最終的にミニブロックのハッシュが格納される空配列が含まれている。お分かりの通り、これはミニブロックの親となるものだ。

 しかし、RPCミニブロック・プロトコルはミニブロック自体のテンプレートを返し、トランザクションの受信プロセス開始を示すパラメーターが与えられる。ミニブロック・プロトコルには、ミニブロック内の最後のトランザクションのインデックスも含まれている。そのため、マイニングプールは次の呼び出しのインデックスがどこで始まるかを知ることができる。

 仮想通貨・BC市場は拡大の最中にあり、需要は間違いなく大幅に増加している。これは素晴らしいことだが、BCネットワークは人気の高まりに伴うデータの増加に対応する必要がある。

 ILコインのRIFTで、この問題は解消される可能性がある。開発チームのテレグラム・チャンネルを確認してみてほしい。

(イメージ写真提供:123RF)

https://nulltx.com/the-problem-blockchains-and-the-challenge-of-storing-large-data-sets/

This story originally appeared on NULLTX.

ランキングページ
ビットコイン詳細ページ
イーサ詳細ページ
XRP詳細ページ
ICOレーティングについて