PlutusV3でもっと多くのチャンスを引き出す
スマートコントラクトの普及を促し、ガバナンスと投票機能をサポートし、ブロックチェーン間の相互運用性を促進することで、開発者のエクスペリエンスを向上させるPlutusV3
2024年 2月 12日 9 分で読めます
現在SanchoNetでテスト可能なPlutusV3は高度なPlutusプリミティブを導入。これにより、開発者にはより多くのツールが提供され、スマートコントラクトを作成するうえでの可能性が広がります。
Cardanoでスマートコントラクトを繁栄に導くには、開発者エクスペリエンスの向上とスマートコントラクトの普及が不可欠です。この1年間で、コミュニティで構築された開発ツールのホストと代替言語が出現し成長したことにより、開発者の選択肢が増え、Cardanoビルダーのエコシステムが大幅に活性化しました。機能の構築を継続するために、Input Output Global(IOG)のPlutusチームと暗号チームは、MLabsと協力して、パフォーマンス、スループット、スマートコントラクトサイズ、プラットフォーム機能に重点を置きつつ、PlutusV3に取り組みました。充実した開発者ツールキットと操作効率の向上により、このアップグレードはコストを削減するだけでなく、新しい開発者を取り込むのにも役立ちます。
PlutusV3とは
PlutusV3は新しい台帳言語。Plutus Coreの暗号機能を強化し、Cardanoを最新の業界標準に準拠させることを可能にします。1年前のValentineアップグレードでは、SECP楕円曲線(ECDSAおよびSchnorr)のサポートが追加されました。
V3での新しい暗号プリミティブの導入は、開発者が業界のベストプラクティスを満たし、よく知られた最適な暗号アルゴリズムを使用し、イーサリアムからスマートコントラクトを移植し、サイドチェーンブリッジを作成するのに役立ちます。暗号化プリミティブに加えて、PlutusV3は、さまざまなデータ型の直接エンコードをサポートするためのSOP(Sums Of Products:製品の合計)機能を追加することでパフォーマンスを向上させます。さらに、ユーザーがCIP-1694ガバナンス関連のエンティティを表示できるように更新されたスクリプトコンテキストを提供します。
では、新機能を詳しく見ていきましょう。
SOP
Plutus Coreでデータ型をエンコードする一般的な方法は、Scottアプローチを使用することです。PlutusV3は、Scottエンコーディングと比較して、より小さく安価なスクリプトにつながるデータ型のエンコーディング方法であるSOPを導入しています。
SOPアプローチは、スクリプトの効率を高め、Plutus Coreコンパイラーのコード生成を改善することを目的としています。この変更には、フィールドをコンストラクター値にパックするための新しい用語コンストラクターと、ケースブランチの効率的なタグ検査が含まれます。このメリットは、プログラムの実行速度が30%向上する可能性があることです。これにより、パフォーマンスが大幅に最適化され、運用が合理化され、スマートコントラクトの迅速な実行が保証されます。詳しくは、CIP-85を参照してください。
新しい暗号プリミティブ
すべてのブロックチェーンの中心となるのは、ハッシュ関数、デジタル署名、ゼロ知識証明(ZKP)システムを含む暗号プリミティブの使用です。これらの基本的な要素は、計算効率を高めるためのもので、それぞれのアプリケーションに合わせた堅牢なセキュリティを確保します。その結果、信頼性の高いエコシステムを確立し、CardanoのP2PネットワークとDApp(分散型アプリケーション)とのスムーズな連携を促進する一連のセキュリティ保証が実現します。
Plutus言語では、組み込み関数はスクリプト内で明示的に定義されていませんが、言語のランタイム環境の一部です。この関数を使用することで、インタプリターはスクリプトを実行するときに、システムに固有の最適化された実装を提供することができます。組み込み関数は、算術、制御、およびその他の重要なタスクを含む、頻繁に使用される適切に定義された操作を実行します。PlutusV3の詳細の一環として、ここで言語の機能を強化する新しい組み込みプリミティブを確認しましょう。
- BLS12-381:この曲線ペアリングには、暗号化曲線をサポートする17プリミティブ、シームレスなサイドチェーン仕様の実装、およびMithrilの統合が含まれています。
- Blake2b-224:トランザクション署名の検証のための公開鍵ハッシュのオンチェーン計算用の暗号ハッシュ関数。Blake2b-224の実装は、コミュニティプロジェクトをサポートし、さまざまなアプリケーションに対応することで、Cardanoの汎用性と普及に貢献します。
- Keccak-256:256ビット(32バイト)のハッシュ値を生成する暗号ハッシュ関数で、一般に安全なデータ検証に使用されます。Keccak-256はスクリプト内でのイーサリアム署名検証をサポートしています。これはクロスチェーンソリューションにとって重要であり、Cardanoのユースケースを拡大することでコミュニティプロジェクトが促進されます。
ビット単位プリミティブで開発者を支援
CIP-58ビット単位プリミティブの導入により、開発者に低レベルビット操作のための堅牢な機能が提供されます。この追加機能により、開発者はパフォーマンスの最適化と暗号機能の両方で大きなメリットを得ることができます。段階的な導入計画により、ビット単位プリミティブの統合はシームレスに実行され、開発者がCardanoに強力で効率的なソリューションを構築するための堅牢な環境が整備されます。
ビット単位プリミティブは、次の機能を可能にします。
- パフォーマンスの向上:ビット単位プリミティブは、Plutus内で非常に低レベルなビット操作を行う機能を導入します。この機能は、効率的なソリューションを求める開発者にとって重要な要素である、高性能なデータ操作を実行するための基盤となります。CIP-58は高効率なアルゴリズムとデータ構造のための低レベル関数のクラスを追加します。
- 暗号サポート:ビット単位のプリミティブは、暗号化関数をサポートするために不可欠です。このプリミティブによって、Plutus内に安全で堅牢な暗号アルゴリズムを実装できるようになります。
- 整数文字列変換によるスムーズな統合:ビット単位プリミティブは、整数とバイト文字列の変換のための標準的で高性能な実装を容易にします。プリミティブはバイト文字列形式の引数を必要としますが、データは整数形式で表示されることが多いため、この機能は不可欠です。
Plutusのアップグレードでは、integerToByteStringとbyteStringToIntegerの2つのビット単位プリミティブが追加されます。残りのプリミティブは徐々にPlutusV3に追加されていきます。今後、このようなアップグレードに新しい台帳言語は不要になります。この段階的な導入アプローチにより、こうした強力な機能をPlutus言語に体系的に統合できます。
Cardanoノードv.8.8.0-preのリリースを皮切りに、PlutusV3はSanchoNetで利用可能になり、制御されたテストネット環境でCardanoコミュニティにCIP-1694のガバナンス機能がもたらされています。
まとめ
PlutusV3は、Cardanoビルダーコミュニティにより優れた効率、オプション、使いやすさを提供します。このすべてが、開発者への普及を促がすための鍵となります。パフォーマンス、スループット、スマートコントラクトサイズ、プラットフォーム機能などの側面を優先することで、Cardano開発者が最新の標準を使用できることを保証します。この改善により、イーサリアムからスムーズにスマートコントラクトを移行できるようになり、サイドチェーンブリッジの作成が可能になり、最終的にはCardanoエコシステムの拡大につながります。
IOG X(Twitter)をフォローして、更新情報を入手してください。
最新の記事
Quality Engineering at IO: bridging research and reality in software development 筆者: Ivan Irakoze
20 November 2024
ブラックホーク空へ:ハリケーン「へリーン」を受けて英雄達を輸送 筆者: Fernando Sanchez
29 October 2024
ワイオミングのBlockchain StampedeでCardano Day 筆者: Alejandro Garcia
21 October 2024