ダッパーラボ(Dapper Labs)は4月14日、独自技術を共有するため、フィスブックの独自仮想通貨「リブラ」プロジェクトと協力していると明らかにした。オープンソースソフトウェア(OSS)として広く公開するという。ダッパーラボは、ブロックチェーンゲーム「クリプトキティーズ(CryptoKitties)」、アプリ・ゲーム・ノンファンジブルトークン(NFT)を意識したブロックチェーン「Flow(フロー)」の開発企業として知られている。
ダッパーラボ公式ブログによると、今回のパートナーシップにより、リブラの独自プログラミング言語「Move」、Flow用独自プログラミング言語「Cadence(ケイデンス)」それぞれで作成したスマートコントラクトが動作するMove仮想マシン(VM)の開発を目指しているようだ。ダッパーラボは、リブラのMoveチームと協力し、Cadenceで作成したコードをMove仮想マシン上で動作するバイトコードにコンパイルする方法を発見したという。
コインテレグラフに対し、ダッパーラボのディーター・シャーリーCTOは、Flow側はMoveのパフォーマンス効率の恩恵を受け、リブラ側はCadenceの開発者フレンドリーな設計というメリットを得られると述べた。
両チームは、線形型理論からインスピレーションを得た
ダッパーラボは2019年9月、Flowを発表。Flowについて、スピードが速く開発者に優しいブロックチェーンで、アプリやゲーム、デジタル資産を含むエコシステム全体をサポートする」と解説している。また2020年3月には、「Flow Playgraound」を発表した。Flow Plyagraound上では、Webインターフェイスを用いて(Cadenceベースの)スマートコントラクトを作成・実行可能なほか、NFTを作成しマーケットプレイスを構築できるという。
Cadenceは、読みやすさと明快さを重視しモジラのRustやアップルのSwiftを参考にした構文を採用し、実行時エラーを最小限にできるよう強力な静的型システムを採用しているそうだ。またスマートコントラクトの扱いやすさとパフォーマンス効率を促進するよう設計されており、線形型理論(「Concurrent Programming in Linear Type Theory」)に基づいているという。
またMoveも、線形型理論を基にした新たなデータ構造といえる「リソース(resources)」というアイディアを中心に設計されているそうだ。このリソースとは、特定データがデジタル資産かつ保護すべきものであることをコンパイラーとランタイムに示せる初のプログラミング言語構造としている。特定データ(デジタル資産)の取り扱いについて、言語自体にルールを適用し、誤って削除されたり、ドロップされることなく、(コピーさせずに)移動させることを要求するという。
シャーリーCTOは、「Moveは、線形型理論から得たアイデアを実際に組み込み、スマートコントラクトのコンテキストに適用していた唯一の存在だ」と付け加えた。
「Moveは、初の『リソース』指向プログラミング言語であるとともに、可読性や使いやすさよりもパフォーマンスを重視して設計されている。一方Cadenceは、ユーザビリティを第一に設計しており、RustやSwiftにインスパイアされた構文を採用している」
リブラとダッパーラボがお互いの技術を補完する
シャーリーCTOは、MoveとCadenceが「お互いを高める存在」であると指摘。同CTOはMoveについて(コンピューターを第一に、人間を第二に考えた)「ボトムアップ」な高パフォーマンスVMと評し、「効率的に実行できるコンパクトなバイトコード、スピード、高いスケーラビリティを非常に重視している」と説明した。一方Cadenceは、開発者にとって「人間工学的な読みやすさ、機能性」を重視した(人間が第一、コンピューターは第二という)「トップダウン」で構築されたという。
「リブラチームはパフォーマンスの最適化から取りかかった。最終的には(開発者が)理解しやすい人間工学に基づいた構文が必要になると知っていたが、それは二の次にした。一方我々は、低レベル層において高度に最適化されたVMを用いた効率的なランタイムが必要だと考えていたが、それを二の次にしようとしていた。そこで、我々とリブラチームはそれぞれお互いを補完することにした」
翻訳・編集 コインテレグラフジャパン