ブログ > 2021 > April > スマートコントラクト登場

スマートコントラクト登場

Cardanoトークンアップグレードを基盤とするAlonzoが、開発者にビジネスアプリの作成ツールを提供

2021年 4月 8日 Olga Hryniuk 9 分で読めます

スマートコントラクト登場

3月初頭、Mary(メアリー)が実装されました。これはユーザーがCardanoで取り引きするユニークなトークンを作成することを可能にするマルチ資産プロトコルです。トランザクションメタデータ、さらに12月のAllegra(アレグラ)によるトークンロックの実装、そしてネイティブトークンの作成と、私たちはCardanoを主要なスマートコントラクトプラットフォームとして確立させる素地を築いてきました。

次のプロトコルアップグレードであるAlonzo(アロンゾ)は、こうした機能の上に構築されます。Alonzoはハードフォークコンビネーター技術を使用して実装され、今からおよそ4か月後にスマートコントラクト(デジタル契約)をCardanoに追加します。スマートコントラクトの作成、および分散型金融(DeFi)向けの分散型アプリケーション(DApp)の作成が可能となることにより、ビジネスや開発者には新たなチャンスが開かれます。

これらのアップグレードの名称として、トークンロックにはAllegra(バイロン卿の娘)、マルチ資産サポートにはMary(作家、シェリーの妻)を選びました。Alonzoはより現代に近いアロンゾ・チャーチ(1903-95)に由来します。チャーチは米国の数学者、論理学者であり、理論コンピューター科学の理論そして基礎固めに取り組みました。また、「決定問題(Entscheidungsproblem)」が解決不能であるという証明に使用する形式体系、ラムダ計算の創案者としても知られています。後に、数学者仲間であるアラン・チューリングと共に、ラムダ計算とチューリングマシンの機能が同等であることを発見し、計算のさまざまな機械的プロセスを実証しました。チャーチの名をスマートコントラクトアップグレードに選んだ理由の1つは、Plutus Core(プルータスコア:Cardanoのスマートコントラクト言語)がラムダ計算のバリエーションであるためです。

なぜスマートコントラクトなのか

スマートコントラクトはCardanoが世界的な分散型台帳として進化するうえでの次段階となります。日常業務をサポートするにあたり、ブロックチェーンは個人が安全な方法で資金を移動し、支払いを行えることを保証する必要があります。

スマートコントラクトは複雑な取引の決済、エスクローでの資金の保持、事前定義された条件下での資金移動の確保などに使用することができます。CardanoではDAppと台帳がやり取りし、そのアクティビティを記録してスマートコントラクトを実行できるようになります。こうしたデジタル契約はトランザクションの背景を説明し、資金の行き先、送金される条件を特定し、すべての条件が満たされて初めて取り引きを実行します。AlonzoはCardanoがこうしたアプリケーションをサポートするための基盤となります。

Alonzoでビジネスニーズに対応

マルチ資産サポートにより、ビジネスニーズに応えるユニークな通貨をユーザーが作成できるようになる一方、Alonzoはスマートコントラクトを構築する多様なプラットフォームを導入します。例えば、コレクティブルやクラウドファンディング、オークションなどを扱うことが可能となります。 対象分野には、エスクローベースの分散型暗号通貨取引所(DEX)の展開、または中央集権型ステーブルコインをサポートする複雑なアプリケーションの作成が含まれる可能性があります(サプライチェーン内の製品原産地の追跡アプリケーションなど)。ユーザーはトークンロックを使って権利確定期間を設けたユーティリティトークンを発行できます。つまり、多数のトークンを特定の期間後にリリースするためにロックまたは凍結することができます。

Plutus Coreのスクリプト力

Alonzoにより、Plutusプラットフォームを使用したアプリケーション開発が可能となるツールやインフラストラクチャーが追加されます。 Alonzoは形式手法や検証に基づいた厳格なアプローチを適用し、Cardano Shelleyで使用された基本的なマルチシグスクリプト言語(マルチシグ)を拡張します。マルチシグは、さらにパワフルで安全なスクリプトオプションのために、Plutus Coreにアップグレードされます。Alonzo台帳は拡張未使用トランザクションアウトプット(EUTXO)アカウントモデルを実装し、パワフルなスクリプトを提供するPlutus Coreを使用します。

スマートコントラクトプラットフォームには安全性と安定性が不可欠です。このため、Plutus Coreスマートコントラクト作成の基盤として私たちはHaskellを選びました。Haskellは高水準言語であり、開発者はこれを使用してコードを作成し、次にこれをPlutus Coreにコンパイルします。 Haskellは1987年ごろに登場しましたが、信頼性の高さで他のプログラミング言語から抜きんでています。Haskellで作成することで、スマートコントラクトは意図したとおりに作動するようプログラムでき、実装前にその正確さをテストできます。これは、Cardanoに構築されたスマートコントラクトが簡単で、脆弱性に耐性を持つことを意味します。これは自動取引を扱ったり、多額の資金を動かしたりするアプリケーションにとって重要です。

ツールとAPI

開発者には、Cardanoで試し、トランザクション認証をカスタマイズする関数ツールが提供されます。APIライブラリーは拡張され、ウォレットや台帳とやり取りしながら、CardanoでPlutus Coreコードをデプロイおよび操作することが可能になります。

Alonzoのデプロイプロセスは複雑です。メインネットで機能的なスマートコントラクトが実行されるようになったら、ソフトウェア開発キットを配信するために、オフチェーンのインフラ改善を継続します。

現状

図1:Alonzoロードマップ。コードはリリース前に4週間凍結される

3月から4月にかけて、IO Globalチームは徐々にAlonzoルールをCardanoノードと台帳コードに組み入れていきます。Alonzoとノードの統合が完了したら、Cardanoは実用的なAPIツールとコマンドラインインターフェイス(CLI)を提供します。

4月半ばから5月初めにかけてプライベートテストネットを開始できるよう、、チームはPlutusの開発を続けます。このフェーズでは、パートナーたち(高度な開発者)がプラットフォームをテストし、NFT(代替不可能トークンやマーケットプレイス、Cardanoでスマートコントラクトを実行するDAppを作成、配信します。このプロセスは、ステップバイステップの改良に集中し、確実にすべてが効果的に機能するようにします。

5月には、Plutusパイオニアたちとの作業が始まります。プログラムの認定を受けた研修生が、Plutusアプリケーションを作成し、それらをDAppやDeFi用の本番環境に移行することでプラットフォームのテストを続けます。このフェーズでは、チームは台帳、ノード、ウォレットバックエンドの統合を行います。また、具体例や開発ガイドを含むドキュメンテーションの準備、リリースも行います。

5月、6月はQAおよびユーザーテストに充てられ、その後4週間の機能凍結が続きます。これにより、暗号通貨取引所およびウォレットに、アップグレードとAlonzoプロトコル更新に向けた準備期間が提供されます。Alonzoへのアップグレード(ハードフォーク)は晩夏を想定しており、今月のCardano360で正確な日時を発表します。

ロードマップの詳細は、3月Cardano360のチャールズ・ホスキンソンのプレゼンテーションを参照してください。

活発な時期を迎えていますので、情報を逃さないようにご注意ください。次回のブログでは、Alonzo開発を支えるPlutusの各コンセプトの関係を掘り下げます。それまで、開発者サイトにて、Plutus、Marlowe、Glowを使用したプログラミングについてご覧ください(英語のみ)。