今回は、ブロックチェーンのアクセス速度に関する発明を紹介します。
従来、ブロックが多くなると識別子のデータが大きくなりアクセス速度が低下する問題があります
この発明では、ブロック高さとブロック内順序とで生成されるトランザクションポインタを保持しておきます。このトランザクションポインタを参照して、トランザクションにアクセスすることができます。
識別子のデータが大きくなりアクセス速度低下の問題
従来、ビットコインなどの仮想通貨などの取引の履歴や、その他の情報の記録のためにブロックチェーンが活用されています。ブロックチェーンは、P2Pネットワークを利用した分散台帳で、ゼロダウンタイム、改ざんの困難性、低コストというメリットがあります。
ブロックチェーンは、トランザクション(トランザクションデータ)を含むブロックが連なったものです。各トランザクションは、他のトランザクションとの識別のための識別子(txid)をもっています。この識別子は、一般には32バイトのハッシュ値になっています。
この場合、ブロックチェーンに格納されるブロックが多くなると、識別子(txid)のデータが大きくなってしまいアクセス速度の低下を招くという問題があります。
ブロック高さとブロック内順序とで生成されるトランザクションポインタを保持
この発明は、トランザクションの識別子に、このトランザクションを含むブロックの高さと、このトランザクションのブロック内の順序を用います。これをトランザクションポインタと呼びます。
ブロックの高さというのは、そのブロックのつながりのうちの最初のブロックからの何番目のブロックかを示す数値です。
そして、このトランザクションポインタを、ブロックチェーンのノードとは別のデータベースに格納しておきます。そして、トランザクションデータを参照するときには、データベースに格納されているトランザクションポインタを用います。
また、トランザクションポイントをデータベースに格納するときに、特定のアドレスをキーにして格納しておけば、その特定のアドレスの入出金の履歴を引き出すことができます。このように、条件に一致したトランザクションデータだけを参照するという使い方ができるようです。
特許第6362805号 株式会社bitFlyer
出願日:2018年3月10日 登録日:2018年7月6日
ブロックチェーン・ネットワークにおいて過去のトランザクションに効率的にアクセス可能とする。
【請求項1】
ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法であって、
前記ブロックチェーン・ネットワークを構成するノードが、ファイナリティのある合意アルゴリズムの下で合意されたブロックについて、前記ブロックに含まれる各トランザクションに対して、前記ブロックの高さ及び前記ブロック内の順序に基づく識別子を記憶するステップを含み、
前記識別子は、第1のバイト数のブロック高領域と第2のバイト数の順序領域とを有することを特徴とすることを特徴とする方法。
今日のみどころ
ブロックチェーンに格納されたトランザクションデータに効率よくアクセスできるようにするための工夫に関する発明です。
最近ブロックチェーン関連の発明をいくつか紹介していますが、「ブロックチェーン関連」と1つに束ねるのは難しくて、いろいろな面でのアイデアがあるのがよくわかります。
これからもブロックチェーンに注目していきます!