Nervos はサンフランシスコで「Say Hello to RISC-V」をテーマにしたイベントを開催しますが、予想外にもこのイベント自体がブロックチェーン上級専門家で Cosmos プロジェクトコンサルタントの Zaki Mania の注目を集め、Twitter 上で非常に興味深いイベントを立ち上げました。 . 議論。議論の焦点は、ザキ氏が他のブロックチェーン プロジェクトと比較して WebAssembly (WASM) を選択したと信じていること、および RISC-V 命令セットを使用して VM を実装するという Nervos の計画に疑問を表明したことでした。
背景知識
背景知識
まず、この議論の 2 つの主要なトピックである WebAssembly と RISC-V を紹介します。
WebAssembly (WASM) は、最新の Web ブラウザーで実行できる新しいコーディング方法であり、ネイティブに近いパフォーマンスで実行できるコンパクトなバイナリ形式を備えた低レベルのアセンブリのような言語であり、C などの言語向けです。 / C++/Rust などの言語は、Web 上で実行できるようにコンパイル ターゲットを提供します。 WebAssembly の開発チームは Mozilla、Google、Microsoft、Apple などから構成されており、標準規格は W3C によって策定されており、現在、WebAssembly は Ethereum Next Generation Virtual Machine (EWASM)、EOS、Dfinity プロジェクトで使用されています。
RISC-V 命令セットは、縮小命令セット コンピューティング (RISC) の原理に基づいたオープン命令セット アーキテクチャ (ISA) であり、このプロジェクトは 2010 年に開始され、カリフォルニア大学バークレー校の David Patterson 教授によって主導されました。 RISC-V は、継続的な開発と成熟した命令セットに基づいた新しい命令です。 RISC-V 命令セットは完全にオープン ソースで、設計がシンプルで、Unix システムへの移植が容易で、モジュラー設計で、完全なツール チェーンを備えており、オープン ソースの実装とテープアウトのケースが多数あります。
x86 と ARM が独占する現在、RISC-V は新興市場に光をもたらし、多くの国のチップ設計および製造会社がその財団に参加し、関連するエコロジー構築に参加しています。 CPU 上で検証された命令セット アーキテクチャである RISC-V は、ブロックチェーン プロジェクト上でプロセッサ ハードウェアの代わりに仮想マシンを構築するため、ブロックチェーン分野では確かに大胆な試みです。
ブロックチェーン分野の初期投資家であるザキ・マニアによる投稿。彼自身も、Trusted IoT Alliance (PoS セキュリティ研究を専門とする組織) のエグゼクティブ ディレクターであり、Cosmos のプロジェクト コンサルタントであり、Restore The 4th! の取締役会のメンバーでもあります。
議論に参加する@defmacro, Nervos プロジェクトのコア エンジニアである Xiao Xuejie は、CKB-VM の主要な実装者でもあります。彼が実装した Nervos 仮想マシンの紹介については、記事「Nervos CKB-VM の概要」を参照してください [1] 。
議論に参加した他の参加者は、Loom 主任研究員、プラズマ研究員でした。Georgios Konstantopoulos、SolanaLabs 著 CEO Anatoly Yakovenko、Qtum 開発者Jordan Earls、ネルボスプロジェクトの共同創設者謝漢健副題
副題
抽象的な
ザキマニアはまず次のような質問をした。仮想マシンにとって RISC-V が WASM よりも優れているかどうかは深刻な疑問です。
続いてルーム主任研究員ゲオルギオス・コンスタントプロスのフォローアップ, 両者の長所と短所を詳しく評価してほしいと思います。
ザキマニアはこう付け加えた。RISC-V はシリコン (チップの意味)/FPGA 設計の仕様です。 x86、ARM、PowerPC での効率的なエミュレーションが目標ではありません。 WASM は、ISA (Open struction Set Architecture) から独立した仕様であり、さまざまな CPU に効率的に実装できます。 WASM 自体はコンパイル用に特別に設計されているため、x86 または ARM マシン コードをコンパイルすると、結果はネイティブ コンパイルとほぼ同じになります。しかし、RISC-V は x86 および ARM にコンパイルするように設計されていません。
Xiao Xuejie はこれについて別の見解を提唱しました。彼は、WASM のどの機能が RISC-V よりも実装が容易であるかについて疑問を呈しました。 WASM は JS よりも実装が簡単ですが、RISC-V と比較すると利点はありません。それは効果的な実装の構築とは何の関係もないので、それはエコシステムです。 LLVM の WASM サポートの方が優れているという意見には同意しますが、指摘すべき点が 2 つあります。(1) RISC-V は GCC をサポートする、(2) RISC-V 用の LLVM にはあといくつかのパッチが必要なだけです。
RISC-V のエミュレーションは、WASM が抽象仮想マシンとして実行されるのと同じ方法で実行されます。
相手方は、WASM がこの目標に対処するために「特別に設計されている」とどのように言ったのですか?彼は、RISC-V 実装が WASM のように実装できることを仕様に見出しました。 JIT は WASM だけのものではありません。
フォローアップ: 「rv8: RISC-V から x86 への高性能バイナリ トランスレータ」[2]。
数回の白熱した議論の後、多くの人が議論に参加しました。タルン・チトラ氏は、この 2 つは議論の範囲外であると感じました。RISC-V ソフトウェアは、WASM 開発のリソースと競合することはありません。
SolanaLabs CEO の Anatoly Yakovenko は、Zaki Mania に次のように尋ねました。ウェブサイトを運営するためのブロックチェーンを想像できますか?それとも、100 万個の独立したノードが同時に実行されているのでしょうか?大きくプッシュしたネルボスに称賛を送りますが、彼らは群れに従わなかったのです。
Qtum開発者のJordan Earls氏のコメント: RISC-V はかなり曖昧なので、(ランダムな CPU アーキテクチャに比べて) WASM の利点がすべて欠けているように思えますが、x86 のエコシステムの利点も得られません。ネイティブのスマート コントラクト ハードウェアを見るのは興味深いものでした。
Nervosの共同創設者であるXie Hanjian氏は次のように述べています。私の意見では、ハードウェア (RISC-V) をターゲットにすることは大きな利点です。レイヤ 1 ブロックチェーンは、アップグレードが難しいハードウェアのようなソフトウェアです。ハードウェア用に設計された命令セットは、たまたま同じ特性を持っています。
ザキマニアはこう要約する。私は RISC-V の大ファンですが、それはコンセンサス層が実行するコードのせいではありません。コンパイラ ツールチェーンは一流になり、ハードウェア (RISC-V アーキテクチャで実装) は普及しますが、高性能で信頼性の高い x86/ARM JIT に依存する他のユースケースは存在しません。
Xiao Xuejieは最終的に次のように結論付けました。RISC-V の実装と WASM の実装の違いははるかに小さく、RISC-V でより効率的な実装を行う方が簡単であるとさえ考えられます。確かに、ここでの一方のテクノロジ (WASM または RISC-V) は、詳細の点ではもう一方 (RISC-V または WASM) よりも実装が簡単かもしれませんが、(一般的に) 難易度にそれほど顕著な違いはありません、実装すると実際にはそれほど違いはありません。
同時に、ブロックチェーン仮想マシンを選択する際に考慮する必要があるのは、高パフォーマンスの実装の難しさだけではありません。 RISC-V を使用すると、次の利点が得られます (WASM に匹敵するのは困難です)。
1. 安定した実装を保証するために、ブラウザ ベンダーが合意したバージョン ビット保証ではなく、実際のハードウェアが使用されます。
2. 人員不足の Emscripten の代わりに継続的な LLVM サポートを備えた安定したアップストリーム GNU ツールチェーン。
3. 現在、V 拡張機能などの JS エンジン アーキテクチャに限定されない、最先端のテクノロジーを使用した仕様。
4. 合理的な実行時モデル、より自然で未来志向の実行時オーバーヘッド モデル。
5. コプロセッサを使用してトランザクション検証を大幅に高速化する可能性。
今後もこのような素晴らしい知の衝突が見られることを楽しみにしています。
[1]https://medium.com/nervosnetwork/an-introduction-to-ckb-vm-9d95678a7757
[2]https://carrv.github.io/2017/papers/clark-rv8-carrv2017.pdf
