区块链虚拟机,WASM 和 RISC

  • 时间:
  • 浏览:0
  • 来源:大发时时彩官网平台_大发时时彩网投平台_大发时时彩投注平台_大发时时彩娱乐平台

图片来源图虫:已授站长之家使用

编者按:本文来自 36 氪战略媒体相互合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载)

Nervos 将在旧金山做一场主题为「Say Hello to RISC-V」的活动,没想到活动有一种引起了区块链资深专家、Cosmos 项目顾问 Zaki Mania 的关注,并在推特上展开了一次非常有意思的讨论。讨论的焦点在于 Zaki 认为相比许多区块链项目选着 WebAssembly(WASM),他对 Nervos 用 RISC-V 指令集实现 VM 的你这人方案表示怀疑。

当我门我门把完全的讨论和相关的背景挂接,方便读者理解。

背景知识

首先,介绍一下本次讨论的两大主题——WebAssembly 和 RISC-V:

WebAssembly(WASM)是有一种新的编码最好的最好的办法,可不前要在现代的网络浏览器中运行,它是有一种低级的类汇编语言,具有紧凑的二进制格式,可不前要接近原生的性能运行,并为诸如 C/C++/Rust 等语言提供1个多编译目标,以便它们可不前要在 Web 上运行。WebAssembly 的开发团队分别来自 Mozilla、Google、Microsoft、Apple 等公司,标准由 W3C 组织制定,目前 WebAssembly 在以太坊下一代虚拟机(EWASM)以及 EOS、Dfinity 项目中被使用。

RISC-V 指令集是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),该项目开始英文了了 2010 年,由加州大学伯克利分校的 David Patterson 教授带领,目前肯能获得社区大力支持,RISC-V 是在指令集不断发展和心智心智心智性性成长期的句子 的基础上建立的全新指令。RISC-V 指令集完全开源,设计简单,易于移植 Unix 系统,模块化设计,完全工具链,同时有多量的开源实现和流片案例。

在 x86 和 ARM 垄断的当下,RISC-V 为新兴市场带来了许多曙光,许多国家的芯片设计、制造公司纷纷加入其基金会,参与到相关的生态建设中。作为在 CPU 上验证过的指令集架构,RISC-V 在区块链领域的确是1个多大胆的尝试,肯能它在区块链项目上打造的是虚拟机,而非处置器硬件。

发帖者 Zaki Mania 是区块链领域的早期投资人。他每个人 是 Trusted IoT 联盟 (该机构致力于 PoS 的安全研究)的执行董事、Cosmos的项目顾问、除此之外,他还是 Restore The 4th! 董事成员。

参与讨论的 @defmacro,是 Nervos 项目的核心工程师肖雪洁,也是 CKB-VM 的主要实现者,关于他实现的 Nervos 的虚拟机介绍请详见文章 《An Introduction to Nervos CKB-VM》[1]。

许多参与讨论的还有 Loom 首席研究员、Plasma 研究员 Georgios Konstantopoulos,SolanaLabs 的 CEO Anatoly Yakovenko,Qtum 开发者 Jordan Earls,Nervos 项目联合创始人 谢晗剑 等。

推特原文

内容摘要

Zaki Mania 首先提出疑问:对虚拟机用 RISC-V 比 WASM 更好表示严重怀疑。

过后 有 Loom 首席研究员 Georgios Konstantopoulos 跟帖,希望他完全评估下二者的优缺点。

Zaki Mania 补充说:RISC-V 是面向 Silicon(意指芯片)/ FPGA 设计的规范。在 x86,ARM,PowerPC 上进行高效仿真完全前要目标。而 WASM 是有一种独立于 ISA(开放指令集架构)的规范,可不前要在各种 CPU 上进行高效实现。WASM 有一种,是为编译而专门设计的,过后 在编译 x86 或 ARM 机器代码时,结果几乎与原生编译相同。过后 RISC-V 完全前要为了编译为 x86 和 ARM 而设计出来的。

肖雪洁对此提出不同看法:他质疑 WASM 什么功能比 RISC-V 更容易实现。WASM 相比 JS 更容易实现,但与 RISC-V 相比,看没有优势。肯能和构建有效的实现没有任何关系,这是生态系统。我同意 LLVM 对 WASM 的支持更好,但有两点前要指出——(1)RISC-V 支持 GCC,(2)RISC-V 的 LLVM 也仅仅前要打上去几只补丁。

仿真 RISC-V 的运行最好的最好的办法,正是 WASM 作为抽象虚拟机运行的最好的最好的办法,它们并无二致。

至于对方说的 WASM 是怎么都可以「专门设计」来应对你这人目标的?他在规范中看到,可不前要像 WASM 一样实现 RISC-V 实现。 JIT 不仅仅适用于 WASM。

过后 附文:《rv8:从 RISC-V 到 x86 的高性能二进制转换器》[2]。

经过数轮激烈讨论,不少人加入了争论:Tarun Chitra 着实二者都没有讨论范围:RISC-V 的软件绝不用与 WASM 开发中的资源竞争。

SolanaLabs 的 CEO Anatoly Yakovenko 反问 Zaki Mania:你可不前要想象第一根区块链去运行1个多网站? 肯能说一百万个独立节点同时运行? 对 Nervos 做出的巨大推动表示赞赏,当我门我门没有随大流。

Qtum 开发者 Jordan Earls 评论道:听起来它过高 WASM 的所有好处(超过任何随机 CPU 架构),同时也没有获得 x86 的生态系统优势,肯能 RISC-V 非常模糊。 看到原生的智能合约硬件,感觉很有趣。

Nervos 联合创始人谢晗剑说:在我看来,(RISC-V)针对硬件是一大益处。 Layer 1 区块链是例如硬件的软件,真难去升级。针对硬件设计的指令集恰好完全前要同样的属性。

Zaki Mania 总结:我是 RISC-V 的忠实粉丝,也不我原因都没有于共识层运行的代码。 编译器工具链将是一流的,(以 RISC-V 架构实现的) 硬件会广泛处在,但没有许多依赖于高性能和可靠的 x86 / ARM JIT 的用例

肖雪洁最后总结道:实现 RISC-V 和实现 WASM 时的差异要小得多,当我门我门甚至认为能更轻易地在 RISC-V 中打造更高效的实现。没错,在1个多或1个多细节上,这里的有一种技术(WASM 或 RISC-V)肯能比另有一种(RISC-V 或 WASM)更容易做实现,(但总体上讲)实际实现时它们并没有非常明显的难度差异,它们在实施时着实没没有大不同。

与此同时,选着区块链虚拟机时并完全前要只前要考虑高性能实现的难度。 使用 RISC-V,当我门我门可不前要得到如下(WASM难以匹配)的好处:

1.真实硬件来保证稳定的实现,而完全前要由浏览器供应商商定的版本位保证;

2.稳定的上游 GNU 工具链以及正在进行的 LLVM 支持,而完全前要人员配置过高 的 Emscripten;

3.具有尖端技术的规范,目前不限于 JS 引擎架构,例如 V 扩展;

4.1个多合理的运行时模型,1个多更加自然,更能面向未来的运行时开销模型;

5.使用协处置器大大加速事务验证的潜力。

期待今可不前要看到更多像完后 精彩的知识碰撞!

[1]https://medium.com/nervosnetwork/an-introduction-to-ckb-vm-9d95678a7757

[2]https://carrv.github.io/2017/papers/clark-rv8-carrv2017.pdf