Alonzoアップグレードにより、スマートコントラクトや分散型アプリケーション(DApp)、その他のアプリケーションをCardano上で展開できるようになりました。これはすべてCardanoにとって非常に重要です。新たな開発者コミュニティへの扉が開かれ、そのクリエイティブなパワーによってCardanoのユーティリティと普及が促進されるためです。
新しいアプリケーションエコシステムは、いずれも探求心をそそるバイキング料理のようなものです。同時に、新興のエコシステムは、当初発見と品質保証という2つの重要な課題に直面します。ユーザーは自分の関心に見合った製品を見つけることができなければならず、これには、一定レベルの品質保証が求められます。
新しい第三機関のアプリケーションの流入は、不適切または悪質な素材や、単に標準に達していないコンテンツといった固有のリスクももたらします。したがって、発見と品質保証の問題は、エコシステムの初期成長において重要です。
今週末のCardanoサミットでは、この問題についてさらに深く掘り下げます。ここでは、Cardano上で開発されたアプリケーションを査定する認証プログラムと、開発中のdAppStoreを紹介します。
CardanoでのDApp発見
サミットでプロトタイプのプレビューが予定されているdAppStoreは、開発者がCardanoで実行するDAppをアップロードして、他者が使用できるようにする場所です。ストアは、開発者が検閲なしに自分たちのDAppを公開するための、信頼できる民主的な環境を提供します。
Plutus dAppStoreは、特に2つの参入障壁に対処します。
- 現在公式のDApp発見プロセスが存在しない。ほぼすべての発見は、有機的手段や口コミ、またはソーシャルメディアマーケティング経由で実現されている
- エンドユーザー向けの、所与のエコシステムで利用可能なすべてのDAppを一括表示する場が存在しない
Plutus dAppStoreへは、ウェブブラウザーでアクセスできます。Plutus dAppStoreはCardanoの「店舗」です。ストアには、Cardanoで実行できる製品が幅広く陳列されます。認証プログラムは、自動ロジックチェック、スマートコントラクトの手動監査、フォーマル検証によって、ユーザーが使用するあらゆるアプリの動作保証を提供します。
ストアには、認証の有無にかかわらず、すべてのDAppを置くことができますが、ユーザーには、特定のDAppの明確な認証状況が提供されます。dAppStoreは門番(あるいは審判)として機能することを意図していません。むしろこれは、透明性の高いユーザー査定のためのプラットフォームを提供するものです。
認証の重要な役割
dAppStoreは店舗です。しかし、コミュニティによる検証以外に、保証機能は組み込まれていません。ここで、2つ目の要素が重要となります。認証プログラムの役割は、コードレベルにおけるセキュリティの脆弱性を防ぐことです。これを、さまざまな「防御」レベルを展開することで達成します。
ここには複数の階層が設けられます。もっとも単純なレベルでは、自動ロジックチェックによりある種の悪質なコードの検知が可能となります。たとえば、コントラクトがロックされている資金を回収できるような方法を含んでいるかどうかかをチェックすることができます。きちんと構成されたコントラクトでは、ロックされた資金は回収可能である必要があります。
次の段階では、スマートコントラクトの手動監査が、あらゆるDAppの完全性の検証に役立ちます。最後に完全なフォーマル検証が数学的モデルをテストし、スマートコントラクトが動作の形式仕様記述を満たしていることを証明します。
もちろん、どのような認証プログラムも、その性能は実装および実行する人材次第です。この理由により、関数型プログラミング界でトップレベルの人々とパートナーシップを結んでいます。こちらは、サミットで紹介します。
安全な基盤の上に構築:Cardano自体
この認証機能は、ビットコインやイーサリアムなど、他のブロックチェーンよりもすでに高い保証性を提供しているブロックチェーンに構築されています。たとえば、トークンは、イーサリアムのERC20のようにコントラクトで提供されるのではなく、Cardano自体のアーキテクチャーに組み込まれています。これにより、新たなトークンを実装するためにコントラクトをコピーや変更することによって生じる不具合を排除します。
チェーンの基盤に着目すると、拡張未使用トランザクションアウトプット(EUTXO)アカウントモデルは、ブロックチェーンにとって基本的に、より単純(かつ安全)なモデルです。Plutusのスマートコントラクトは関数型プログラミングであり、シンプルで検証可能な関数言語のセマンティクスが、自動テストおよびフォーマル検証両方を使用して実行する諸事を支えています。 私たちは、他のチェーンよりも安全な基盤を構築したいと考えています。Plutusは関数型言語です。
また、金融専門言語であるMarloweも、設計により特定のプロパティが保証されています。たとえば、コントラクトの終了後に資産を保持したままになるMarloweコントラクトはありません。これは、Marloweに組み込まれたプロパティであり、改めてこの点についてチェックする必要なありません。Marloweでは、ツールを使って、コントラクトが特定の優れたプロパティを有することを、コントラクトを実行することなく1つ1つの実行可能性を検証することによって、自動的に確認することができます。
Alonzoハードフォークのコンテクストにおける認証
サミットでは、スマートコントラクトの自動テストの例を紹介します。これは、完全なDAppというよりもDAppのコンポーネントです。
長期的には、ユーザーが設計したツールや、そのツールがストア展開し、Plutus dAppStoreがいいね機能やレビュー、さらにはAtala PRISMの統合などを含んで進化し、ユーザーがストアの幅広いDAppにフィードバックする機会を提供できるようになることを期待しています。
Alonzoテストネット、Plutusパイオニアプログラム、そしてもちろんProject Catalystへの取り組みを通じて、すでにCardanoには多くのプロジェクトが構築され始めています。これから数か月後にこうしたプロジェクトが市場に登場し始めたとき、これらのDAppにとってユーザーに発見、信頼されることが鍵となります。これは、オープンな分散型エコシステムとの共同作業です。したがって、通常の買い手責任および「自分自身でリサーチを」の原則がもちろん適用されます。しかし、認証と保証の標準向上を支援することが、Cardanoでエコシステムの繁栄を加速させ、可能な限り幅広くユーザーベースを獲得する鍵となります。
本稿の執筆には、Simon ThompsonとFernando Sanchez両氏のご協力をいただきました。
9月25、26日のサミットに参加し、このエキサイティングな新イニシアチブの詳細を学び、dAppStoreプロトタイプのデモをご覧ください。
最新の記事
Input | Output chief scientist receives prestigious Lovelace computing award 筆者: Fergie Miller
3 December 2024
Delivering change in Ethiopia: lessons and reflections 筆者: Staff Writer
28 November 2024
Applying formal methods at Input | Output: real-world examples 筆者: James Chapman
26 November 2024