アルゴランド、スマートコントラクト開発に新たなアプローチを導入



アルゴランド、スマートコントラクト開発に新たなアプローチを導入

By Paul Riegle


金融の未来に向け、開発者とアプリケーションを強化するアクセス可能言語とAlgorand Virtual Machine (AVM)の最新情報


アルゴランド・ブロックチェーンは、高速(1000TPS以上、4.5秒以下のブロック)、安価(1トランザクションあたり0.001Algos)、即時確定(forkなし、1confirmation)、グリーン(カーボン・ネガティブ)で知られています。 これらの特徴は、Algorand Standard Assets (ASA)のようなLayer-1プリミティブと相まって、アルゴランドが多くの資産発行者や資産管理プラットフォームに選ばれるブロックチェーンたらしめています。


当社のスマートコントラクトは、初のカーボン・ネガティブ・スマートコントラクト・システムであることを含め、これらの第一原理に忠実であり続けています。他のプラットフォームのスマートコントラクトとは異なり、当社のスマートコントラクトは、高速(他のトランザクションと同じ速度)、安価(他の取引と同じコスト - 0.001 Algos)、レイヤー1上であることを確実にし、その結果、アルゴランドのコンセンサス・プロトコルと同じセキュリティとファイナリティの特性を享受しています。



アルゴランドのスマートコントラクト・モデル


アルゴランドのモデルはシンプルかつパワフルです。スマートコントラクトは高レベルの言語で書かれ、バイトコードにコンパイルされてレイヤー1のアルゴランド仮想マシン(AVM)で実行されます。スマートコントラクトがSolidityで書かれ、バイトコードにコンパイルされてEVMで実行されるEthereumを参考にするとよいでしょう。



アルゴランドでスマートコントラクトを書いたことがある人は、Tealというアセンブリ・ライクな言語を使いながら、AVMの初期バージョンと直接やりとりしたことがあるはずです。このAVMの初期の使用を通じて、Teal開発者は私たちにフィードバックを与え、私たちが迅速にAVMを反復して改良することを可能にしてくれました。 AVM v1.0のリリースに向けて、AVMはチューリング完全な言語で書かれたスマートコントラクトやトランザクションの送信を可能にし、現在ブロックチェーンで利用可能な最も人気のあるDeFi、NFT、web3のdAppsを動かすことができる複雑なスマートコントラクトを実行できるようになります。


重要なのは、このスマートコントラクトの力によって、スピードやコストが犠牲にならないことです。コンピュートとストレージのバジェットは、余裕をもって設定されていますが、ランタイム中に計算され、実行されます。これは、スマートコントラクトが安全なガードレールを持ち続け、潜在的な無限ループがシステム全体に影響を与える前に終了することを意味しています。



アルゴランドのスマートコントラクト言語


スマートコントラクトをアクセス可能言語で書けることは非常に重要であると考えています。 また、何十億ドルもの価値を扱うスマートコントラクト・ベースのインフラを書く際には、安全性と正しさを保証することが重要であると考えています。 そのため、コミュニティやエコシステムと協力して、適切なバランスの取れた言語を提供することに注力しています。


  • Reach - Reachは、スマートコントラクトが主流になるために必要な、使いやすさ、アクセス性、安全性の保証を、他の言語では実現できない方法で提供します。 Reachは、JavaScriptのサブセットを使用して、スマートコントラクト、フロントエンドで実行されるクライアント、バックエンドで実行されるサーバー、およびすべてのピース間の通信など、dApps全体を指定します。仕様全体が単一の言語で記述されているため、開発者はdAppの作成、推論、デプロイを迅速に行うことができます。さらに、コンパイラ自体が、型チェック、情報フロー・セキュリティ、エンドポイント・プロジェクションを用いて、1つの仕様から各コンポーネントを正しく導き出します。コンパイラにはSMT(Satisfactoryability-Modulo-Theories)定理証明が統合されており、開発者固有の述語や、すべてのdAppに適した自動生成されたプロパティによって、アプリケーションの正しさを自動的にチェックします。

  • Python - アルゴランドは、Pythonの言語バインディングをAVMに提供しています。 開発者はPythonでコードを書き、Tealで直接書かなくても付属のライブラリを使ってAVMのオペコードにアクセスできます。スタック・マシン言語との直接的なインタラクションを好む方にはTealを引き続きご利用いただけますが、より直感的なスマートコントラクトを書くためには、より高いレベルの言語に移行することをお勧めします。

  • Clarity - Clarity言語をレイヤー1のスマートコントラクトに導入するためのコンパイラも積極的に開発しています。Clarityはdecidable(決定可能)な言語であり、プログラムが何をするかをコード自体から確実に知ることができます。 Clarityは、予測可能性と安全性を最適化するように設計されています。「What you see is what you get」というアプローチをとり、スマートコントラクトの動作、コスト、パフォーマンスについての推論を容易にします。Clarityは、スマートコントラクトのコール・グラフ全体を静的に分析することができます。型と型チェッカーのサポートにより、意図しないキャスト、リエントランシーのバグ、初期化されていない値の読み取りなどのバグのクラス全体を排除することができます。 Clarityのオープンソース・プロジェクトは、アルゴランド、Stacksエコシステム、およびHiro PBCによってサポートされています。Clarityを使うことで、開発者は、広く採用されている、決定可能で安全な、高度に分析可能なオープンソースの言語を使って、コントラクトをシームレスに作成し、呼び出すことができます。


LLVMスタックとの統合などの追加戦略は、プロジェクトやコミュニティで明確に利用できるようになり、Rust、C、C++、Go、Haskell、Python、JavaScriptなど、さまざまな人気言語でスマートコントラクトを書くことができるようになりました。



永続的なスマートコントラクト・プラットフォーム


当社のスマートコントラクトは、現在の形で、すべての主要で人気のあるdAppsのニーズをサポートすることができます。さらに、スマートコントラクトのトランザクションがユビキタスになり、アルゴランドのようなスループットの高いブロックチェーンでも混雑を引き起こすほどの数になる未来に向けて、積極的に準備を進めています。また、プログラムのリソース使用量の自然な進化にも備えています。新しい、より複雑なプロトコルや暗号プリミティブが進化して、現在のフレームワークでは制約が必要なリソース使用量を必要とするようになった場合に備えています。 私たちは、このような将来のニーズに対応するために、レイヤー2のスマートコントラクト・システムを設計し、反復しています。このシステムは、強力で柔軟性があり、成長中のレイヤー1のスマートコントラクトdAppエコシステムと完全に組み合わせることができます。



ビルダーのエコシステムに参加する


アルゴランドの開発者は、以下のような組み合わせで、優れたDeFi、NFT関連、web3のdAppsを構築することができます。


  • アクセス可能で安全な高レベル言語(Reach、Python、Clarityなど

  • 強力な実行環境(AVM 1.0を使用

  • 高スループットかつ低コストのスマートコントラクト取引(1000TPS+、0.001 Algos)


アルゴランドは、スマートで徹底した研究、慎重な計画、優れた実装に基づいており、当社のスマートコントラクトも同様です。 パワフルで、高速で、安価で、簡単に始めることができます。アルゴランドで革新を起こす構築をしてみませんか?


https://developer.algorand.org/



元記事:https://www.algorand.com/resources/blog/algorand-new-approach-to-smart-contract-dev