Blockstreamのアダム・バックとアンドリュー・ポエルストラ、StarkWareとともにLiquid上のSimplicityを語る
- yutaro stacksats
- 8月24日
- 読了時間: 4分

2024年8月1日、SimplicityがLiquid Networkでアクティベートされ、形式的に定義され、第一原理から構築されたスマートコントラクトが利用可能になりました。このマイルストーンは、Blockstream Researchによる約10年にわたる研究開発の成果です。Simplicityの開発者とStarkWareチームによる最近の対談の中で、Blockstream CEOのアダム・バック氏は次のように述べました。「Simplicityは“検証のみ”で機能することで、物事をシンプルにしている。つまり、プログラムを実行する必要がないんだ」
実行ではなく、検証のための言語
「有限時間で計算できるものであれば、Simplicityで実現できます」と語るのは、Blockstreamリサーチディレクターのアンドリュー・ポエルストラ氏。「どんなバリデーターでも、それを非常に素早くスキャンし、必要なメモリ量や処理時間を正確に把握することができるんです。」Simplicityは従来のスクリプトシステムとは異なり、9つのコンビネータ(組み合わせ子)で構成され、数学的関数としてエンコードされるのが特徴です。ポエルストラ氏はこうも述べています。「この言語は、純粋な数学と計算機科学の最も基本的な構成要素に基づいて定義されています。」
予測可能な挙動、意外性はゼロ。
EVMのようなシステムでは、ミュータブルな状態やレースコンディションにより、予測不能な挙動が生じることがある一方で、Simplicityは精密さを重視しています。EVMベースの設計について語る中で、アダム・バック氏はこう述べました。「マシン同士がやり取りするような言語体系では、ものすごく複雑になることが“前提”になってしまっている。」それに対して、Simplicityは開発者にコントラクトの挙動を明示的に定義し、形式的に証明する能力を与えてくれるのです。「自分が重要視する条件(predicate)を定義できる。たとえば“このコントラクトにある資金は、こうでなければ使えない”と設定し、それを証明可能にできるんだ」と彼は説明しています。
Simplicityのメインネットローンチ、ビットコインのプログラマビリティの未来、そしてSTARKとの相乗効果
STARK統合と実用アプリケーション
StarkWareはすでに、Simplicity上でSTARK検証器(verifier)を直接構築することで統合を実現しています。「Simplicityを使えば、柔軟かつ膨大なことができる上に、高い確実性を持ってそれが実現できるとわかる」とバック氏は述べています。StarkWareのAbdel氏もこう付け加えます。「我々はEVMをZKVMに変換したくはなかった。最初から、それがZKに適していないとわかっていたからです。」この統合は、Simplicityが高度なユースケースに対応可能であることを示すとともに、ZKロールアップ、アップチェーン、検証可能なビットコインネイティブアプリケーションへの道を切り開くものとなっています。
ソフトフォークなしでBitcoinオペコードを再現
Simplicityを使えば、開発者はOP_CATやOP_VAULTといった提案中のビットコインオペコードを、コンセンサス変更(ソフトフォーク)なしに実装することが可能です。「Simplicityは、Bitcoin Scriptと違って、計算的な制限を一切受けません」と、アンドリュー・ポエルストラ氏は説明します。「Scriptでは、ちょっとした算術処理や、限られた暗号オペコードしか扱えません。でもSimplicityでは、有限時間で計算できるものであれば、何でも実行可能です。」この特性により、本来であれば長期的なソフトフォークの調整を必要とするようなコントラクト挙動のプロトタイピングが、開発者の手で直接行えるようになります。
開発者向けツールが公開中
Simplicityは現在、Liquidメインネットで稼働しており、開発者向けの高レベル言語SimplicityHLを通じて実験が可能です。このSimplicityHLは、Simplicityへコンパイルされる開発者フレンドリーな言語です。エコシステムには、コンパイラ、ブラウザ上で動作するIDE、コントラクトのサンプル、Jetsやプリミティブに関する形式的なドキュメントが含まれています。StarkWareのMichael Zaikin氏は次のように語っています:「Simplicity Shellを使ってみて、とても楽しい体験でした。なぜなら“本当に初期の段階にいる”という感覚を味わえるからです。」さらに彼はこう続けます:「開発者がSimplicityを触り始めて、何かを構築してみるには絶好のフェーズだと思います。かなりパワフルなツールなので」
開発者は今すぐにでも、simplicity-lang.org から構築を始めることができます。また、Telegramコミュニティ に参加して、対話に加わることも可能です。