Filecoinは、NFT、公共のデータ、web3.0やメタバースの資産などを検証可能な形で保存し、アクセスするためのプラットフォームです。これは、web3.0のI/Oレイヤーと考えてください。しかし、これは氷山の一角に過ぎません。Filecoinに一般的なスマートコントラクトのプログラマビリティを導入することで、さらに多くの価値と可能性を提供することができます。また、ストレージの上に計算機能を重ねることで、チェーンを越えた相互運用性や信頼性の高い方法での統合など、新たな可能性が生まれます。
最近では、Protocol Labの研究員であるRaúl Kripalani氏が、分散型ストレージエコシステムの次の進化のための中核となるFilecoin Virtual MachineをFilecoinコミュニティで紹介しました。
なぜFilecoinでスマートコントラクトをするのか
スマートコントラクト(Filecoinではアクターと呼んでいます)は、Web2.0テクノロジーでは非常に難しい技術ですが、ダイナミックなストレージソリューションを実現することができます。その例は以下の通りです。
- Filecoinに保存されたデータの分散型の計算(データを移動させるのではなく、データが保存されている場所で計算を実行する)
- クラウドファンディングによるデータセットの保存(例:犯罪統計や環境温暖化など、社会的に重要なデータを保存するための資金をみんなで調達できるようになる)
- よりスマートなストレージ市場(例:時間帯別、複製レベル別、地域内での可用性別にストレージの価格変動させる設定するなど)
- 複数世代にわたるストレージの永久保存
- データDAOをトークン化(例:データの価値をトークンとしてモデル化し、DAOを形成。データ上で実行される計算を調整・仲介する)
- ローカルに保存されたNFT(例:NFTのコンテンツと、それを追跡するレジストリとのコロケーション)
- 時間で制限された検索(例:企業の公開結果が出たときだけ、このデータセットのロックの解除ができる)
- 担保融資(例:特定の顧客からのFIL+案件の受け入れや、具体的な時間枠内でのキャパシティのオンボード化など、具体的な目的を持つストレージプロバイダーへの融資)
などがあります。
また、開発者はクロスチェーンのためのBridgeを作成したり、他のチェーン(Ethereum、NEAR、Polygon、Solana、Flowなど)で展開されているアプリを、Filecoinが提供するストレージ容量や機能と統合したりすることができます。
Filecoin Virtual Machineが、web3.0のエコシステム全体において、相互運用可能なストレージと、仮想サーバーの破壊をどのように開始するかについては、お伝えします。
レイヤー0としてのストレージ
現在、Filecoinは、データの保存と検索を中心としています。私たちは、この2つの機能がプロトコルのレイヤー0を構成していると考えています。
このシステムはクリーンでわかりやすく、ユーザーがプログラム可能なスマートコントラクトになりましたが、より複雑なアプリケーションやソリューションを構築しようとする開発者にとっては不十分です。
スマートコントラクトのプログラマビリティは、その1つ上の層であるレイヤー1に集約されています。現在、Filecoinでは、システムで定義されたアクターによって動作環境の前提が書き込まれています。つまり、ユーザー定義のスマートコントラクトは、EthereumやNEARのような他のプログラム可能なブロックチェーンとのBridge(Textile Bridgesなどのソリューションを介して)することで、Filecoinでの使用が可能になります。Filecoin Virtual Machineは、Filecoinにネイティブなユーザー定義アクターをもたらします。
Ethereum互換のFilecoin Virtual Machine
最新の技術的な議論は、2021年6月にFilecoin Improvement Proposal 113で始まりました。Filecoin Virtual Machine(FVM)は、マルチVMデザインを確立するためにHypervisorからインスピレーションを得て、様々な言語で行き来出来るバーチャルマシンを目指しています。そこで、EVMをそのまま採用する、LLVM-IR、eBPF、Secure Ecma Scriptなど、多くのアプローチが検討されました。
その中核となるのが、FVMのネイティブランタイムであるWASMです。私たちは、WASMがブロックチェーンの分野をさらに加速させると信じています。この選択により、WASMにコンパイルされるあらゆるプログラミング言語でネイティブアクターを書くことが可能になります(ただし、すべての言語が適しているわけではなく、リファレンスSDKはRustで構築されています)。これにより、web2.0の開発者の現状に合わせて、言語ごとの学習曲線を回避することができ、web3.0への導入を迅速に行うことができます。
さらに、Ethereum Virtual Machine(EVM)を筆頭に、海外のランタイムを模倣する機能を追加します。これは、Filecoin開発者のコミュニティからの、ソースコードへの変更をゼロまたは最小限に抑えてFVMをEVM/Solidityに対応させたいという要望から実現しました。現在の仕様はこちらです。
Ethereumのコミュニティは、ERC-20トークン、NFT、DAO、フラッシュローンなど、有用かつ最も重要な監査済みのスマートコントラクトの大規模なコーパス(統計的な分析や研究を行う目的で集められ言語テキスト集)を構築しました。これらのコントラクトをそのまま再利用できるようにすることで、安全かつ迅速、しかも効率的なシステムの見直しを可能とする革新的なソリューションとなるでしょう。さらに、Solidityの開発者がBridgeやオラクルを使ってチェーンをまたいで接続できるようになれば、集合的な価値と実用性を高めることができます。
また、EVMの互換性はバイトコード層を対象としているため、Truffle、Remix、Hardhat、VS CodeプラグインなどのEthereumツールチェーンをFilecoinで活用が可能です。開発者は、既存のスマートコントラクトをデプロイするだけでなく、Solidityで新しいアクターを書いて運用を開始したり、パフォーマンスの最適化が必要な場合はネイティブアクターを使用できるように、アップグレードしたりすることができます。
Filecoinの影響力の拡大
FVMにより、Filecoinは、既存のストレージ機能に加えて、計算能力を獲得します。具体的には、オンチェーンの計算と、オフチェーンの計算という2種類の計算が実行されることを想定しています。FVMはその両方において重要な構成要素となります。
Filecoinでは、以下のようなユースケースが期待されています。
- データ中心の分散型自律組織(Data DAO)、データ中心の分散型自律組織(Data DAO)
個人や組織のリソースをプールすることで、共有された関心事や公益性のあるデータセットの保存、キュレーション、増強、処理を促進することができます。データDAOは、トークンやNFTの価値を表す単位として使用し、トークンを交換してサービスを受けたり、アクセス権を付与したりすることができます。
- レプリケーションクライアント
ユーザーが定義したポリシーに基づいて、Filecoin上のデータに対して一定レベルのレプリケーションを維持することでインセンティブを与える、自動ボット。
- 代替ストレージ市場
オークション、バウンティ、またはその他の手段に基づいて、ストレージ市場はデータにエラー修正コードを適用し、データが破壊された場合の復元性を確保します。また、データを確実に配信するために自動的に再取引を行うことも可能です。
- 担保融資
プロバイダに対して、目的を限定した担保融資を行います。例えば、融資された資金は、特定の顧客からのFIL+案件を受け入れるためにのみ使用できるようにする、などです。
- コンピュテーションオーバーデータ
大規模な計算では、データの転送が大きな問題となり、すべての処理にコストと時間がかかりますが、ストレージプロバイダーの協力と、コーディネーターノードへの報酬を設けることで、Filecoinのネットワーク全体での実行を行います。並列して計算を実行し、その結果をFilecoinに戻すことで、効率を高めることを可能にします。
さらに、FVMは、Filecoin上で動作するレイヤー2(L2)が、レイヤー1(L1)にコミットすることを可能にし、より安全で追跡可能なサイドネットワークやオーバーレイネットワークを実現します。コンテンツデリバリーネットワーク(CDN)、レピュテーションシステム、ペイメントチャネルネットワークなどのL2ソリューションが、Filecoinで稼働することに期待しています。
これらのユースケースのプロトタイピングに興味のある開発者の方は、ぜひご連絡ください。
開発ロードマップ
FVMの開発ロードマップは、以下のようになっています。
フェーズ0:
メインネット上にノンプログラマブルなFVMをCanaryローンチし、Lotusの機能フラグまたはフォークの後ろに配置し、システムアクターのみを稼働させます。既存のチェーンとの互換性があり、プロトコルのアップグレードは必要ありません。このフェーズは2021年第4四半期に提供される予定です。
フェーズ1:
プロトコルを分岐させて、Gasのスケジュールやアーキテクチャの調整など、ユーザーのプログラムの可能性に先駆けて、テスト的に変更を導入する。このフェーズの終了時には、ネットワークが100%FVMに支えられたシステムアクターを実行している必要があります。このフェーズは、2022年第1四半期に本番稼動する予定です。
フェーズ2:
ネイティブアクターとEVMアクターの両方にユーザープログラムを導入する。このフェーズは2022年第2四半期に稼働する予定です。
フェーズ3:
システムアクターを再設計し、プロトコルをより深く変更することで、システムアクターに対するプログラムを容易にします。このフェーズは、2022年第2四半期に開始する予定です。
FVMの開発に興味のある方、このプロジェクトについてもっと知りたい方は、Filecoin-project/fvm-projectのGitHub repoやFilecoin Slackの#fvmチャンネルをフォローしてください。
本ブログは、www.filecoin.io/blog からの翻訳となります。
ソース: https://filecoin.io/blog/posts/introducing-the-filecoin-virtual-machine/
コメント