Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
Nervos 将在旧金山做一场主题为「Say Hello to RISC-V」的活动,没想到活动本身引起了区块链资深专家、Cosmos 项目顾问 Zaki Mania 的关注,并在推特上展开了一次非常有意思的讨论。讨论的焦点在于 Zaki 认为相比其他区块链项目选择 WebAssembly(WASM),他对 Nervos 用 RISC-V 指令集实现 VM 的这个方案表示怀疑。
/ Q* T! S; q. p7 w- y: a
! g9 i+ @1 G" L; L1 k1 r我们把完整的讨论和相关的背景整理,方便读者理解。& {8 L; s! o1 A
6 c: y: R! m0 _" W4 u: l
背景知识
1 Y( Y5 z% `5 a4 }5 n) u8 {: R/ [3 T  E( K
首先,介绍一下本次讨论的两大主题——WebAssembly 和 RISC-V:4 A2 T+ A, }0 |; P/ Y
3 K' u) j% y5 t& z, h) q  N- w' T: t
WebAssembly(WASM)是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C/C++/Rust 等语言提供一个编译目标,以便它们可以在 Web 上运行。WebAssembly 的开发团队分别来自 Mozilla、Google、Microsoft、Apple 等公司,标准由 W3C 组织制定,目前 WebAssembly 在以太坊下一代虚拟机(EWASM)以及 EOS、Dfinity 项目中被使用。+ y# N% f) M; e4 V

, ]$ c1 n8 t, n! t9 I- kRISC-V 指令集是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),该项目始于 2010 年,由加州大学伯克利分校的 David Patterson 教授带领,目前已经获得社区大力支持,RISC-V 是在指令集不断发展和成熟的基础上建立的全新指令。RISC-V 指令集完全开源,设计简单,易于移植 Unix 系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例。
- e9 F0 I- k% |3 w5 u4 q
" ]* {+ j; }0 F2 {" D6 `+ d" o1 I在 x86 和 ARM 垄断的当下,RISC-V 为新兴市场带来了一些曙光,许多国家的芯片设计、制造公司纷纷加入其基金会,参与到相关的生态建设中。作为在 CPU 上验证过的指令集架构,RISC-V 在区块链领域的确是一个大胆的尝试,因为它在区块链项目上打造的是虚拟机,而非处理器硬件。
) r$ U3 z4 e$ q" X
+ y6 B1 s) W  }# _( d! d9 Q发帖者 Zaki Mania 是区块链领域的早期投资人。他本人是 Trusted IoT 联盟 (该机构致力于 PoS 的安全研究)的执行董事、Cosmos的项目顾问、除此之外,他还是 Restore The 4th!董事成员。
8 d0 M- t. n1 Z- f+ g3 V& D6 G3 T5 j9 l  @+ t9 y
参与讨论的 @defmacro,是 Nervos 项目的核心工程师肖雪洁,也是 CKB-VM 的主要实现者,关于他实现的 Nervos 的虚拟机介绍请详见文章 《An Introduction to Nervos CKB-VM》[1]。
$ j1 O( G+ W) h5 r; U( d% O  \/ U
2 j8 |# O# j2 u6 R2 O# l& p# g其他参与讨论的还有 Loom 首席研究员、Plasma 研究员 Georgios Konstantopoulos,SolanaLabs 的 CEO Anatoly Yakovenko,Qtum 开发者 Jordan Earls,Nervos 项目联合创始人 谢晗剑 等。4 A! P9 N5 b' p8 G+ e
( _; u' `7 a4 i" R" g( q
推特原文0 h3 F( N  d! [4 Q: M* y  g8 K& j

2 i$ e4 h, H6 z8 \" g! t内容摘要
: f; ]$ M$ F+ K
, S! i2 n& O& q9 N3 e  z2 `Zaki Mania 首先提出疑问:对虚拟机用 RISC-V 比 WASM 更好表示严重怀疑。6 P: W% ?" k5 _+ L

. b0 \2 K! {, O" c9 ?( Q2 _5 n5 c随后有 Loom 首席研究员 Georgios Konstantopoulos 跟帖,希望他详细评估下二者的优缺点。1 [) Z4 Q/ I0 r2 ?4 w( p
. n5 R* I$ U$ c3 J
Zaki Mania 补充说:RISC-V 是面向 Silicon(意指芯片)/ FPGA 设计的规范。在 x86,ARM,PowerPC 上进行高效仿真不是目标。而 WASM 是一种独立于 ISA(开放指令集架构)的规范,可以在各种 CPU 上进行高效实现。WASM 本身,是为编译而专门设计的,因此在编译 x86 或 ARM 机器代码时,结果几乎与原生编译相同。但是 RISC-V 不是为了编译为 x86 和 ARM 而设计出来的。' M! R* K3 U5 n( F9 i5 G0 Q! u* y* B

# N  c% O/ z: y肖雪洁对此提出不同看法:他质疑 WASM 哪些功能比 RISC-V 更容易实现。WASM 相比 JS 更容易实现,但与 RISC-V 相比,看不到优势。因为和构建有效的实现没有任何关系,这是生态系统。我同意 LLVM 对 WASM 的支持更好,但有两点需要指出——(1)RISC-V 支持 GCC,(2)RISC-V 的 LLVM 也仅仅需要再加几次补丁。
% v/ w' E; p# B( C7 Q) A3 p; `1 k. X) [
仿真 RISC-V 的运行方式,正是 WASM 作为抽象虚拟机运行的方式,它们并无二致。
. K' [+ \4 A- k
# {4 D+ k" P- E) w9 V至于对方说的 WASM 是如何「专门设计」来应对这一目标的?他在规范中看到,可以像 WASM 一样实现 RISC-V 实现。 JIT 不仅仅适用于 WASM。% z1 `3 d2 E* X* r

0 Q- m' ?( k+ `, g; L; B# ?随后附文:《rv8:从 RISC-V 到 x86 的高性能二进制转换器》[2]。
% r' X. y' j3 [; [: p+ r8 H" E4 ?$ s! s
经过数轮激烈讨论,不少人加入了争论:Tarun Chitra 觉得二者不在讨论范围:RISC-V 的软件绝不会与 WASM 开发中的资源竞争。
3 l- L( {4 r' S3 U7 U9 }# |7 {3 T* ~: ~
SolanaLabs 的 CEO Anatoly Yakovenko 反问 Zaki Mania:你能否想象一条区块链去运行一个网站? 或者说一百万个独立节点同时运行? 对 Nervos 做出的巨大推动表示赞赏,他们没有随大流。1 f2 ?5 S. V8 v
4 l0 m8 `* V0 w9 A( U% u3 y+ L
Qtum 开发者 Jordan Earls 评论道:听起来它缺乏 WASM 的所有好处(超过任何随机 CPU 架构),同时也没有获得 x86 的生态系统优势,因为 RISC-V 非常模糊。 看到原生的智能合约硬件,感觉很有趣。% u# g$ U" R( h! e; x" J

' w0 P7 x5 B: t2 YNervos 联合创始人谢晗剑说:在我看来,(RISC-V)针对硬件是一大益处。 Layer 1 区块链是类似硬件的软件,很难去升级。针对硬件设计的指令集恰好也有同样的属性。1 Q/ J5 Y6 `  ]4 V* g: }% M1 Q0 g
& y! y9 X. f. y& i! r% [6 ?
Zaki Mania 总结:我是 RISC-V 的忠实粉丝,只是原因不在于共识层运行的代码。 编译器工具链将是一流的,(以 RISC-V 架构实现的) 硬件会广泛存在,但没有其他依赖于高性能和可靠的 x86 / ARM JIT 的用例
3 `, S" n& f& H* {5 @% M2 o" [' f' d  n. r2 _) K* b* t: ^5 f
肖雪洁最后总结道:实现 RISC-V 和实现 WASM 时的差异要小得多,我们甚至认为能更轻易地在 RISC-V 中打造更高效的实现。没错,在一个或两个细节上,这里的一种技术(WASM 或 RISC-V)可能比另一种(RISC-V 或 WASM)更容易做实现,(但总体上讲)实际实现时它们并没有非常明显的难度差异,它们在实施时确实没那么大不同。
) w& v$ u9 @3 D" ~' `
1 h) R' G% g" ^" k& ?与此同时,选择区块链虚拟机时并不是只需要考虑高性能实现的难度。 使用 RISC-V,我们可以得到如下(WASM难以匹配)的好处:8 a0 s7 \! c; G5 {# \: L
$ ~4 C* t0 ~, j9 o- D# H- E, h# [
1.真实硬件来保证稳定的实现,而不是由浏览器供应商商定的版本位保证;: I% o+ i: b! c9 ?/ M% ]; o- [

3 Z9 r  g. K! E+ I9 |( p9 o2.稳定的上游 GNU 工具链以及正在进行的 LLVM 支持,而不是人员配置不足的 Emscripten;
( }- v" X8 k, A; O! k2 a" x9 N) }2 W6 W9 [+ B
   ; x% B+ `5 f  E2 U5 \8 ^8 r- b
2 P0 d' r. n4 R# n7 l2 E
3.具有尖端技术的规范,目前不限于 JS 引擎架构,例如 V 扩展;; k' q+ z5 t; i, f" _

9 X5 H8 `$ r5 l! s5 D0 p* j" G4.一个合理的运行时模型,一个更加自然,更能面向未来的运行时开销模型;
7 ?* C5 T/ f( r" @, V: u1 S6 Y$ q1 {8 ^9 u9 [
5.使用协处理器大大加速事务验证的潜力。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

哦也X5 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    25