プルータス (カルダノ)
Plutus (カルダノ) とは何ですか?
Plutus は、Cardano 上でスマート コントラクトと分散型アプリケーション (dApps) の作成を可能にする Cardano の最も重要なコンポーネントの 1 つです。
スマート コントラクトは、仲介業者のサービスを回避しながら、透明な方法で金銭、財産、株式、その他の価値あるものを交換するために使用できる自動契約です。
Plutus は、開発者が機能的な方法で Cardano 上にスマート コントラクトを作成できるようにする高度なプログラミング言語です。これは、最高レベルのセキュリティと高性能の独自の組み合わせを提供する Haskell に基づいています。
開発者は、Plutus と Haskell を使用して dApps (分散型アプリケーション) を作成し、ブロックチェーン上で安全かつ効率的に実行できるようになります。
Plutus は、Cardano でスマート コントラクトを作成するための、明確で直感的で一貫した言語が欲しいという願望から生まれました。これは、ブロックチェーンと対話するために特別に設計されています。これは、数十年前から存在し、産業界や学術界で広く使用されている汎用関数型プログラミング言語である Haskell に基づいています。これは、強力な型システムを備えた静的型付けの純粋関数型言語です。
Plutus プログラムは 2 つの異なる環境で実行されます。
1 つ目はブロックチェーン ノードで、金融契約を使用したい人が提出すると、そこで実行されます。
もう 1 つはデスクトップ コンピューターで、契約を送信する前にローカルで契約を作成してテストできます。
コントラクトには、バインドされた変数の値以外の状態はありません。台帳に対してデータを読み書きすることはできますが、情報をローカルに保存することはできません。 Haskell にはループや変数がないため、入力の変更に基づいてコントラクトの結果を変更する唯一の方法は再帰を使用することです。
バインドされた各変数の値は、トランザクションの出力に表示されます。さらに、コントラクトはブロックチェーンのイベント ログに記録するイベントのリストを返すことができます。
コントラクトはブロックチェーンの外部の外部リソースと対話することを許可されていないため、従来のスマート コントラクトよりも検証や推論がはるかに簡単です。
実際、Haskell は、バークレイズ取引プラットフォームやブルームバーグ ターミナルなどの重要な金融ソフトウェアの作成に長い間使用されてきました。
Haskell が金融プログラミングに非常に適している理由は、小さなコンポーネントから原則的な方法で大規模なシステムを構築できるためです。たとえば、Plutus コントラクトは Haskell のサブセットで書かれています。このサブセットは機能的に純粋で副作用がありません。これは、コントラクトに同じ入力データを与えれば、常に同じ出力が生成されることが確実であることを意味します。