2009年1月3日、サトシ・ナカモトはヘルシンキの小さなサーバーでビットコインのジェネシスブロックをマイニングし、それによって急速に進化する暗号の世界を作り出しました。 ビットコインは「分散型台帳」技術に基づいており、ビットコインの本質は実際にはこの「分散型台帳」に記録された残高(つまり、UXTO、未使用の取引費用)です。 ビットコイン間違いなく素晴らしい発明ですが、その用途にはいくつかの制限があります。 UKTOベースのスクリプト言語は単純なトランザクションしかサポートできないため、ビットコインネットワークでより複雑なロジックを実装することは困難です。 これにより、ビットコインの使用が「デジタルゴールド」に限定され、より広く使用されることが困難になっています。
ビットコインに触発されたヴィタリック・ブテリンは、2014年にビットコインマガジンに「イーサリアム:次世代の暗号通貨と分散型アプリケーションプラットフォーム」を発表し、現在支配的なスマートパブリックチェーンであるイーサリアムとして知られている基本プロトコルから、より広く使用されているブロックチェーンシステムを作成するためにスマートコントラクトを最初に提案しました。
イーサリアムのホワイトペーパーで、Vitalikはプロジェクトの目標について言及しています:「イーサリアムが提供しようとしているのは、任意の状態遷移関数をエンコードするために使用できる「コントラクト」を作成するために使用できる、本格的なチューリング完全プログラミング言語が組み込まれたブロックチェーンであり、ユーザーは上記のシステムのいずれかを作成でき、まだ想像していない他の多くのシステムを作成できます。 数行のコードでロジックを記述するだけです。」 簡単に言えば、これはスマートコントラクトと分散型アプリケーション(DApp)を実行できるプラットフォームを作成することです。
スマートコントラクトは、事前定義された条件が満たされると実行される人と機械の間の「強制力のある契約」に似ています。 その結果、スマートコントラクトは「信頼できる仲介者」と見なすことができます。 イーサリアムの最も重要なイノベーションはスマートコントラクトであり、これはその広大なエコシステムの基盤でもあります。 ビットコインのトランザクションスクリプトとは異なり、イーサリアムのスマートコントラクトはチューリング完全であり、理論的にはあらゆる計算が可能であるため、無限の可能性があります。
ビットコインが本質的にスクリプト機能を備えた「分散型台帳」である場合、イーサリアムはおそらく「分散ステートマシン」に近いでしょう。 イーサリアムのアカウントは、秘密鍵を使用して一般ユーザーが管理する外部所有のアカウントと、契約コードが内部に保存されているが対応する秘密鍵がないため誰にも属さない契約アカウントの2種類に分類されます。
イーサリアムネットワーク全体の状態は、すべてのアカウントの状態、それらの残高、および状態を変更するためのルールを含む大きなデータ構造(マークル-パトリシアツリー)です。 イーサリアムの状態は、新しいブロックがチェーンに追加されるにつれて絶えず変化しています。 したがって、イーサリアムは「分散型パブリックコンピューター」(仮想マシン)であり、さまざまなDAppはこのコンピューターにインストールされているソフトウェアプログラムと考えることができます。
イーサリアムでは、DAppは基本的にスマートコントラクトのコレクションであり、それぞれに固有のコントラクトアドレスがあります。 契約コードが完成したら、契約アカウントへの外部トランザクションによって開始する必要があります。 開発者は、スマートコントラクトに基づいてDAppを簡単に作成し、公式ツールを使用してイーサリアム仮想マシンで実行できます。 イーサリアム仮想マシンの計算能力は限られているため、ユーザーはETHを「ガス」として使用してDAppと仮想マシンに電力を供給する必要があります。
イーサリアムのスマートコントラクトの開始以来、DAppの数が増え、カバレッジエリアが拡大しました。 Vitalikは、イーサリアムのホワイトペーパーで、非財務、半財務、財務の3種類のイーサリアムアプリケーションを想定していました。 非金融アプリケーションには、オンライン投票、分散型ガバナンスなどがあります。半金融アプリケーションには、スマート報酬支払いなどが含まれます。金融アプリケーション(つまり、Defi)が最も影響力があり、イーサリアムはプロトコルネイティブトークン、金融デリバティブ、ヘッジ契約、およびその他のアプリケーションを構築するための柔軟で信頼性の高い契約アプローチを提供します。
イーサリアムは、最も多様なDAppエコシステムを備えた最も人気のあるパブリックチェーンですが、ネットワークの輻輳、効率の悪さ、高額な手数料にも直面しています。 その後、EOS、Solana、Flowなどの新世代の高性能スマートパブリックチェーンが出現すると、独自のDAppエコシステムが確立されました。 現在、最も人気のあるDAppカテゴリは、ゲーム、デファイ、NFTコレクション、ソーシャルファイです。 ゲームDAppは総数とUAW(一意のアクティブなウォレットの数)の点で大きな利点がありますが、Defiプロジェクト(Dex、貸付など)はトランザクション量の点でリードしています。
DAppRadarやDAppReviewなどのデータサイトで、主要なブロックチェーン上のさまざまなDAppのアクティブユーザー、トランザクション量、およびその他のデータを確認できます。 DappRadarだけでも12,000件を突破しました。
ソース: DAppレーダー
DAppは従来のインターネット上のアプリと多くの類似点があり、DAppとブロックチェーンの関係は、アプリとIOSやAndroidなどのオペレーティングシステムの関係に似ています。 DAppは、アプリがさまざまなオペレーティングシステムで実行されるのと同じように、ブロックチェーン上で実行されます。 ブラウザでDAppを使用することは、ユーザーにSaaSソフトウェアを使用することと似ているように感じるかもしれません。
一般的なDAppは、バックエンド(ビジネスモジュール)、データベース(ストレージモジュール)、フロントエンド(ユーザーインターフェイス)の典型的なアプリの3層構造と同様の機能を備えた3つの部分で構成されています。
スマートコントラクトは、DAppのビジネスロジックを実装するためのプログラム的な基盤として機能します。 スマートコントラクトはブロックチェーン上のコントラクトアドレスに保存され、入力データはコントラクトアドレス間で受け渡され、事前定義されたロジックに従ってDAppの機能を実現し、仮想マシン全体の状態変換をトリガーします。 ただし、従来のアプリとは異なり、スマートコントラクトはDAppの現在の状態も保存し、これはブロックチェーン自体の性質でもあります。
データフロープロセスは、アプリまたはDAppの中心です。 データはストレージモジュールからビジネスモジュールに転送されて処理されるため、ユーザーはフロントエンドと対話できます。 アプリデータは通常、一元化されたサーバーに保存されますが、DAppデータは完全にチェーンに保存できます。ただし、効率とコストの理由から、多くのDAppはほとんどのデータをオフチェーン、IPFSなどのサービスに保存し、重要なビジネスモジュールデータのみをブロックチェーンに保存します。
フロントエンドは、一般ユーザーが簡単にアクセスして、詳細なプログラミング知識がなくてもスマートコントラクトコードを使用できる場所です。 DAppとAppのフロントエンド開発にはほとんど違いがありません。どちらもHTMLやJavaScriptなどの一般的なテクノロジーで構築されています。 ただし、DAppを使用するにはスマートコントラクトとの対話が必要なため、フロントエンドはウォレットアプリケーション(Metamaskなど)を可能にするプログラムインターフェイスを提供する必要があります。
ソース: イーサリアムDAppアーキテクチャ ソース: Web3アプリケーションのアーキテクチャ
DAppには、従来のアプリと比較すると次の機能があります。
DAppは集中型サーバーではなく、分散型仮想マシン上で動作するブロックチェーンに依存しています。 これらはDAppsの本質的な機能ですが、いくつかの重要な長所と短所もあります。
集中型サーバーに障害が発生すると、プログラムは完全に使用できなくなります。ただし、DAppの場合、単一のノードがダウンしても、ブロックチェーンでのプログラムの動作には影響しません。 DAppは、スマートコントラクトがチェーンに入ると実行を停止しないため、従来のアプリよりも運用コストが低いことがよくあります。 DAppsは、多くの場合、従来のアプリよりも運用コストが低くなっています。
DAppsとのやり取りは、一般的な金融口座を申請するときに完全な個人情報を提供する必要なしに、ウォレットアドレスのみを介して行われます。 これにより、個人のプライバシーを明らかにする必要がなくなるだけでなく、しきい値が大幅に低下するため、暗号ウォレットを持っている人なら誰でもほとんどのDAppに簡単にアクセスできます。
ブロックチェーンの改ざん防止機能により、DAppsはスマートコントラクトのコードロジックに依存して動作するため、チェーンにアップロードされると、開発者が変更許可を保持しない限り変更できません。そして、アプリケーションがデプロイされると、それは永遠に存在し、世界中の誰のアクセスも制限することは理論的に不可能です。
DAppsは一般に、分散化のために従来のアプリよりも効率が低く、ブロックチェーンの混雑のために一時的に利用できない場合もあります。
ブロックチェーン仮想マシンの処理能力が限られているため、ユーザーはDappと対話するためにネットワークに一定額のガス料金を支払う必要がありますが、これは従来の無料アプリに慣れているユーザーにとっては困難です。
スマートコントラクトコードがチェーン上にあると、変更が困難になり、DAppの開発と保守がより複雑になります。 また、一度問題が発生すると、コードを時間内に修正することも困難です。
ブロックチェーンは分散化されているため、DAppのコードはすべてのコミュニティメンバーがパブリックにアクセスできる必要があります。 これにより、ユーザーはコード分析を行い、プロジェクトの可能性を予測することもできます。
DAppの機能は、対応するブロックチェーンのトークン(ETHなど)またはDApp自体によって発行されたトークン(UNIなど)のいずれかのさまざまなトークンを介して実装されることがよくあります。
DAppエコシステムは急速に発展していますが、DAppの全体的な影響は、Web2の世界クラスのアプリケーションと比較して制限されたままです。 DAppエコ導入時には、以下のようなボトルネックが生じる可能性があります。
1.ユーザースケールと学習しきい値:
UAWに関しては、DAppsのデータが10,000を超えるのは約100件に過ぎません。 最も人気のあるDAppでさえ、1日に数十万の独立したアドレスしか受信せず、Web2スペースと比較すると間違いなく見劣りします。
DAppsを利用するには、ウォレットやブロックチェーンなどの基礎知識を学ぶ必要があります。 したがって、Web2アプリからDAppに切り替えると、学習コストが発生します。 当分の間、DAppsの約束された検閲防止およびプライバシー機能は実際の価値を実証しておらず、DAppsは暗号オタクの間でニッチな製品であり続けています。
2.製品の反復とセキュリティリスク
ユーザーを第一に考え、運用中の製品品質を向上させるために、Web2の製品は「小さなステップ、迅速な反復」の開発ルールに従うことがよくあります。 ただし、DAppがオンラインになると、契約コードを変更することは困難です。 起動後にコードに大きなバグがある場合、それは深刻な結果をもたらします。 その結果、プロジェクトオーナーは、考えられるすべての問題を回避するために、DAppがオンラインになる前に完全な製品設計とコード監査を実行する必要があります。
3.パブリックブロックチェーン基盤
現在ナンバーワンのスマートパブリックチェーンであるイーサリアムは、効率が低く、コストが高いという課題を抱えています。 VISAの24,000TPSと比較すると、イーサリアムのTPSは約15であり、「グローバル決済レイヤー」になるというビジョンを満たすには不十分です。 将来のブロックチェーンが不可能な三角形を突破し、効率、セキュリティ、分散化のバランスをとることができるかどうかは、時が経てばわかります。
DAppは、Web3として知られる次世代のインターネットにとって不可欠であり、情報産業の新しいビジネスモデルの到来を告げる可能性があります。 ユーザビリティに関しては、DAppはWeb2アプリケーションと非常によく似ていますが、DAppには検閲防止とプライバシーという明確な機能があります。
さらに、DAppsを使用するにはウォレットへの接続が必要であり、ユーザーの私物と密接に関連しています。 財産の損失を避けるために、ウォレットを接続する前に、DAppのセキュリティを慎重に評価する必要があります。 信頼できる代理店コード監査を備えたDAppを選択するのが最善です。
2009年1月3日、サトシ・ナカモトはヘルシンキの小さなサーバーでビットコインのジェネシスブロックをマイニングし、それによって急速に進化する暗号の世界を作り出しました。 ビットコインは「分散型台帳」技術に基づいており、ビットコインの本質は実際にはこの「分散型台帳」に記録された残高(つまり、UXTO、未使用の取引費用)です。 ビットコイン間違いなく素晴らしい発明ですが、その用途にはいくつかの制限があります。 UKTOベースのスクリプト言語は単純なトランザクションしかサポートできないため、ビットコインネットワークでより複雑なロジックを実装することは困難です。 これにより、ビットコインの使用が「デジタルゴールド」に限定され、より広く使用されることが困難になっています。
ビットコインに触発されたヴィタリック・ブテリンは、2014年にビットコインマガジンに「イーサリアム:次世代の暗号通貨と分散型アプリケーションプラットフォーム」を発表し、現在支配的なスマートパブリックチェーンであるイーサリアムとして知られている基本プロトコルから、より広く使用されているブロックチェーンシステムを作成するためにスマートコントラクトを最初に提案しました。
イーサリアムのホワイトペーパーで、Vitalikはプロジェクトの目標について言及しています:「イーサリアムが提供しようとしているのは、任意の状態遷移関数をエンコードするために使用できる「コントラクト」を作成するために使用できる、本格的なチューリング完全プログラミング言語が組み込まれたブロックチェーンであり、ユーザーは上記のシステムのいずれかを作成でき、まだ想像していない他の多くのシステムを作成できます。 数行のコードでロジックを記述するだけです。」 簡単に言えば、これはスマートコントラクトと分散型アプリケーション(DApp)を実行できるプラットフォームを作成することです。
スマートコントラクトは、事前定義された条件が満たされると実行される人と機械の間の「強制力のある契約」に似ています。 その結果、スマートコントラクトは「信頼できる仲介者」と見なすことができます。 イーサリアムの最も重要なイノベーションはスマートコントラクトであり、これはその広大なエコシステムの基盤でもあります。 ビットコインのトランザクションスクリプトとは異なり、イーサリアムのスマートコントラクトはチューリング完全であり、理論的にはあらゆる計算が可能であるため、無限の可能性があります。
ビットコインが本質的にスクリプト機能を備えた「分散型台帳」である場合、イーサリアムはおそらく「分散ステートマシン」に近いでしょう。 イーサリアムのアカウントは、秘密鍵を使用して一般ユーザーが管理する外部所有のアカウントと、契約コードが内部に保存されているが対応する秘密鍵がないため誰にも属さない契約アカウントの2種類に分類されます。
イーサリアムネットワーク全体の状態は、すべてのアカウントの状態、それらの残高、および状態を変更するためのルールを含む大きなデータ構造(マークル-パトリシアツリー)です。 イーサリアムの状態は、新しいブロックがチェーンに追加されるにつれて絶えず変化しています。 したがって、イーサリアムは「分散型パブリックコンピューター」(仮想マシン)であり、さまざまなDAppはこのコンピューターにインストールされているソフトウェアプログラムと考えることができます。
イーサリアムでは、DAppは基本的にスマートコントラクトのコレクションであり、それぞれに固有のコントラクトアドレスがあります。 契約コードが完成したら、契約アカウントへの外部トランザクションによって開始する必要があります。 開発者は、スマートコントラクトに基づいてDAppを簡単に作成し、公式ツールを使用してイーサリアム仮想マシンで実行できます。 イーサリアム仮想マシンの計算能力は限られているため、ユーザーはETHを「ガス」として使用してDAppと仮想マシンに電力を供給する必要があります。
イーサリアムのスマートコントラクトの開始以来、DAppの数が増え、カバレッジエリアが拡大しました。 Vitalikは、イーサリアムのホワイトペーパーで、非財務、半財務、財務の3種類のイーサリアムアプリケーションを想定していました。 非金融アプリケーションには、オンライン投票、分散型ガバナンスなどがあります。半金融アプリケーションには、スマート報酬支払いなどが含まれます。金融アプリケーション(つまり、Defi)が最も影響力があり、イーサリアムはプロトコルネイティブトークン、金融デリバティブ、ヘッジ契約、およびその他のアプリケーションを構築するための柔軟で信頼性の高い契約アプローチを提供します。
イーサリアムは、最も多様なDAppエコシステムを備えた最も人気のあるパブリックチェーンですが、ネットワークの輻輳、効率の悪さ、高額な手数料にも直面しています。 その後、EOS、Solana、Flowなどの新世代の高性能スマートパブリックチェーンが出現すると、独自のDAppエコシステムが確立されました。 現在、最も人気のあるDAppカテゴリは、ゲーム、デファイ、NFTコレクション、ソーシャルファイです。 ゲームDAppは総数とUAW(一意のアクティブなウォレットの数)の点で大きな利点がありますが、Defiプロジェクト(Dex、貸付など)はトランザクション量の点でリードしています。
DAppRadarやDAppReviewなどのデータサイトで、主要なブロックチェーン上のさまざまなDAppのアクティブユーザー、トランザクション量、およびその他のデータを確認できます。 DappRadarだけでも12,000件を突破しました。
ソース: DAppレーダー
DAppは従来のインターネット上のアプリと多くの類似点があり、DAppとブロックチェーンの関係は、アプリとIOSやAndroidなどのオペレーティングシステムの関係に似ています。 DAppは、アプリがさまざまなオペレーティングシステムで実行されるのと同じように、ブロックチェーン上で実行されます。 ブラウザでDAppを使用することは、ユーザーにSaaSソフトウェアを使用することと似ているように感じるかもしれません。
一般的なDAppは、バックエンド(ビジネスモジュール)、データベース(ストレージモジュール)、フロントエンド(ユーザーインターフェイス)の典型的なアプリの3層構造と同様の機能を備えた3つの部分で構成されています。
スマートコントラクトは、DAppのビジネスロジックを実装するためのプログラム的な基盤として機能します。 スマートコントラクトはブロックチェーン上のコントラクトアドレスに保存され、入力データはコントラクトアドレス間で受け渡され、事前定義されたロジックに従ってDAppの機能を実現し、仮想マシン全体の状態変換をトリガーします。 ただし、従来のアプリとは異なり、スマートコントラクトはDAppの現在の状態も保存し、これはブロックチェーン自体の性質でもあります。
データフロープロセスは、アプリまたはDAppの中心です。 データはストレージモジュールからビジネスモジュールに転送されて処理されるため、ユーザーはフロントエンドと対話できます。 アプリデータは通常、一元化されたサーバーに保存されますが、DAppデータは完全にチェーンに保存できます。ただし、効率とコストの理由から、多くのDAppはほとんどのデータをオフチェーン、IPFSなどのサービスに保存し、重要なビジネスモジュールデータのみをブロックチェーンに保存します。
フロントエンドは、一般ユーザーが簡単にアクセスして、詳細なプログラミング知識がなくてもスマートコントラクトコードを使用できる場所です。 DAppとAppのフロントエンド開発にはほとんど違いがありません。どちらもHTMLやJavaScriptなどの一般的なテクノロジーで構築されています。 ただし、DAppを使用するにはスマートコントラクトとの対話が必要なため、フロントエンドはウォレットアプリケーション(Metamaskなど)を可能にするプログラムインターフェイスを提供する必要があります。
ソース: イーサリアムDAppアーキテクチャ ソース: Web3アプリケーションのアーキテクチャ
DAppには、従来のアプリと比較すると次の機能があります。
DAppは集中型サーバーではなく、分散型仮想マシン上で動作するブロックチェーンに依存しています。 これらはDAppsの本質的な機能ですが、いくつかの重要な長所と短所もあります。
集中型サーバーに障害が発生すると、プログラムは完全に使用できなくなります。ただし、DAppの場合、単一のノードがダウンしても、ブロックチェーンでのプログラムの動作には影響しません。 DAppは、スマートコントラクトがチェーンに入ると実行を停止しないため、従来のアプリよりも運用コストが低いことがよくあります。 DAppsは、多くの場合、従来のアプリよりも運用コストが低くなっています。
DAppsとのやり取りは、一般的な金融口座を申請するときに完全な個人情報を提供する必要なしに、ウォレットアドレスのみを介して行われます。 これにより、個人のプライバシーを明らかにする必要がなくなるだけでなく、しきい値が大幅に低下するため、暗号ウォレットを持っている人なら誰でもほとんどのDAppに簡単にアクセスできます。
ブロックチェーンの改ざん防止機能により、DAppsはスマートコントラクトのコードロジックに依存して動作するため、チェーンにアップロードされると、開発者が変更許可を保持しない限り変更できません。そして、アプリケーションがデプロイされると、それは永遠に存在し、世界中の誰のアクセスも制限することは理論的に不可能です。
DAppsは一般に、分散化のために従来のアプリよりも効率が低く、ブロックチェーンの混雑のために一時的に利用できない場合もあります。
ブロックチェーン仮想マシンの処理能力が限られているため、ユーザーはDappと対話するためにネットワークに一定額のガス料金を支払う必要がありますが、これは従来の無料アプリに慣れているユーザーにとっては困難です。
スマートコントラクトコードがチェーン上にあると、変更が困難になり、DAppの開発と保守がより複雑になります。 また、一度問題が発生すると、コードを時間内に修正することも困難です。
ブロックチェーンは分散化されているため、DAppのコードはすべてのコミュニティメンバーがパブリックにアクセスできる必要があります。 これにより、ユーザーはコード分析を行い、プロジェクトの可能性を予測することもできます。
DAppの機能は、対応するブロックチェーンのトークン(ETHなど)またはDApp自体によって発行されたトークン(UNIなど)のいずれかのさまざまなトークンを介して実装されることがよくあります。
DAppエコシステムは急速に発展していますが、DAppの全体的な影響は、Web2の世界クラスのアプリケーションと比較して制限されたままです。 DAppエコ導入時には、以下のようなボトルネックが生じる可能性があります。
1.ユーザースケールと学習しきい値:
UAWに関しては、DAppsのデータが10,000を超えるのは約100件に過ぎません。 最も人気のあるDAppでさえ、1日に数十万の独立したアドレスしか受信せず、Web2スペースと比較すると間違いなく見劣りします。
DAppsを利用するには、ウォレットやブロックチェーンなどの基礎知識を学ぶ必要があります。 したがって、Web2アプリからDAppに切り替えると、学習コストが発生します。 当分の間、DAppsの約束された検閲防止およびプライバシー機能は実際の価値を実証しておらず、DAppsは暗号オタクの間でニッチな製品であり続けています。
2.製品の反復とセキュリティリスク
ユーザーを第一に考え、運用中の製品品質を向上させるために、Web2の製品は「小さなステップ、迅速な反復」の開発ルールに従うことがよくあります。 ただし、DAppがオンラインになると、契約コードを変更することは困難です。 起動後にコードに大きなバグがある場合、それは深刻な結果をもたらします。 その結果、プロジェクトオーナーは、考えられるすべての問題を回避するために、DAppがオンラインになる前に完全な製品設計とコード監査を実行する必要があります。
3.パブリックブロックチェーン基盤
現在ナンバーワンのスマートパブリックチェーンであるイーサリアムは、効率が低く、コストが高いという課題を抱えています。 VISAの24,000TPSと比較すると、イーサリアムのTPSは約15であり、「グローバル決済レイヤー」になるというビジョンを満たすには不十分です。 将来のブロックチェーンが不可能な三角形を突破し、効率、セキュリティ、分散化のバランスをとることができるかどうかは、時が経てばわかります。
DAppは、Web3として知られる次世代のインターネットにとって不可欠であり、情報産業の新しいビジネスモデルの到来を告げる可能性があります。 ユーザビリティに関しては、DAppはWeb2アプリケーションと非常によく似ていますが、DAppには検閲防止とプライバシーという明確な機能があります。
さらに、DAppsを使用するにはウォレットへの接続が必要であり、ユーザーの私物と密接に関連しています。 財産の損失を避けるために、ウォレットを接続する前に、DAppのセキュリティを慎重に評価する必要があります。 信頼できる代理店コード監査を備えたDAppを選択するのが最善です。