DAppsとは何か?その仕組みや特徴を解説

DApps
2024-08-31 更新

DApps(ダップス)とは、ブロックチェーン上でスマートコントラクトを利用することで実現できるアプリケーションです。現在、数多くの分野でDAppsが開発され始めており、次世代型のソフトウェアとして注目を集めています。本稿ではそのDAppsについての概要を解説します。

DAppsとはどんなアプリ?

DAppsは、Decentralized Applicationsの略称です。日本語で「分散型アプリケーション」と呼ばれています。ブロックチェーン上でソフトウェアを動作させる仕組み「スマートコントラクト」を応用したものであり、現在ではオークションプラットフォームやDEX(分散型取引所)、ゲームなどが開発されています。

従来のアプリケーションとDAppsの根本的な違い

DAppsは、従来のパソコンやスマートフォンのアプリケーションといくつかの重要な点で異なります。

まず、DAppsの核となるスマートコントラクトはブロックチェーン上に存在するため、システム全体の稼働時間や透明性が確保されています。

それに加えて、DAppsには一度ブロックチェーンにデプロイされると、単一の個人や組織だけの意志でコードを変更することが困難という検閲耐性も備わっています。アップグレードには、コミュニティの合意を必要とします。

DAppsは操作性を向上させるために、ウェブサイトやモバイルアプリなどのユーザーフレンドリーなインターフェースを提供することが多いです。これらはプロジェクト運営者によって管理されています。
これらのインターフェースを通じて、ユーザーはブロックチェーンの複雑性を意識せずにDAppsを利用できますが、操作に関する部分はプロジェクト管理者が自前でサーバーやネットワークを稼働させる必要があります。

そのため、なんらかのアクシデントでインターフェース側が利用できなくなると、ブロックチェーン上で直接DAppsを動作させるためのトランザクションを生成できる専門家以外は、DAppsの利用が困難になります。

従って、DAppsはブロックチェーンの特徴を受け継ぐ一方で、アクセシビリティの面では従来の仕組みに左右される場合があるのです。

主流なDAppsプラットフォーム

DAppsは、ブロックチェーン上で動作するプログラムであるスマートコントラクトを核としています。その実用性の大部分は、最古にして最も成熟したスマートコントラクトプラットフォームであるイーサリアムが源流です。

イーサリアムのスマートコントラクト向けのプログラミング言語「Solidity」も、様々なブロックチェーンで使用されているという背景もあり、汎用性の高いイーサリアム基盤のDAppsが世界的に主流です。現在も様々な分野で開発やリリースが行われています。

また、イーサリアム上では、DAppsを開発する場合に便利なツールが数多くリリースされており、開発の参考になるドキュメントも充実しています。このような優位性も、DAppsやスマートコントラクトを開発したいエンジニアや企業からみた際、イーサリアムが選ばれやすい理由のひとつとなっています。

DApps開発で用いられる主なスマートコントラクト言語

DAppsは、異なるブロックチェーン間であっても適用される「スマートコントラクト言語」が共通していれば原則動作します。よって、DAppsはイーサリアムの専売特許ではありません。数多くのブロックチェーンがそれぞれ適したスマートコントラクト言語を用いてDAppsを開発できる態勢を整えており、本来スマートコントラクト言語ではない言語にも対応することで開発者にアピールしていることもあります。

イーサリアム系ネットワークで使用される「Solidity」

Solidityは、イーサリアム(ETH)や、ポリゴン(MATIC)を始めとしたイーサリアム互換ネットワークで用いられるスマートコントラクト言語です。2014年に初めて提案され、以来、スマートコントラクトの標準的な言語として広く受け入れられています。

SolidityはJavaScriptやC++、Pythonなど、よく知られているプログラミング言語に影響を受けた構文を有しているため、新しい開発者が習得しやすいだけでなく、既存の開発者にとってもなじみやすい言語です。

長所としては、EVM(Ethereum Virtual Machine)で効率的に動作するよう最適化されているため、スマートコントラクトを安全かつローコストで実行できます。また、イーサリアム互換ネットワークであれば共通して使用できることも大きな利点でしょう。

ソラナ、ポルカドット、コスモスで使用される「Rust」

Rustは、ソラナ(SOL)や、ポルカドット(DOT)をはじめとしたブロックチェーンプラットフォームで採用されているプログラミング言語です。RustはMozillaによって開発され、2010年代初頭に一般にリリースされた比較的新しい言語で、パフォーマンスと安全性を重視した設計が特徴です。

Solidityが備えていない特性として、Rustは並行処理(Concurrency)のサポートにも優れており、これにより複数のスレッドが同時に実行されるプロセスにおいても安全で効率的な動作が可能となります。ブロックチェーンノードを開発する際のこの能力は、安定性とパフォーマンス向上の両面において大きなアドバンテージです。

一方、RustはSolidityとは違い、純粋なスマートコントラクト専門の言語ではありません。そのためスマートコントラクト開発のためのリソースやツールはまだまだ発展途中です。

初心者にも親しみやすいSolidityの高度な抽象化に対し、Rustは低レベルでの精密なシステム制御を可能にします。この点では、より深い操作や細かな挙動の調整が要求される場合にRustが大きな強みを発揮します。

DeFiやGameFiと呼ばれるDAppsとは?

これまで紹介してきたDAppsの中でも、 DeFiやGameFiと呼ばれるカテゴリーが注目を集めています。

DeFiは、Decentralized Finance(分散型金融)の略語で、従来の銀行や証券会社などの中央集権的な金融機関を介さずに行われる金融関連のDAppsを指します。

DeFiはブロックチェーン上で稼働するDAppsである以上、サービスで利用できる資産は暗号資産に限定されますが、米ドルに紐づいた価格で推移するステーブルコインなどを利用することにより、実質的に従来の金融サービスで実現できる貸し借り、暗号資産の交換、資産運用などの金融活動が誰でも行えるようになります。

また、すべての取引データは当然ブロックチェーン上に公開されるため、これにより、透明性の高い金融システムが実現され、利用者は自分の資産を自身でコントロールすることが可能になります。

一方GameFiは、ゲーム(Game)と金融(Finance)を組み合わせた言葉であり、ブロックチェーン技術を応用した新たなゲームの形態です。GameFiでは、プレイヤーがゲーム内で獲得したアイテムや暗号資産を、NFTやERC-20トークンとして外部に持ち出したり、逆にあらかじめそれらを準備してゲーム内に持ち込んだりできます。

参考コラム:
ステーブルコインとは?特徴や仕組みを解説!
GameFiとは? ブロックチェーンゲームによる収益化

DAppsで利用されるトークンの種類は?

イーサリアムでは、ブロックチェーン上で資産を作り、取引しやすくするために様々な規格が「ERC」として複数提案されています。ERCは「Ethereum Request for Comments」の略称で、イーサリアム上であれば誰でも開発に利用できる改善案となっています。ERCが議論を経て承認されると、「EIP」(Ethereum Improvement Proposals。イーサリアム改善提案)として採択され、イーサリアムのアップデート時に実装されます。
暗号資産の企画は複数存在しますが特に「ERC-20」、「ERC-721」規格が主流です。

ERC-20

ERC-20は、イーサリアムにおいて広く普及している規格で、ファンジブルトークンを定義しています。非常に汎用性の高いトークン規格であり、例えばポリゴン(MATIC)やチェーンリンク(LINK)、FCRコイン(FCR)とった多くの暗号資産もこの規格に該当します。

これらの暗号資産をDAppsで使用する場合、そのプロジェクトのネイティブトークンの保有量によって何かしらの恩恵を受けることができたり、ユーザーが何らかの行動をすることで、報酬としてネイティブトークンを入手できたりします。

ERC-721

ERC-721は、ノンファンジブルトークン(NFT)について定義した規格です。ノンファンジブルとは代替不可能性といった意味で、NFTとは代替できない固有の価値を備えるトークンを指します。ゲームの例では、シリアルナンバーの入ったレアカードのようなものになります。カード1枚1枚に固有のシリアルナンバーが入っているため、それぞれ区別されます。このように他のアイテムとまとめることができない、他と取り替えのきかない固有の価値を備える存在にあたり、主にNFTマーケットプレイスで利用される規格になっています。

まとめ

DAppsとは、ブロックチェーン上でソフトウェアを動作させる仕組み「スマートコントラクト」を応用したものです。これらはブロックチェーン上で動作する自動化された契約であるスマートコントラクトを核として機能し、データの不変性、透明性、セキュリティを提供します。

イーサリアム(ETH)がこの分野でパイオニアである一方で、ソラナ(SOL)、アバランチ(AVAX)、コスモス(ATOM)といった多様なブロックチェーンが独自のスマートコントラクト技術を展開し、エコシステムの多様化を促進しています。

DAppsの中心的なカテゴリーのひとつであるDeFiは、伝統的な銀行業務に代わる新たな分散型金融モデルを生み出しています。貸し出し、借入れ、取引所機能などがパーミッションレス(誰でも参加できる)かつ仲介者フリーの環境で提供されることで、金融アクセスの民主化が進展しています。同様に、GameFiはゲーム業界に新しい経済モデルをもたらし、より民主的なメカニズムを備えた次世代のゲーム環境を構築しています。

分散型技術が持つポテンシャルは計り知れず、今後もさらなる進化と普及が期待される中、DAppsは現代のデジタル社会における根本的な変化の起点となっています。

※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。

関連記事

今、仮想通貨を始めるなら
DMMビットコイン