DAppsとは何か?その仕組みや特徴を解説
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は現代のデジタル社会における根本的な変化の起点となっています。
※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。
関連記事
-
ユーティリティトークンとは?特徴や機能、事例を解説
暗号資産(仮想通貨)に関連して、「〇〇トークン」という用語を耳にしたことがある方も多いのではないでしょうか?本記事では、トークンの概要を紹介した上で、ユーティリティトークンについて解説していきます。
-
ライトコイン(LTC)とは?初心者向けにわかりやすく解説!
ライトコイン(LTC)は、ベースとなったビットコインよりも決済が行いやすくなるように様々な工夫がなされています。本記事では、これまでのライトコインの開発や価格推移などを含め、特徴を解説していきます。
-
暗号資産(仮想通貨)のハードフォークとは?基礎知識や過去の事例を紹介
暗号資産(仮想通貨)・ブロックチェーン界隈では時々、「ハードフォーク」という事象がニュースになることがあります。本記事では、過去に起きた事例と共にハードフォークの実態について解説します。
-
初心者でも簡単にパソコンやスマホで取引できる!ビットコインの買い方
ビットコイン(BTC)など暗号資産(仮想通貨)の取引を行うためには「暗号資産交換業者」を選ばなければいけません。今回は、暗号資産交換業者を通じたビットコインの購入方法や、手数料・取引単位について見ていきましょう。
-
ステラルーメン(XLM)とはどんな暗号資産(仮想通貨)?特徴を解説
2019年以降、日本の暗号資産(仮想通貨)交換業者でもステラルーメン(XLM)の取り扱いが始まりました。本記事では、ステラルーメンがどのような暗号資産なのか解説します。
-
アルトコイン(オルトコイン)とは?知名度の高いコインの特徴や価格を紹介!
ビットコイン(BTC)以外の仮想通貨のことをアルトコインと呼び、2021年11月現在で、世界に約6,800種類以上も存在しています。アルトコインがどんなもので、どんなメリットやデメリットがあるのかを見ていきましょう。
-
イーサリアム現物ETFとは?ETH価格への影響は?
「イーサリアム現物ETF」は、イーサリアム(ETH)の現物資産を基にした上場投資信託(ETF)です。この記事ではイーサリアム現物ETFとは何か、ETH価格への影響について検討していきます。
-
アルトコインの季節(アルトシーズン)とは?ビットコイン価格との関係について解説
ビットコイン以外の銘柄である「アルトコイン」のパフォーマンスが優れている時に頻出する用語が「アルトコインの季節」です。「アルトコインの季節」が注目される理由や過去の動向などをこの記事で把握しておきましょう。
今、仮想通貨を始めるなら
DMMビットコイン