アプリケーションレイヤー

ここまで、Bitcoinとその基盤となるブロックチェーンについて学びました。また、ブロックチェーンのルールであるプロトコルと、ブロックチェーン上に構築されたトークンについても学びました。

これらの技術を組み合わせることで、私たちはデジタルで、簡単に移転可能で、安全で、そして分散化されたものを「お金」として考えることができるようになりました。

しかし重要なのは、お金はブロックチェーンによる1つの応用例に過ぎないということです。暗号通貨はお金の他にも(1)プロトコルと(2)アプリケーション の可能性を大きくしています。

(1)プロトコル

暗号通貨の開発者にとっての究極の夢は、ブロックチェーンを利用して、新しく改良されたプロトコルを作り上げることです。 暗号通貨に使用されているプロトコルは、インターネット初期から問題になっている「中央集権化」を解決する可能性を秘めています。

例えばどんなものでしょう?

支払い、アイデンティティ、ドメイン名システム、クラウドコンピューティング、評価システムなどのプロトコルがこれに当てはまります。 現在これらの多くは中央集権化されています(たとえば、Stripe、Paypal、Google、Amazonなど)。Web上には、これらのプロトコルの「標準」とされるものはありません。

そのためブロックチェーンを用いて、分散型で誰でも参加ができ、かつ安全なプロトコルを暗号通貨外の分野で構築できるようになることが望まれます。

(2)アプリケーション

ブロックチェーンにより、「分散型アプリケーション」と呼ばれるものが可能になります。

分散型アプリケーション(dApp)とは、ブロックチェーン上に構築されたアプリケーションです。 それはどのように機能するのでしょう?

Bitcoinブロックチェーンを例として考えてみましょう。 BitcoinはBitcoinブロックチェーン上で発生するトランザクションに対し、スクリプトを使用しています。 スクリプトとは、簡単な命令リストです。 Bitcoinは、あらゆるトランザクションにスクリプトを記録することを可能にしています。 これにより、Bitcoinをもらう人に対する条件を、事前に指定することができます。

一般的なBitcoinの送金の場合、送り主は下記の情報をスクリプトに対し提供する必要があります。

ハッシュ後に、スクリプトに含まれる宛先アドレスと一致する公開鍵

公開鍵に紐づいた秘密鍵を所持している「証拠」を示す電子署名

素晴らしいのは、色々なタイプのパラメータを各トランザクションに含めることができることです。例えば、「このトランザクションは、2つの秘密鍵がある場合にのみ有効とします」とスクリプトで書くことができます。つまりスクリプトを用いて、お金や情報の一部を他人に渡す際のルールを規定できると言えます。書かれているコードを完全に信頼することができ、そして全てがうまくいくのです!

Bitcoinはこのスクリプト言語を使用しているため、Bitcoinのトランザクションを用いた、新しいアプリケーションを構築できます。

たとえば、ブロックチェーンを用いたクラウドファンディングのアプリケーションを構築するとします。スクリプト言語にて、あるグループと他のグループとの間で集められたお金がどのように分配されるか事前にルールを決め、そのルールを元に新しいプロジェクトを始めることができます。

これは、dAppのベースとなる考え方です。あるアプリケーションのルールを非中央集権的に規定できるのです。そしてこのルールはFacebookやAmazonなどの大企業によって所有されたサーバー上にでなく、一般公開され分散されたブロックチェーン上にあります。これにより、特定の団体がデータを独占的に利用したり検閲するのを防ぐことができます。

おすすめの記事