分散型アプリケーション(DApp、dApp、Dapp、dapp)とは、分散型のコンピューティングシステム上で動作するコンピュータアプリケーションのことです。

DAppは、Ethereumブロックチェーンなどの分散型台帳技術(DLT)で普及しており、DAppはしばしばスマートコントラクトと呼ばれます。

特徴
DAppは、バックエンドコードが中央のサーバーで実行される一般的なアプリケーションとは対照的に、バックエンドコードが分散化されたピアツーピアネットワーク上で実行されます。DAppは、バックエンドへの呼び出しが可能な任意の言語で書かれたフロントエンドコードとユーザーインターフェースを持つことができます。

分散型アプリケーションは、EthereumやBitcoinなどのブロックチェーンシステムに保存され、実行されます。DAppは通常、オープンソースである。DAppの検証は、コミュニティ内で合意された特定のプロトコルに準拠し、トークンを介してインセンティブが与えられます。

DAppは、ブロックチェーン上で金融機能を実行するDappsが、分散型金融(DeFi)に活用されています。

DAppのブラウザ
すべてのDAppsは、特定のプラットフォーム上でしか動作しない固有のコードを持っています。すべてのDAppsが標準的なWebブラウザで動作するわけではありません。一部のDAppsは、特定のDAppsを開くために調整された、カスタマイズされたコードを持つ特別なウェブサイトでのみ動作します。

アクセシビリティ
DAppsには、一般のユーザーがアクセスできないという批判があります。

多くのDAppsは、特に立ち上げ時にユーザーを集めるのに苦労し、最初に広く人気を集めたものでも、その人気を維持するのに苦労します。

代表的な例としては、人気絶頂期にイーサリアムネットワークをクラッシュさせたDAP「CryptoKitties」があります。CryptoKittiesと同様のゲームベースのDAPであるDice Gamesは、その後同様の人気を集めることができませんでした。

事例紹介
Augur - 予測市場プラットフォーム
Cryptokitties - イーサリアムを利用したゲーム。トランザクション処理が不十分なためにイーサリアムを減速させ、パブリックブロックチェーンのスケーリング限界を露呈させた。
Blockstack - 非中央集権的なアプリケーションを開発するためのプラットフォーム。
Freelance - スマートコントラクトに関するプラットフォーム。
Steem - ブログやソーシャルメディア
Uniswap - 非中央集権的な暗号通貨取引所


スマートコントラクト


スマートコントラクトとは、契約や合意の条件に従って、法的に関連するイベントやアクションを自動的に実行、制御、文書化することを目的としたコンピュータプログラムまたは取引プロトコルのことです。スマートコントラクトの目的は、信頼できる仲介者の必要性、仲裁や執行のコスト、詐欺の損失を削減し、悪意のある例外や偶発的な例外を削減することにあります。

スマートコントラクトの実装に相当する最古の技術として、自動販売機が挙げられています。2014年の暗号通貨イーサリアムに関するホワイトペーパーでは、ビットコインのプロトコルを、コンピュータサイエンティスト、弁護士、暗号学者であるニック・サボが定義したスマートコントラクトの概念の弱いバージョンとして説明しています。ビットコイン以降、様々な暗号通貨がスクリプト言語をサポートし、信頼されていない当事者間でより高度なスマートコントラクトを可能にしています。スマートコントラクトは、スマートリーガルコントラクトとは区別する必要があります。スマート・リーガル・コントラクトは、従来の自然言語による法的拘束力のある契約を指し、特定の条件を機械で読めるコードで表現・実装したものである。


語源
スマートコントラクトは、1990年代初頭にNick Szabo氏が提唱した造語で、「デジタル形式で指定された一連の約束で、当事者がこれらの約束を実行するためのプロトコルを含む」という意味で使用されています。1998年には、Stanford Digital Library Projectの一部であるThe Stanford Infobusというシステムの権利管理サービス層のオブジェクトを指す言葉として使われた。





This article uses material from the Wikipedia article "Smart contract", which is released under the Creative Commons Attribution-Share-Alike License 3.0.