CardanoのVasilアップグレード:その展望
新機能や改良により、Cardanoに機能性、パフォーマンス、相互運用性の向上をもたらすVasilアップグレード
2022年 7月 4日 15 分で読めます
Vasilアップグレードにより、Cardanoのパフォーマンスと機能が大幅に向上します。ここ数年、ネットワークは徐々に改良され続けており、2021年にはNFT、マルチ資産、スマートコントラクトも導入されましたが、率直に言って、VasilはShelleyによるステーキング導入以来の最も大規模なネットワークアップグレードになります。
6月、ノードチームは最新のCardanoノードバージョン1.35.0をリリースしました。これはVasilアップグレードの基盤となるものです。この最新リリースは、Vasilアップグレード後に、参照インプット、インラインデータム、参照スクリプト、担保アウトプット、Plutus V2プリミティブのノードおよびCLIサポートを含む、新しいPlutus機能の使用を可能にします。
6月28日、IOGチームは、Cardanoテストネットのハードフォークに更新提案を送信し、メインネットのVasilアップグレードへ向けたカウントダウンを開始したと発表しました。
現在、Cardanoテストネットをサポートするステークプールオペレーター(SPO)(および先週テストネットノードをバージョン1.35.0にアップグレードするという彼らの崇高な取り組み)のおかげで、開発者たちは、まもなくメインネットに登場するVasilの新たな改良および機能を速やかに享受し始めることができます。IOGは日本時間7月4日5時20分に無事Cardanoテストネットのハードフォークを実施し、1エポック後にはPlutus V2の機能が利用可能になります。
Vasilについて
スマートコントラクトが改善されると同時に、このアップグレードはCardanoロードマップにおけるBasho期の一環でもあります。この開発期では、スケーリングと、ネットワークおよび台帳の最適化に主眼が置かれ、台帳にさまざまな改良がもたらされます。VasilはCardanoハードフォークコンビネーター(HFC)を使ってプロトコルレベルでデプロイされます。HFCはエンドユーザーの混乱を最小限に抑えながらシームレスなプロトコルの移行と台帳のアップグレードを可能にする革新的技術です。
2021年に惜しくも世を去ったCardanoアンバサダー、Vasil St. Dabovの名を冠したこのアップグレードは、拡散パイプラインや、Cardanoの重要なスマートコントラクト言語Plutusのアップグレードなど、幅広く待ち望まれた機能を実装します。多くの改良が、幅広い開発者コミュニティのサポートを受けて選定、開発され、CIP(Cardano改善提案)に由来しています。
来歴
2020年のByronリブート以来、Cardanoは定期的にアップグレードを行い、3,000を超えるSPOのコミュニティが、業界を定義する分散型プルーフオブステークネットワークを作成、サポートすることを可能にしてきました。
Maryアップグレードによって(2021年初頭)、ユーザーはさまざまなネイティブ資産を作成し、台帳上で取り引きすることができるようになりました。2021年9月、Alonzoがスマートコントラクトのサポートを導入して以来、Cardanoは、豊かなNFTエコシステムと複数のネイティブトークンを持つ完全な関数型スマートコントラクトプラットフォームへと進化しています。
Cardanoの進化により多数のDAppが立ち上げられ、複数の分散型取引所(DEX)や多数のNFTマーケットプレイスなどがメインネットで運営されています。しかしこれは始まりに過ぎません。IOGチームが追跡しているCardanoに構築中のプロジェクトは1,000を超えており、進行中の企画はこの数を上回ると推測されます。
Vasilアップグレードはさらなるプロジェクトの立ち上げを可能にするための主要な機能とともに、既存のDAppにアップグレードの手段(高速化、トランザクション性能、よりパワフルなスクリプト)を提供します。Vasilハードフォークとともに、dパラメーターも削除されます。これは、現在ブロック生成が完全に分散化されていることから、再連合化を防ぐためです。次に、Vasilによる変更を詳しく紹介します。
拡散パイプライン
IOGはネットワークパフォーマンスを調整、改善するために、2022年を通じてすでに一連の堅実で慎重なパラメーターの最適化(ブロックサイズやスクリプトメモリーユニットの増加など)を実行してます。拡散パイプラインは、ブロック伝播時間を削減しスループットを高めることによって性能を向上させています。
すなわち、ブロック生成から5秒以内にネットワークにブロックが共有(伝播)できるようにすることによって、ネットワーク参加者間における新規生成ブロックについての情報共有を合理化しています。拡散パイプラインによってブロックは完全に検証される前に伝播され、拡散にかかる時間と検証に必要とされる時間をオーバーラップさせています。
ノードが極めて特定の状況下でのみ未検証のブロックをパイプライン化できるようにするために、特別な注意が払われています。これは、ネットワークを無効なブロックでフラッディングすることによるDoS攻撃を防ぐためです。
最終的に、IOGが年内を通じてネットワークの最適化を続けていく中、拡散パイプラインはブロックサイズのさらなる拡大とPlutusスクリプトの改良を可能にすることによって、スケーラビリティを追加します。
Plutusスクリプトの強化
VasilはすでにパワフルなPlutusプラットフォームをさらに向上させ、開発者によるDApp作成を高速化および効率化します。 スマートコントラクトの最適化により、CardanoのEUTXOモデルがより一層活用できます。
参照インプットの追加(CIP-31)。このアップグレードはオンチェーンのデータ共有を可能にします。以前はデータムはトランザクションアウトプットで運ばれました。データムにより情報はブロックチェーン上に保存され、アクセスが提供されました。しかし、このデータムの情報にアクセスするには、データムを添付したアウトプットを使用する必要があったため、送信アウトプットを改めて作成しなければなりませんでした。参照インプットの追加により、開発者は余分なステップなしにデータムを参照することができるようになりました。これにより、UTXOの消費と再作成を必要とせずに、ブロックチェーンに保存された情報へのアクセスが提供されます。これはたとえばOracleに役立ちます。
インラインデータムの追加(CIP-32)。トランザクションデータムは、これまでアウトプットにハッシュとして添付されていました。インラインデータムの実装によって、開発者はスクリプトを作成し、ハッシュの代わりにデータムを直接アウトプットに添付できるようになりました。ユーザーは所与のハッシュと一致するデータムを指定する代わりに実際のデータムを確認できるため、データムの使用方法が簡素化されます。
参照スクリプトの実装(CIP-33)。Alonzoでは、Plutusスクリプトにロックされたアウトプットを使用する際には、支払いトランザクションにスクリプトを含む必要がありました。これによりスクリプトサイズは増加し、処理に一定の遅延が生じていました。参照スクリプトのアップグレードにより、開発者はトランザクションごとにスクリプトを含めなくても、スクリプトを参照できるようになります。これで、トランザクションサイズが大幅に削減され、スループットが向上し、スクリプトの実行コストも節約できます(スクリプトの支払いが1度で済むため)。
開発者とDAppユーザーはともに、Plutusのこの改良を待ち望んでいます。ただし、開発者がPlutusの改良を有効に使用するためには自分のDAppで時間をかけてこれを活用およびデプロイする必要があります。また、その多くがコードの大幅な変更後にあらためて監査を必要とするでしょう。
Plutus V2
Vasilアップグレードには、調整したPlutusインタープリターと新しいコストモデルも含まれます。どちらもPlutus V2スクリプトの一部です。
- Plutusエバリュエーターの高速化:Plutusエバリュエーターのパフォーマンス改良により、Plutus V1、Plutus V2の両スクリプトとも以前よりコストモデルパラメーターが下がり、結果としてスクリプトリソース使用量が20%から30%改善されました。
- コストモデルパラメーターの更新:コストモデルパラメーターの更新によりビルトイン機能が拡張され、serialiseData、verifyEcdsaSecp256k1Signature、verifySchnorrSecp256k1Signatureの3つの新たなビルトインが追加されました。後者のビルトインは、ECDSA/SECP256K楕円曲線標準をサポートし、Cardanoと、ビットコインやイーサリアムなど他のブロックチェーンとの相互運用性を高めます。serialiseData(CIP-42)関数はメモリーおよびCPUのコストを全般的に削減し、最適化の進んだ汎用のデータシリアル化を可能にします。
データムとリディーマー:Vasilアップグレードに続き、開発者は、現在実行中のスクリプトにパスされるインプットのリディーマーを1つだけではなくすべて表示することができるようになります。
新しいコストモデルはPlutus V2を有効化する必要があるため、Plutus V2の機能はVasilハードフォークに続くエポックから有効になります。Plutus V1は参照インプット、参照スクリプト、インラインデータムを使用できないということにも留意してください。
その他の強化
スクリプト担保調整(CIP-40)は、トランザクション検証を改善するもう1つの調整です。以前は、担保額はトランザクション手数料の150%に設定されており、担保UTXOにお釣りが提供されることはありませんでした。すなわち、スクリプトがフェーズ2検証で失敗した場合、DAppユーザーは担保に選択されたUTXOに保存された全資金を失うことになりました。
Vasil後は、DApp開発者はスクリプト担保用に釣銭用アドレスを特定することができるようになります。スクリプトがフェーズ2検証で失敗しても、担保額のみが徴収され、残りの資金は釣銭用アドレスに送金されます。
さらに、VasilはOuroborosのVRF(検証可能なランダム関数)処理を最適化します。Vasil前には、ブロック検証にはネットワークホップごとに2つのVRF関数が要求されました。Vasilはこのうち1つの関数を不要とし、結果としてブロック検証時間とネットワークの同期時間が全体的に短縮されました。ユーザーはセキュリティ設定に妥協することなく、パフォーマンスの向上を享受できます。
Vasilの準備
VasilアップグレードはCardano機能における変革を示しています。拡散パイプラインによってネットワークスループットの向上が実現される一方、Plutusの強化により新たな開発者ユースケースが開かれ、DAppの使用感の大幅な改善が可能になります。
Vasilは複雑な作業プログラムです。プロジェクトは後方互換性の確認が必要で、SPOはスクリプトの調整が必要になります。コミュニティには現在、テストネットのハードフォークに続き、SPO、開発者、取引所がCardanoメインネットのハードフォーク前にテストおよびアップグレードするための期間として4週間が設けられています。
最優先事項は、アップグレードのプロセスを安心安全に提供することです。開発者とSPOが準備万端と納得できれば(そして大部分の取引所がテストとアップデートを済ませたら)、Vasilハードフォークは実施されます。
CardanoをトランザクションやDAppで使用しているADA保有者は、何もする必要はありません。Cardano独自のHFC技術により、エンドユーザーのアップグレードはシームレスで手間のかからない出来事になります。単に、効率の向上とトランザクション処理時間の高速化を楽しみにしていればいいのです。
ただし、ネットワークのアップグレードの時点でシステムのアップデートが済んでいない取引所を利用している場合は、サービスの中断などが起こるかもしれません。したがって、どの取引所がアップグレードを済ませているかについてここ、または取引所のカスタマーサポートページで常に確認するようにしてください。
来月を通じIOGのTwitterまだは動画で更新情報をお届けします。すべてのチームからすべてのCardanoコミュニティへ、変わらないサポートに感謝します。あなたがたなしでは実現できませんでした。
本稿執筆にあたり、Olga Hryniuk、Kevin Hammond、Nigel Hemsley、Vitor Silvaの諸氏にご協力いただきました。感謝いたします。
最新の記事
Hydra Doom Tournament 筆者: Fernando Sanchez
22 November 2024
Quality Engineering at IO: bridging research and reality in software development 筆者: Ivan Irakoze
20 November 2024
ブラックホーク空へ:ハリケーン「へリーン」を受けて英雄達を輸送 筆者: Fernando Sanchez
29 October 2024