Stratisが12月27日(水)、.NETコードをオンチェーンで実行する初めてのチューリング完全なスマートコントラクトをリリースした。スマートコントラクトと並行して、Stratisメインチェーンへの最初のサイドチェーンであるCirrusを含む、Stratis Sidechainsのリリースも発表された。スマートコントラクトは、このCirrusと今後実装されるサイドチェーンに配置されることになる。Stratis Smart ContractsとSidechains、そしてC# Full Nodeは一体となって、Stratis Platformの中核的サービスを構成する。
チューリング完全なスマートコントラクト:スマートアセットの先へ
スマートコントラクトは、ブロックチェーン技術を用いた洗練されたアプリケーションの開発を可能にする。このスマートコントラクトはブロックチェーンの最上位に位置し、「ガス」という形で、基盤となるブロックチェーンのコインに支えられる。
Stratisは、チューリング完全な言語であるC#を用いて構築されたスマートコントラクトを提供する。一方、ビットコインがトランザクションの構築に用いるスクリプトはチューリング完全ではない。これにより、その言語を使って構築されるスマートコントラクトの機能は著しく制限される。機能の制限が厳しいチューリング完全ではない言語を使って構築されたスマートコントラクトとは対照的に、チューリング完全性は多くの複雑なプログラム開発に不可欠だ。Stratis Smart Contractsは、スマートアセットの作成といった他のスマートコントラクト製品によるあらゆる便益を実現しつつ、応用の幅には限りが無い。
チューリング完全なスマートコントラクトを提供するという目標を達成するため、StratisはC#コードをコーディングレベルではなく仮想マシンレベルで制約した。サービス開発という点では最も簡便な選択肢とは言えないが、これはStratis Platform利用者が求める全ての機能を提供するために必要だった。
Stratisは、企業やブロックチェーン開発者からのスマートコントラクト技術への大きな関心に応え、Stratis Platformにスマートコントラクトを含めることを決定した。
初めてのネイティブなC#スマートコントラクト
Stratis Platformは、.NETフレームワークというMicrosoftの広範なソフトウェア環境の一部である、C#言語を使って構築されている。これにより、Microsoftの技術スタックの中にStratisがしっかりと組み込まれることになる。C# Full Nodeにより、Stratisは、共通言語ランタイムである.NET仮想マシン上で.NETコードを実行するスマートコントラクトに対応した、初めての仮想通貨となる。一方、C#のスマートコントラクトにコーディングレベルで対応する他の仮想通貨では、特製の仮想マシンにC#構文をコンパイルしなければならない。
Stratisは、オンチェーンでの.NETコード実行によって、開発者が完全なC# / .NETエコシステムを利用できるようにする。仮想マシン上で実行されるスマートコントラクトのコードは、他のC#ウェブアプリケーションやC#モバイルアプリケーションによって実行されるものと同様だ。従って、そのC#コードは他のC#アプリケーションの場合と同じように動作する。これにより、確立された最善の措置、C#コードのセキュリティ監査を中心に作り上げられた組織、そしてC# / .NETエコシステム用に構築された多くのツールを安心して利用できる。
Sidechains:カスタムメイドのブロックチェーン
StratisはSmart Contractsのリリースと並行してSidechainsをリリースし、その事業計画におけるもう1つの節目に到達した。サイドチェーンとは、メインチェーンと呼ばれる親ブロックチェーンに接続するブロックチェーンのことだ。サイドチェーンは、StratisのBaaS(サービスとしてのブロックチェーン)プラットフォームの中核的要素である。
Stratis Sidechainsはカスタマイズ性が高く、企業や個人が特定の用途に合わせてカスタムメイドのブロックチェーンを作成できるようにする。Stratis Sidechainsは、様々なコンセンサス・アルゴリズム(プルーフ・オブ・ワーク、プルーフ・オブ・ステーク、プルーフ・オブ・オーソリティ)とカスタマイズ可能な特性(ブロック時間、ブロックサイズなど)を備えており、サイドチェーン作成者は自らのニーズに合わせて特別に設計されたブロックチェーンを構築できる。例えば、ブロックサイズが大きくブロック間隔が小さいサイドチェーンを作り、高い最大処理能力を得ることが可能だ。このサイドチェーンはStratisのメインチェーンから独立しているが、コードベースを断片化することなく、Stratisにもたらされる革新の恩恵を得ることもできる。
スケーラビリティ、セキュリティ、性能
Stratis Smart Contractsは、Stratisのメインチェーンではなくサイドチェーンネットワークに配置される。これは従来型のスマートコントラクト製品と比べ、大きな利点をもたらす。スマートコントラクトはデータベースの増大によってブロックチェーンを肥大化させ、小型の機器に状態データベースを保管することが非現実的になる場合がある。そうなった場合、単純に保管するにはデータベースが大きすぎるという理由で、仮想通貨のネットワークの維持が難しくなる。しかし、スマートコントラクトをサイドチェーンネットワークに配置することで、メインチェーンはスマートコントラクトの肥大化から解放され、通貨として自由に機能し続けることができる。
サイドチェーンは、スマートコントラクト実行の際に発生する可能性がある他の悪影響を隔離する役割も果たす。例えば、17年にイーサリアムで見られたように、スマートコントラクトはネットワーク混雑の大きな要因になり得る。スマートコントラクトをサイドチェーンネットワークに配置することで、Stratisはスマートコントラクトに関連したネットワーク混雑から解放される。さらに、サイドチェーンは設計目的となるトランザクションの種類に合わせて最適な性能になるよう調整可能で、Stratisのメインチェーンでの自由で効率的なトランザクションの実行が確保される。
連合ソリューション
Stratis Sidechainsは現行の短期開発サイクルの中で、チェーン間でのコイン送金に連合ソリューションを使用している。ノードの連合体はStratを対価として、予め定められた交換レートに従いサイドチェーンのコインのリリースを実行する役割を果たす。サイドチェーンのコインが連合に戻ることで清算されるまで、Stratは第三者に預託される。連合ソリューションについての詳細は、こちらで確認可能だ。交換レートを予め定めておくことで、サイドチェーンのコインはStratと連動した状態に保たれる。
C# Full Node、Sidechains、そしてSmart Contractsは、Stratis Platformの中核的サービスを形作る。これらは一体となって、強力で多用途なBaaS(サービスとしてのブロックチェーン)プラットフォームを構成する。
会社ウェブサイト:stratisplatform.com