エポックな日々, シリーズ連載:進化するカルダノ・ベーシック, ...

『進化するカルダノ・ベーシック』[#12]進化を遂げ無限の可能性を広げるカルダノ開発環境「(その2)カルダノのコア開発環境[Plutus]とは?」:ニュース動向 & ステーキング状況 in エポック436

[シリーズ連載『進化するカルダノ・ベーシック』[#12]進化を遂げ無限の可能性を広げるカルダノ開発環境「(その2)カルダノのコア開発環境[Plutus]とは?」

シリーズ連載『進化するカルダノ・ベーシック』は、カルダノについて初心者や、既に知っているが日々進化し続けるカルダノの現在進行形について知りたい方向けに、様々な視点と角度から、カルダノの基礎知識とその未来について、最新アップデート情報を交えてお伝えする企画(不定期)です。

前回は、第12回目の記事としてカルダノの独自な進化を支える「[#12]進化を遂げますます無限の可能性を広げるカルダノ開発環境「(その1)カルダノ・ブロックチェーンにおける開発環境の特徴とその能力」についてお届けしました。

今回の第12回目はその2として「カルダノのコア開発環境Plutusとは?」ついてお届けします。

Plutusとは何か?

PlutusはAlonzoアップグレードによってサポート導入された、ネイティブのスマートコントラクト言語を提供するプラットフォームで、カルダノ上でスマートコントラクトをサポートするために必要なインフラとツールを備えています。Plutusプラットフォームは、開発者が分散型台帳と対話するスクリプト機能を備えた分散型アプリケーション(DApps)を書くことを可能にします。

Plutusを理解するには、3つのコンセプトを認識する必要があります。

  • EUTXO(Extended Unspent Transaction Output)モデル
  • Plutus Core
  • Plutusアプリケーションフレームワーク(PAF)

オンチェーンコードもオフチェーンコードもHaskellで書かれており、Plutusのスマートコントラクトは実質的にHaskellのプログラムです。

拡張UTXOモデル(EUTXO)とPlutus

カルダノは(Bitcoinのように)、アンスペント(U)トランザクション(TX)アウトプット(O)会計モデルを使用しています。このUTXOモデルでは、各取引には「入力」と「出力」があります。入力は前の取引で使われていない出力から来ます。一度出力が使われると、それは「使用済み」となり、再利用はできません。出力はアドレスと金額(ADAやオプションで他のトークン)で定義され、そのアドレスの秘密鍵を持つ人だけが出力を「解錠」して使えます。

EUTXOモデルは、このUTXOモデルを下記のように2つの方向に拡張したものです。

  1. EUTXOモデルにおけるアドレスは、鍵を公開鍵に、鍵を署名に限定するのではなく、スクリプトの形で任意のロジックを含むことができるようになりました。例えば、あるノードがトランザクションを検証する際、ノードはそのトランザクションがある出力を入力として使用することを許可されているかどうかを判断します。トランザクションは、出力のアドレスで提供されるスクリプトを調べ、トランザクションが出力を入力として使用できる場合には、そのスクリプトを実行します。
  2. UTXOとEUTXOの2つ目の違いは、出力がアドレスと値に加えて(ほぼ)任意のデータを運ぶことができることです。これにより 、 スクリプトは状態を伝えることができ、より強力になります。

要約すると、EUTXOはUTXOモデルを拡張し、出力アドレスに、どのトランザクションがロックを解除できるかを決定するための複雑なロジックを含めることを可能にし、またすべての出力にカスタムデータを追加します。

EUTXOは同じスマートコントラクトを採用するイーサリアムで採用されているアカウントベースのモデルとは違い、いくつかの利点がります。イーサリアムはスクリプトの実行途中でトランザクションが失敗する可能性があるのとは対照的に、EUTXOではこのようなことは起こりえません。また、トランザクションの実行コストは、送信前にチェーン外で決定することができますが、これもイーサリアムでは不可能な機能です。

さらにEUTXOは、トランザクションの検証は「ローカル」な性質を持つため、高度な並列処理が可能です。ノードは、トランザクションが同じ入力を消費しようとしなければ、原理的にトランザクションを並行して検証することができます。これは、効率性と推論の両面で優れており、起こりうる結果の分析を単純化し、「悪いことは何も起こらない」ことを証明します。

EUTXOモデルについては下記の記事「#8]未来のブロックチェーンを牽引するEUTXOとは?その優位性を徹底解説」もご参照ください。

Plutusコア

Plutus Coreは、決定性、検証性、機能性、コンパクト性を備えたカルダノのネイティブスマートコントラクト言語です。Haskellでスクリプトを作成するための安全なプログラミング環境を提供します。

すべてのPlutus Coreプログラムは、Haskellコンパイラプラグインによって生成されます。

Plutus Coreのスクリプトは、ブロックチェーン上でDAppsの作成とマルチアセットサポートを可能にします。(つまり、誰でも自分のトークンを作成できる)。

これらのスクリプトは、チェーン上でのトランザクション検証の「ライブ」中にノードによって実行されます。これらのスクリプトは、バリデータ・スクリプトの形でUTXOをロックするか、ネイティブ・トークンの鋳造と燃焼を制御する鋳造ポリシーの形で実行されます。

Redeemerのデータは、Haskellで簡単に定義できるシンプルな(代数的な)データ型であり、これもPlutus Coreのスクリプトを書くのにHaskellが適している理由のひとつです。実際には、スマートコントラクトの開発者はHaskellでバリデータのスクリプトを書き、それが自動的にPlutus Coreにコンパイルされます。

適切なHaskellライブラリは、検証時にトランザクションを検査するためのコアデータ型を提供したり、多くのヘルパー関数や高レベルの抽象化を提供したりすることで、そのような検証ロジックの記述を簡素化し、コントラクト作成者がビジネスロジックに集中できるようにします

Plutusアプリケーションフレームワーク(PAF)

Plutusコントラクトは、ブロックチェーン上で実行される部分(オンチェーンコード)と、ユーザーのマシン上で実行される部分(オフチェーンまたはクライアントコード)で構成されています。

Plutusアプリケーションフレームワーク(PAF)は、Plutusアプリケーションがよく使用するサービスに簡単にアクセスできるようにするフレームワークのライブラリを提供します。これを使用してデプロイされたアプリケーションは、Plutusアプリケーションバックエンド上で実行することができます。このバックエンドは、ブロックチェーンへのアクセスや、永続性、ロギング、モニタリングなどの他の懸念事項に対するランタイムサポートを提供します。PAFの上に書かれたアプリケーションは、HTTPとWebSocketのインターフェイスを自動的に提供し、Webブラウザからのアプリケーションとの対話に使用できます。

Plutusアプリケーションを書くときには、アプリケーションのオンチェーン部分(Plutus Coreスクリプト)だけでなく、トランザクションを構築して送信するオフチェーン部分も考慮する必要があります。

オフチェーンのコードは、オンチェーンのコードと同じようにHaskellで書かれています。これにより、ビジネスロジックは一度だけ書けばよいことになります。そして、バリデータ・スクリプトと、バリデータ・スクリプトを実行するトランザクションを構築するコードで使用することができます。

実際にコードからDAppsまでどのように開発するか?

開発者は、まずPlutus Application Framework (PAF)を使ってDApps(分散型アプリケーション)のためのHaskellソースコードを書きます。コードはHaskellコンパイラとPlutus Txコンパイラプラグインによってコンパイルされ、Plutus Intermediate Representation (PIR)に変換されます。このPIRにより、元のソースコードを最適化し、最終的なDAppのコードを高速化・小型化することができます。コードはPlutus Coreに移動し、オンチェーンで実行されるようになります。

Plutusスマートコントラクトは、イーサリアムのスマートコントラクトとの対話方法とは異なり、取引で使用するまでオンチェーンにはなりません。

ネイティブトークンとPlutus

もう一つのカルダノのスマートコントラクトの特徴として、先ほど述べたようにカルダノでは、ユーザーが自分自身のトークンを作成できます。これは2月のメリーハードフォーク以降可能になりました。各トークンには独自の「鋳造ポリシー」があり、これによってトークンの作成や消去が制御されます。Plutusが導入されたことで、より複雑な鋳造ポリシーが可能になりました。これはNFT(非代替性トークン)のような特定の用途にも適用できます。Plutusの導入は、トークンの多様な用途と安全性を高めるために重要です。

Haskell

カルダノのネイティブスマートコントラクト言語であるPlutusは、Haskellで書かれたチューリング完全言語です。Haskellは、純粋関数型プログラミング言語であり、Haskellのような関数型言語を使用することで、より安全で正確なコードを作成し、数学的に検証可能であることが高い確信度で保証されます。Haskellは、Microsoft、Meta、Standard Charteredなどの企業によって使われ、数十年にわたって堅牢性と正確性に優れています。

Plutusの特徴と優位性

Plutusの特徴

堅牢なセキュリティを実現

Cardanoは、スケーラビリティ、セキュリティ、およびサステナビリティに優れた第三世代のブロックチェーンプラットフォームです。このプラットフォームの一つの重要な要素が、スマートコントラクト言語「Plutus」です。

Plutusは、Haskellの強力な型システムを利用していることで、コードがコンパイルされる前に多くのエラーが検出され、 型安全性と数学的証明により、セキュリティが大幅に向上します。

オンチェーンとオフチェーンの統合

Plutusは、オンチェーン(ブロックチェーン上)とオフチェーン(ブロックチェーン外)のコードを同じ言語で書くことができます。これにより、開発者は二つの環境間でスムーズにコードを移行することができ、開発が効率的です。

高度なカスタマイズ

Plutusは非常に柔軟であり、独自のスマートコントラクトロジックを容易に実装することができます。さらに高度なカスタマイズが可能なため、新しい種類のスマートコントラクトを作成することができます。

フィリップ・ワドラー教授とPlutusの優位性

カルダノの開発プラットフォームPlutusの共同発明者であり、カルダノの創設者であるチャールズ・ホスキンソン氏と密接に協力しているフィリップ・ワドラー教授は、ロイヤル・ソサエティにより理論計算機科学分野での貢献を評価され、名誉ある称号であるフェローシップを授与されています。

このフェローシップは、サー・アイザック・ニュートン、チャールズ・ダーウィン、アルバート・アインシュタイン、スティーブン・ホーキングなどの著名な過去のフェローたちに続く、名誉ある称号です。

このことは今後のPlutusに下記のような優位性をもたらしています。

  1. 学術的信頼性: フィリップ・ワドラー教授のような著名な学者が背後にいることで、Plutusは学術的にも高く評価されています。
  2. 多様なプログラミング言語への貢献: ワドラー教授は、Haskell、C#、F#、Go、Rust、Scala、Swiftなど、多くのプログラミング言語に貢献しています。これがPlutusに多様性と柔軟性をもたらしています。
  3. カルダノエコシステムへの影響: ワドラー教授とホスキンソン氏の協力により、Plutusはカルダノエコシステムにおいて中心的な役割を果たしています。

Plutusの進化

Plutusはプロトコルのアップグレードにより、よりスケーラブルに効率の機能の拡張を遂げています。現在Plutusは常にアップグレードされおり、VasilアップグレードではPlutus Coreの新バージョンPlutus V2が導入されています。

Plutusのアップグレードは、 Plutus V1とPlutus V2両方のスクリプトに対して新しいコストモデルが導入されています。またカルダノは「バレンタイン(別名SECP)アップグレード」を実施したことで、Plutusを用いた安全なクロスチェーンDApp(分散アプリケーション)開発を促進し、新しい組み込み関数がPlutusに追加され、ECDSAおよびSchnorr署名もサポートされブロックチェーンの相互運用性を高めました。

現在Plutusスクリプトの総数2023年9月15日現在では9,748であり、そのうち3,579が新しいバージョンであるPlutus V2スクリプトです。Plutus V2は運用効率を向上させる目的で導入されています。

Minswap DEXがPlutus V2を初めて活用したHarvest V2をリリース

カルダノ最大のDeFiプラットフォームであるMinswap DEXが、新しく最適化されたPlutus V2のファーミングコントラクトであるYield Farming Harvest V2 (Multiple Token Harvest)を発表しました。Harvest V2は、複数のFarming Pools(最大5つ)の収穫報酬をサポートします。

なお、Minswap DEXは、この機能について、VasilでリリースされたPlutus V2の改良を初めて活用したプロジェクトになります。Plutus V2は、インラインデータムやリファレンススクリプトを通じて、スマートコントラクトレベルでの最適化を可能にします。

また、Harvest V2に加えて下記の新機能が有効になっています。

  • 担保出力(CIP-40)のサポートにより、ウォレットに手動で担保を設定する必要がなくなりました。
  • キャンセル注文の手数料が安くなりました。
  • スワップページで最近の取引を確認できるようになりました。

このようにPlutusはリリース以来主にセキュリティやスケーラビリティの改善を行なっており、カルダノの開発環境の重要なコアエンジンとして多くの恩恵をカルダノ・エコシステムにもたらしています。

参考記事

まとめ:Plutusの課題と解決策

Plutusには課題もあります。下記のその課題を挙げてみます。

まず課題としては、PlutusはHaskellに基づいた特別なスマートコントラクト言語を使用している点です。これは、関数型プログラミング言語に慣れていない開発者にとっては難しいかもしれません。

また、人気のあるプログラミング言語には、ライブラリ、フレームワークなどの開発者ツールまたはパッケージがあり、開発者がアプリケーションを作成するプロセスを容易にすることができます。ただし、カルダノの新しいネイティブスマートコントラクト言語であるPlutusにはこれらのツールがまだ少ないことからありませんでした。これらの手段の欠如は、開発者が独自のインフラストラクチャを作成する必要があるため、カルダノ・エコシステムの複雑なdAppsの開発を大幅に遅らせました。

カルダノは比較的新しいプラットフォームであるため、イーサリアムのようなより確立されたプラットフォームに比べて、ドキュメントやツール、コミュニティサポートが十分でない可能性があります。しかし現在カルダノコミュニティは既にこれに取り組んで来ており、日々新しいツールが登場して、より高いパフォーマンスと効率的な開発ソリューションが提供されているのでこれは時間の問題となるでしょう。

また、ユーザーベースにおいても、 イーサリアムなどの確立されたプラットフォームは、ユーザーの採用と開発者の活動において先行しています。Plutusは、ネットワーク効果を享受するためにこれらのエコシステムに追いつく必要があります。しかしカルダノは日々エコシステムへのプロジェクトの参入、DeFiやNFTにおいて進化と成長を遂げています。

さらに、DeFiアプリケーションにとって、流動性は非常に重要です。PlutusベースのDeFiプロジェクトは、競争力を持つために十分な流動性を引きつける必要があります。

Plutusのスマートコントラクトはオンチェーンで実行されるため、ネットワークが成長するにつれてスケーラビリティの問題が生じる可能性があります。ただし、カルダノはスケーラビリティを解決するソリューションが次々と提供されて来ているので、これも時間の問題となっています。

暗号通貨とスマートコントラクトに対する進行中の規制の変化は、Plutusを含む任意のプラットフォームの開発者にとって課題を生む可能性があります。

カルダノはイーサリアムに比べて低いトランザクション手数料を可能にしていますが、Plutusで複雑なスマートコントラクトを実行するコストはそれでもかかる可能性があります。しかしこれらの課題は、PlutusやCardanoに特有のものではなく、開発チームとコミュニティによって積極的に対処されています。エコシステムが成熟するにつれて、これらの問題は解決される可能性が非常に高いでしょう。

IOGは、オープンソースのコミュニティ主導の開発を支援するため、Plutus Community Docs(PCD)を立ち上げました。PCDは、PlutusやMarloweに関する技術コンテンツを幅広く提供する中心的な場となります。また、コミュニティの貢献を受け入れ、迅速な更新や幅広いコンテンツを提供することで、Cardanoの開発を支援します。

最後にカルダノブロックチェーンではさまざまな人々(コミュニティ)により管理、キュレートされるコミュニティコンテンツリソースのリストが拡大しています。

参考

DiscordのCardanoコミュニティチャネルは開発者コミュニティの中心として機能しています。コミュニティメンバーと一部のIOGチームメンバーが運営するCardano Stack Exchangeは、 これを一歩進めたものです。Essential Cardano(現在ベータ版を公開中)は、GitHubのオープンリポジトリを使用して、コミュニティコンテンツのためにキュレートされたプラットフォームを提供します。Cardano財団の開発者ポータルは、複数のリソースに達するための、もう1つの貴重なスタートポイントです。

Plutus Community Docs (PCD)は、この拡大するコミュニティによりコミュニティのために作成されたコミュニティ中心のプラットフォームサイトであり、詳細な技術コンテンツへの高まる要望に応えています。

次回はPlutusを拡張する他の開発ツールについても見ていきます。

これまでの記事「シリーズ連載:進化するカルダノ・ベーシック」はこちらをご覧ください。

もしこの記事が気に入っていただけましたら、SIPO、SIPO2、SIPO3への委任をどうぞよろしくお願いいたします10ADA以上の少量からでもステーキングが可能です。ステーキングについて知りたい方は、下記の記事をご参考ください。

ステーキング(委任)とは?
カルダノ分散型台帳システムによるステーキングの魅力とその方法:2021版
Q&A:カルダノ、ステーキングに関する基本的な説明集
ダイダロスマニュアル
ヨロイウォレット Chromeブラウザ機能拡張版マニュアル

ニュース動向 in エポック436

『進化するカルダノ・ベーシック』[#12]進化を遂げますます無限の可能性を広げるカルダノ開発環境「(その1)カルダノ・ブロックチェーンにおける開発環境の特徴とその能力」

シリーズ連載『進化するカルダノ・ベーシック』は、カルダノについて初心者や、既に知っているが日々進化し続けるカルダノの現在進行形について知りたい方向けに、様々な視点と角度から、カルダノの基礎知識とその未来について、最新アップデート情報を交えてお伝えする企画(不定期)です。

前回は、第11回目の記事として「[#11]革新とコンプライアンスまで幅広い利点を提供するトークンロック機能」についてお届けしました。

今回の第12回目はカルダノの独自な進化を支える「カルダノの進化する開発環境」について、いくつかの記事に分けて解説していきたいと思います。まずその第一弾となる「カルダノ・ブロックチェーンにおける開発環境の特徴とその能力」ついてお届けします。

本記事では、カルダノ・ブロックチェーンにおける開発環境の現状と、それが開発者にどのような意義を持つのかを探ります。

Cardano: サイドチェーン Midnight が Devnet で「近々」ローンチ予定

IOG)は、データ保護サイドチェーンの Midnight が近々 devnet でローンチすると発表しました。 Midnight はゼロ知識技術を利用して、機密性の高い商用や個人データを安全に保護します。 IOG は、開発者が強化されたデータ保護を備えた dapps を作成できるようにし、開発プロセスをアクセス可能にすることで、既存のプライバシーコインプロジェクトを超えることを目指しています。 Midnight の導入により、Cardano ブロックチェーンに追加価値が約束され、Cardano ネットワークでステーキングするユーザーは ADA に加えて DUST トークンを受け取ることができます。

Aiken: カルダノ上でのスマートコントラクト開発を革新

Tap In With TapToolsは記事「Aiken: Revolutionizing Smart Contract Development on Cardano」を公開し、カルダノ開発環境である注目のAikenについての革新性、それに基づいていくつかの注目すべきプロジェクトを紹介しています。

Aikenは、カルダノ向けに設計されたスマートコントラクトプログラミング言語であり、馴染みのある構文、オンチェーン最適化、オフチェーン互換性を提供しています。プロパティベースのフレームワークと形式的検証によるセキュリティを重視し、開発者に包括的なツールチェーンを提供します。Aiken上で構築されたプロジェクトには、スマートコントラクトの効率とセキュリティを向上させたSundaeSwapが含まれます。

カルダノのスループット最適化:Indigoプロトコルのスマートコントラクトの進化

Indigoプロトコルは、記事「Optimizing the Throughput of Cardano: The Evolution of Indigo Protocol’s Smart Contracts」を公開し、PlutusTxからAikenへの移行による統合により、パフォーマンスメトリックが向上したことを報告しています。

Indigoプロトコルは、スマートコントラクトの最適化により、Cardanoネットワークの全体的な健全性とスケーラビリティを向上させています。PlutusTxからAikenへの移行により、より優れたパフォーマンスメトリックが生まれ、トランザクションごとに必要なメモリユニットと演算ステップが減少し、スループットが向上し、より堅牢なネットワークが実現されています。Aikenへの移行により、Indigoプロトコルの初期バージョンでは複雑すぎると見なされていた高度な機能が解除されます。

Intersectニュースレター第3号:近日中に開始される予定の助成金制度について発表する予定、Node 8.3.0-preリリースなど5つ

カルダノ・ブロックチェーンの次世代の分散開発と継続を推進し、最新のアップデートやイニシアチブを提供しているIntersectは、ニュースレター第3号を発行し下記の5つの最新情報を公開しました。

  1. コミュニティ・ツール資金調達の機会
  2. 委員会
  3. Intersectタウンホール#2
  4. SanchoNetのアップデート
  5. NFTxLVとCardanoサミット
PCP-001におけるパラメータ委員会の勧告へのカルダノ財団の回答

カルダノ財団は、メインネットの投票、ステーク参加、minPoolCostの影響に関する分析を含む、PCP-001におけるパラメータ委員会の勧告に回答します。財団は、SPO投票から得られた決定を支持し、パラメータ委員会が推奨する段階的な実装に同意し、minPoolCostの半減から始まり、Q3/Q4でのさらなる評価と適応を行うことに同意しています。

カルダノのプライバシーのサイドチェーンがDevnetローンチに近づく

Input Output Globalは、プライバシーに焦点を当てたカルダノのサイドチェーンであるMidnightがDevNetで近日中にローンチされることを発表しました。

ステーキング状況 in エポック436

エポック437開始時点ステーキング動向

SIPO、SIPO2、SIPO3エポック436ステーキング報告
SIPOエポック436ステーキング報告
SIPO2エポック436ステーキング報告
SIPO3エポック436ステーキング報告
[SIPO]10,000個目のブロック生成に成功

カルダノエコシステムとSITION

お問い合わせ

Contact Us
SIPOのステーキングサービス、Cardano ADA、ADAの購入方法から保管方法についてご興味、ご質問がある方はこちらのフォームからお問い合わせください。24時間以内にメールにてご返信いたします。

最新投稿