【シリーズ連載】ブロックチェインアプリスタックにおける「共有データ層」とは何か(前編)

本記事はユニオンスクエアベンチャーズに所属するJoel Monegro氏が執筆するシリーズ連載を、好意により承諾を得て翻訳したものです。Monegro氏は、2014年7月からUSVの投資部門に従事しており、コンピュータサイエンスとエコノミクスに造詣が深い人物です。

この記事は前回私が執筆した「The Blockchain Application Stack」を更に深く追求したものです。もしあなたが、まだ前回の記事を読んでいない場合は、さくっと読んでくることをおすすめします。前回の記事は、今回の記事に含まれる様々な考察を読み解くための、たくさんのコンテクストを提供しています。さて、今回の内容は、「共有データ層」についてです。
それではまず、この画像をご覧ください。これは前回私が紹介した「ブロックチェインアプリケーションスタック」を図示したものです。

(これは妥当ではありますが、素晴らしい出来ではありません。私の同僚であるジョナサンが現在この図のアップデート版を作成しています。彼の作成する図は私のそれよりも格段に的確であり、彼の支援を非常に嬉しく思います。)
すべてのアプリケーションが接続されるグローバルなデータベース(あるいはそれらの集合体)を想像してみてください。それは共有データ層の背後にある基本的な思想です。その名の通り、これは分散的かつ誰にでもオープンなデータ記憶層です。
分散的とは、個人または企業など、単一の存在が独自のデータベースを運用することなく、世界中に散らばる無数のコンピュータによって維持されることを意味します。あなたもまた、その維持に加わることができますし、恐らくはあなたのコンピュータのネットワークへの貢献度合いに応じて、自動的に支払われるものと思われます。
オープンとは、人・企業・アプリケーションの区別なしに、かつ権限を必要とせず、誰もがこのデータベースにアクセス可能であることを意味します。あなたの個人的なデータは暗号化されており、復号化し中身を読み取るためには、あなたのパスワード(より正確に言うなら秘密鍵)によるアクセス権の付与を必要とします。あなたは信頼のおけるアプリケーションにあなたのデータのアクセス権を付与することができ、しかし彼らはそれを自身のものとすることが出来ず、かつあなたはいつでも彼らのアクセス権を剥奪可能であり、あるいはそのデータの制御を失うことなく、競合サービスへと移動することが出来ます。
これは、私がオーバーレイネットワークと呼んでいるものとブロックチェインの組み合わせによって可能となります。
ブロックチェイン上の記録データ
2013年に、ひとつの機能がビットコインへと追加されました。それは、OP_RETURNトランザクションと呼ばれており、取引の中に40バイトの小さな組込みデータ領域に特別な種類のトランザクションを作成することを可能としました。この機能は元々、ビットコイン取引における出荷情報などのコンテキストを情報を添付することを意図したものでした。もう少しだけ発展した使い方は、最小のトランザクション(1e-8 BTC | 1satoshi + 取引手数料)を作成し、何か適当なあなたの情報をそこに書き込むといった感じです。
ブロックチェインのタイムスタンプ機能と分散的な合意形成*機能は最高です。あなたは何かを永続的に保存するために、ブロックチェインに保存された情報の不可逆性を活用出来ます。(* 分散的な合意形成: ネットワークの無数のノードが、ある情報が真実であることに同意すること。ビットコインのケースでは、「取引情報」が「その時間」に発生したことをこれにより確定する。)
40バイトは充分ではありません。でも、時々こういった制約は素晴らしい創造力を湧き起こします。この機能を利用した最初のアプリケーションはProof Of Existenceでした。ファイルをアップロード、そのハッシュ -ファイル全体とは対照的に、基本的に一意的な識別ID- を作成し、ブロックチェインへとそれを挿入します。後であなたのファイルがその時点で存在していたかを証明するために、あなたのファイルのハッシュとブロックチェインに保存されたハッシュを比較します。それらが一致する場合は、その時点でそのファイルが存在していたことの動かぬ証拠となりますね。
他には、Blocksignという、もうちょっと消費者よりのアプリケーションがあります。Blocksignは、ブロックチェインに署名文書を保存するために同じテクニックを使っており、DocusignやHellosignなどと似たデジタル署名サービスです。
これらは両方とも興味深く、OP_RETURNトランザクションを用いた比較的簡単な使い方です。ありがたいことに、すべての開発者はこれを利用するのに、非常にうまく40バイトの中に収める方法を編み出しています。
ブロックチェイン(ビットコイン)の欠点
ビットコインエコシステムの多くのメンバーは、ブロックチェインにデータを格納するため、OP_RETURNを酷使することについて懸念を示しています。彼らのボスは、役に立たない情報と長い取引承認時間でブロックチェインの記録データを肥大化させ、マイナーの手数料を上昇させています。
あなたはビットコイン取引の最小単位で情報を記録できます。しかし、あなたは依然としてマイナーへとその取引を確認し、ブロックチェインへ入力してもらう必要があります。そう、それは少なくとも0.0001BTC、0.04ドルより安いかくらいです。これは高いようには見えないですが、ビットコインの価格の上昇とともに実質的な手数料も正比例していきます。そして沢山のレコード(たとえば500万ツイートを一日に行うとか)を記述するには、やはり高すぎます。取引と関係ない情報を格納するために最小単位のトランザクションを作成することは、ネットワークへ不必要な負荷を掛けブロックチェインを肥大させてしまうことを危惧する者もいます。後は、ブロックチェインが単純に現代のニーズを満たしていないということ。ビットコインへ取引を記録するためには最低でも10分が掛かってしまいます。
これらはすべて正しい懸念であり、機能改善(確認時間を短く、追加記述スペースを作る)のために新しいプロトコルや暗号通貨を作成してきたことは、ビットコインに限らず伝統的に行われてきたことでもあります。しかし、多くのチームはより重要な任務のためにオーバーレイ・ネットワークを作成し、ブロックチェインの使用を出来るだけ少なくする形で、ビットコインのネットワークを創造的なやり方で開発を試みています。私はこれが正しいアプローチであり、Chris DixonがTwitterで残したような歴史的な事実とは異なるプロトコルによって成し遂げるであろうと考えています。
(訳者コメント)前編ではブロックチェインの構造と、ビットコインやブロックチェインでは補いきれない欠点についての説明がなされました。後編では、いよいよ皆をオーバーレイ・ネットワークのディープダイビングにいざない、これらオーバーレイ・ネットワークとブロックチェインを用いることで成し得る新しい可能性について説明します。
ユニオンスクエアベンチャーズのJoel Monegro氏による「The Blockchain Application Stack」についての連載記事はこちら!
第一回:ユニオンスクエアベンチャーズのJoel Monegroが語るビットコインの未来第二回(今ココ):ブロックチェインアプリスタックにおける共有データ層とは何か(前編)第三回:ブロックチェインアプリスタックにおける共有データ層とは何か(後編)
bitbank MARKETSは国内暗号資産(仮想通貨)取引所のビットバンクが運営するマーケット情報サイトです。ビットバンクは日本の関東財務局登録済の暗号資産(仮想通貨)取引所です(暗号資産交換業者登録番号 第00004号)。
ビットバンクの販売所なら、業界最狭クラスのスプレッドでお好みの暗号資産(仮想通貨)をワンタップで購入できます。
ビットバンクならシンプルで軽量、しかも高い機能性を備えたスマートな暗号資産(仮想通貨)取引所で本格的トレードも可能です。