Filecoin v16 Skyrアップグレード。Filecoin Virtual Machineのマイルストーン1のFilecoinネットワークへの展開が、7月6日(水)14:00に無事完了しました。
このアップグレードは、約2年前の創業以来、Filecoinのネットワークが最も劇的に変化したことを意味します。今回のアップグレードのメインは、Filecoin Virtual Machine(FVM)の導入と、チェーンへの移行でした。Filecoin Virtual Machine(FVM)は、WASMベースのポリグロット実行環境で、Filecoin分散型ストレージネットワークにスマートコントラクト機能(アクターとして知られる)を追加するためのものです。
Skyrのアップグレードは、Filecoinのオンチェーンユーザープログラマビリティを完全に可能にする2つのステップのうちの1つで、堅牢なネットワーク上に無限の新しいユースケースと機能を実装する可能性をもたらします。このアップグレードは、ビルトインアクターに実装されているFilecoinネットワークのコアロジックが、FVM M1(マイルストーン1)コードの上で稼働していることを意味します。そして次のステップでは、ユーザーはカスタムロジックをネットワークにデプロイできるようになり、Filecoinをストレージと計算の両方のレイヤーに追加することができるようになります。
今回のアップグレードの内容
Skyrのアップグレードは、FIP 0030、0031、0032という3つのFVM関連のFilecoin Improvement Proposal(FIP)を実行しました。これらのFIPは、FVMロードマップの最初のマイルストーンに到達します。アップグレードの時点で、ネットワークはチェーン検証のための新しいWASMベースのFVMの使用にアトミックに切り替わりました。仕様書はこちらからご覧いただけます。現在、すべてのクライアントはリファレンスFVM実装(ref-fvm)を採用しています。また、WASMランタイムとしてWASMtimeを使用しています。
原子スイッチでは、Goベースのspecs-actorsをRustベースのビルトインアクターに置き換えました(Filecoinのアクターは、他のプラットフォームにおけるスマートコントラクトに相当します)。これらの組み込みアクターは、Filecoinプロトコルのコア機能(ストレージ、証明、電力会計、取引など)として機能し、プロトコルの中核をなしています。
ビルトインアクターはWasmのバイトコードにコンパイルされ、CARv1ファイル(バンドル)にパッケージ、マニフェストが押され、それがシステムアクターのステートに配置されます。Filecoinクライアント(Lotus、Forest、Venusなど)はこれらのバンドルをブロックストアにロードすると、メッセージ実行時にバイトコードが利用できるようになります。
Skyrのアップグレードによるもう1つの重要な変更点は、ガスモデルの再構築です。ネットワークは実行ロジックに対してガス代をチャージし、Wasm命令レベルでアカウンティングを行います。また、システムコールと外部呼び出しにも費用が課されます。この結果、ガス/時間の精度が向上し、ベースラインの10ガスユニット/ナノ秒の実行にも準拠できるようになりました。
さらに、Skyrのアップグレードでは、Filecoinプロトコルの他の側面も強化されました。これらの変更には、より安全なSnarkPack証明集約ツール、チェーンステートにおける非UTF-8文字列からの移行、Filecoinの分散乱数の使用における修正が含まれます。変更点の全リストはこちらでご覧いただけます。
テストと監査
このアップグレードの変更範囲を考えると、広範なテストプロセスを実施することが必要でした。FVM自体は、ネットワークバージョン14および15と完全に後方互換性を持たせながらテストを行いました。これにより、ユーザーはFVMベースのカナリアノードを実験的に実行し、問題を報告することができました。このプロセスを通じて、様々な問題が特定され、改善が行われました。テストベクターは、Filecoinメインネットから抽出され、FVMの正確性を検証するために使用されました。
新しい組み込みアクターは3ヶ月かけて、ユニットテストと統合テストを構築しました。この目的は、今では推奨されていないspecsアクターと同等のテストを行うことでした、このマイルストーンは5月に達成されました。アクター自体の正しさをチェックするだけでなく、この取り組みによって、リスクを伴わずにアクターに変更を加える能力が加わることになります。これは、将来、迅速に修正プログラムを発行するための基礎になります。
さらにE2Eのテストを行うために、複数のテストネットワークを構築しました。アクティブな開発段階では、必要に応じて1日に数回の「キャタピラー」テストネットワークが作られることもありました。このネットワークはやがてバグを発見するためのテストネットワークであったことから、「バタフライネット」と名付けられました。この迅速なテストとデプロイ後、Filecoinの主要かつ長期にわたるテストネットであるキャリブレーションネットは、Skyrのアップグレードにおける変更に伴い更新されました。コミュニティのメンバーもこれらのネットワークに参加し、異なるノード構成をテストするために招待されました。これはプラットフォーム固有の問題を明らかにするために特に価値のあるものでした。
上記のようなテストに加え、コード自体にも複数の監査が行われました。コアチームは、内部のレッドチーム監査をスピンアップしました。さらに、2つのバグバウンティプログラムが2022年5月から2022年6月まで(Gitcoin、Immunefi)、Filecoin Securityバグバウンティとともに実施されました。これらのプログラムを通じて発見のレポートを提出してくれた人々に感謝します。
より正式な7週間の監査は、外部委託先であるAlex Wade氏によって行われました。この監査は、FVM M1の全範囲をカバーしています。監査ダッシュボードはこちらで見ることができます。この監査により、潜在的なセキュリティリスクや小さな問題が発見され(そして解決)、さらに高い信頼性を与えることができました。
次のステップ
FVMコアチームは、現在、FVMのマイルストーン2.1の作業に取り組んでいます。FEVMは、EVMスマートコントラクトをFilecoinネットワークにデプロイを行います。これは、FVMのハイパーバイザーにインスパイアされたポリグロット設計のおかげで実現しました。
EVM対応のFVMの優先順位は、優秀なweb3.0の開発者コミュニティからのフィードバックに耳を傾けた結果です。このフィードバックは、Filecoinを構築するために、既存のEthereumとSolidityの専門知識を活用しました。また、トークンやレジストリなど、実績のあるEVMコントラクトをFilecoinネットワークにデプロイできるようにしたいという希望も寄せられました。データ上の計算、データDAO、リトリーブ市場、スマートな自動取引市場、その他の無限に広がる使用例など、より大きなソリューションとして機能する能力を持ちます。
開発者がどこにいても対応できるようにオープンソースの中核的価値を維持することは、Hardhat、Foundry、Remix、Truffle、MetaMaskなどの既存のEVMツールとの完全な互換性が現在のFVMの最優先事項であることを意味しています。FVM Foundry Program (F/1)もまもなく募集が開始され、EVM互換のFVMユースケースとスキルを持ち、FVM構築に参加したい開発者のコミュニティを集める予定ですので、ご期待ください。
FVMのネイティブ開発も並行して、FVM Foundry Early Builders Program(FVM Foundry F/0)開発者チームによって、将来のWASM開発体験のコアツールとインフラ部分が構築されています。また、オープンRFP助成金によって資金が提供されています。これらのツールには、高レベルのRust SDK、AssemblyScriptおよびTinyGo SDK、開発者用ツールボックス、テストおよび不具合の原因の調査などが含まれます。また、RFP助成金は、ネイティブFVMに不可欠なインフラ等の構築を支援したい方にも開放されています。
FVMの次の段階は、専用のFVMテストネットによってサポートされます。Wallabyと呼ばれるこのテストネットは、専用のストレージプロバイダによって運営され、テストトランザクションとマーケット取引を可能にし、FVMの開発パスを円滑にします。
謝辞
このように、Skyrのネットワークアップグレードは、設計、構築、監査、テスト、導入に多くのチームがたゆまぬ努力を重ねてきました。ChainSafe、IPFS Force、Polyphene、Protocol Labs EngResのチームによる開発とテスト、SPXグループ、1475開発チーム、StorSwift(その他)によるユーザー(大規模)テスト、ImmunefiとGitcoinでホストされているバグバウンティに参加した皆さん、Alex Wadeの監査努力、Zondaxによる主要なエコシステムのツールとステークホルダーサポート、Filecoin Foundationによる調整と計画作業、などなどです。これらすべての個人とチーム、そしてこのマイルストーンに様々な形で参加したコミュニティメンバーに感謝します。私たちは、皆さんが私たちと同じようにFilecoinの完全なユーザープログラマビリティを実現するため、私たちと一緒にこの旅を続けてくれることを願っています。
本ブログは、www.filecoin.io/blogからの翻訳となります。
ソース:https://filecoin.io/blog/posts/filecoin-v16-network-upgrade-skyr/
コメント