💎

DAppsについて

2022/05/19に公開

私は現在ブロックチェーン技術について勉強をしており、その中で気になったことを、記事として整理していければと思います。
※ 投機目的ではなく、あくまで純粋に技術を勉強しています。

※ 参考図書: 「ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

今回は、DApps(Decentralized Applications: 分散型アプリケーション)について整理していきます。
簡単にいうと、ブロックチェーンを利用したアプリケーションのことです。

主な特徴は以下となります。

  1. トークンの発行
    1. アプリ内のさまざまな価値をトークン化し、参加者は貢献に応じてトークン報酬を受け取ることができる
  2. 中央管理者が存在しない
  3. ソースコードが公開されている(オープンソース)
    1. ソースコードを世界中の誰でも閲覧ができ、自由に参加が可能
    2. プログラミング言語のフレームワーク等、オープンソースで開発されているプロジェクトと同じようなイメージ
  4. ブロックチェーンを利用し、自律的にアプリケーションが動作する
    1. 分散型のネットワーク(P2Pネットワーク)を利用しており、データは複数のサーバーに分散保存

トークンについて

DAppsが注目をされているのは、1つ目のトークンを活用することで、アプリケーションの中で貢献をしている人に対し、報酬を渡すことができる仕組みがあるからだと思います。

ここで言うトークンの定義ですが、既存のブロックチェーン(イーサリアム等)の上で新たに作られた仮想通貨のことを指します。

トークンを多く持っていたり、長い期間保有していると、報酬が得られるといった具合です。

現在、DAppsは大部分でイーサリアムを元に開発をされているため、今後の説明はイーサリアムを元にして進めていきます。

イーサリアムのトークン実装については、標準規格が準備されています。ERC20(FT: 代替可能トークン で主に利用)、ERC721(NFT: 非代替トークン で主に利用)といったものです。DAppsの中でポイントのように流通させたり、取引所で扱いやすくする場合には、ERC20の規格でトークンを発行することが多いです。

ERC721(NFT)については、また別途整理したいと思います。

中央管理者が存在しない

中央管理者が存在するアプリケーションとは、例えば、Twitterなどが挙げられます。基本的にTwitterが保持しているデータ等は、Twitterが中央のデータベースで管理をしています。

しかし、DAppsだと、ブロックチェーン上にデータを保持しており、そのデータを削除したりすることもできないようになっています。

ソースコードが公開されている

イーサリアムで開発されたDAppsは、イーサリアムのブロックチェーン上にソースコードを保存しています。ブロックチェーンの情報はオープンとなっているため、ソースコードについても閲覧が可能です。

ソースコード以外にもアプリ内に関係するデータをブロックチェーンに保存します。ただし、大量のデータをブロックチェーンに保存、処理することは難しいため、別途、分散保存をするデータストレージ(IPFSやSwarm)を活用します。容量が大きいデータに関して、既存のアプリケーションで使われているようなデータベースに保存されることもあります。

自律的に動作するアプリ

アプリケーションを自律的に動作させるためには、予め、動作の規約を定めておく必要があります。

身近な自律的に動作するアプリの一つとして、自動販売機があります。

(例)「お金を投入→購入可能なドリンクのボタンが光る→ボタンを押下→対象のドリンクを1つ渡す」

このように自律的に動作するプログラムについて、ブロックチェーン上に配置されたものを「スマートコントラクト」と呼びます。

Discussion