Plutus V3 でさらなるチャンスを解き放つ

SanchoNet でテストできるようになった Plutus V3 は、高度な Plutus プリミティブを導入し、開発者により多くのツールを提供し、スマート コントラクトを作成するためのより多くの可能性を解き放ちます。

開発者エクスペリエンスの向上とスマート コントラクトの導入は、Cardano のスマート コントラクト環境の繁栄にとって不可欠です。過去 1 年間、コミュニティが構築した多数の開発者ツールや代替言語の出現と成長により、開発者の選択肢と Cardano ビルダー エコシステムの活気が大幅に高まりました。機能の構築を続けるために、Input Output Global (IOG) の Plutus チームと暗号化チームは、MLabs と協力して、パフォーマンス、スループット、スマート コントラクト サイズ、プラットフォーム機能に焦点を当てて Plutus V3 に取り組みました。開発者ツールキットが充実し、運用効率が向上したこのアップグレードにより、コストが削減されるだけでなく、新しい開発者の採用にも役立ちます。

Plutus V3とは何ですか?

Plutus V3 は Plutus Core の暗号化機能を強化し、Cardano が最新の業界標準に準拠できるようにします。 1 年前のバレンタイン アップグレードでは、SECP 楕円曲線 (ECDSA および Schnorr) のサポートが追加されました。

V3 での新しい暗号プリミティブの導入により、開発者は業界のベスト プラクティスを満たし、よく知られた最適な暗号アルゴリズムを使用し、イーサリアムからスマート コントラクトを移植し、サイドチェーン ブリッジを作成することができます。 Plutus V3 は、暗号化プリミティブに加えて、さまざまなデータ型の直接エンコードをサポートする積和 (SOP) 機能を追加することでパフォーマンスを向上させます。最後に、V3 では、ユーザーが CIP-1694 ガバナンス関連のエンティティを確認できるようにする更新されたスクリプト コンテキストを提供します。

新しい機能を詳しく見てみましょう。

積の合計

Plutus Core でデータ型をエンコードする一般的な方法は、Scott アプローチを使用することです。 Plutus V3 では積和が導入されています。これは、Scott エンコードと比較して、より小さく安価なスクリプトを実現するデータ型をエンコードする方法です。

積の合計のアプローチは、スクリプトの効率を高め、Plutus Core コンパイラーのコード生成を改善することを目的としています。この変更には、フィールドをコンストラクター値にパックするための新しい用語コンストラクターと、ケース分岐の効率的なタグ検査が含まれます。利点は、プログラムの実行速度が 30% 高速になる可能性があることであり、これによりパフォーマンスが大幅に最適化され、運用が合理化され、スマート コントラクトの迅速な実行が保証されます。詳細については、CIP-85 を参照してください。

新しい暗号プリミティブ

すべてのブロックチェーンの中心となるのは、ハッシュ関数、デジタル署名、ゼロ知識証明 (ZKP) システムを含む暗号化プリミティブの使用です。これらの基本要素は計算効率を考慮して作成されており、それぞれのアプリケーションに合わせた堅牢なセキュリティを保証します。その結果、トラストレスエコシステムを確立する一連のセキュリティ保証が実現し、カルダノのピアツーピア(P2P)ネットワークとその分散型アプリケーション(DApps)とのスムーズな連携が促進されます。

Plutus 言語では、組み込み関数はスクリプト内で明示的に定義されていない関数ですが、言語のランタイム環境の一部です。これらの関数を使用すると、インタプリタはスクリプトの実行時にそのシステムに固有の最適化された実装を提供できます。組み込み関数は、算術、制御、その他の重要なタスクを含む、頻繁に使用される明確に定義された操作を実行します。 Plutus V3 を詳しく調べながら、言語の機能を強化する新しい組み込みプリミティブを見てみましょう。

  • BLS12-381 – この曲線ペアリングには、暗号曲線をサポートする 17 のプリミティブが含まれており、シームレスなサイドチェーン仕様の実装と Mithril 統合への扉が開かれます。
  • Blake2b-224 – トランザクション署名を検証するための公開鍵ハッシュをオンチェーンで計算するための暗号化ハッシュ関数。 Blake2b-224の実装はコミュニティプロジェクトをサポートし、さまざまなアプリケーションに対応することでCardanoの多用途性と採用に貢献します。
  • Keccak-256 – 256 ビット (32 バイト) のハッシュ値を生成する暗号化ハッシュ関数で、安全なデータの検証に一般的に使用されます。 Keccak-256 は、スクリプト内での Ethereum 署名検証をサポートします。これはクロスチェーン ソリューションにとって重要であり、Cardano のユースケースを拡大することでコミュニティ プロジェクトを促進します。

開発者にビット単位のプリミティブを提供する

CIP-58 ビットごとのプリミティブの導入により、開発者は低レベルのビット操作に対する堅牢な機能を提供できるようになります。この追加により、開発者はパフォーマンスの最適化と暗号化機能の両方で大きなメリットを得ることができます。ビット単位のプリミティブは、増分展開計画によりシームレスな統合プロセスを保証し、開発者が Cardano 上で強力で効率的なソリューションを構築するための堅牢な環境を促進します。

ビットごとのプリミティブは次の機能を提供します。

  • パフォーマンスの向上。ビットごとのプリミティブは、Plutus 内で非常に低レベルのビット操作の機能を導入します。この機能は、効率的なソリューションを求める開発者にとって重要な、高パフォーマンスのデータ操作操作を実行するための基盤を築きます。
  • 暗号化のサポート。ビットごとのプリミティブを含めることは、スマート コントラクト開発の標準要件である ED25519 のような暗号化機能をサポートするために不可欠です。これらのプリミティブは、Plutus 内に安全で堅牢な暗号アルゴリズムを実装します。
  • スムーズな統合のための整数文字列変換。ビット単位のプリミティブは、整数と文字列間の変換のための標準的で高性能な実装を容易にします。データは文字列形式で表現されることが多いのに対し、プリミティブでは整数形式の引数が必要なため、この機能は不可欠です。
  • 効率的なアルゴリズムとデータ構造。 CIP-58 は、高効率のアルゴリズムとデータ構造のための低レベル関数のクラスを追加します。一般的なキーと値のマッピング データ構造である効率的なハッシュ テーブルを構築できる機能は、パフォーマンスの高いソリューションの構築におけるこれらの低レベル関数の実際的な影響を示しています。

Plutus のアップグレードでは、integerToByteString と byteStringToInteger という 2 つのビット単位のプリミティブが追加されます。残りのプリミティブは Plutus V3 に徐々に追加されます。今後、そのようなアップグレードには新しい言語バージョンは必要なくなります。この段階的な展開アプローチにより、これらの強力な機能が Plutus 言語に体系的に統合されます。

Cardano ノード v.8.8.0-pre のリリース以降、Plutus V3 が SanchoNet で利用できるようになり、管理されたテストネット環境で CIP-1694 のガバナンス機能が Cardano コミュニティに導入されました。

結論

Plutus V3 の利点の 1 つは、Cardano ビルダー コミュニティに優れた効率性、オプション性、使いやすさを提供することです。これらはすべて、開発者の採用を促進するための鍵となります。パフォーマンス、スループット、スマートコントラクトのサイズ、プラットフォーム機能などの側面を優先することで、Cardano 開発者が最新の標準を使用できるようになります。これらの改善により、イーサリアムからのスマートコントラクトのスムーズな移行が促進され、サイドチェーンブリッジの作成が可能になり、最終的にはCardanoエコシステムの拡大に貢献します。