ASM:科普 | 波卡主要支持的WebAssembly(Wasm)是一种什么工具?

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第30期,了解一种便捷、安全的开发者工具WebAssembly。

人民数字FINTECH推出区块链科普动画:人民日报数字传播发布微博称,人民数字FINTECH出品《趣味科普|区块链动画》。[2020/3/31]

此前,关于使用Wasm进行区块链开发的话题,就引起了广泛的讨论。

EVM是区块链常用的虚拟机,也是以太坊的智能合约运行环境,虽然EVM的出现能使得开发人员更便捷的部署智能合约,但其也有很多局限性。

为了解决这些局限性,一些新兴的公链开始使用WebAssembly技术,那么这个WebAssembly是什么呢?

什么是WebAssembly?

WebAssembly,简称Wasm。官方的定义是:一个可移植、体积小、加载快并且兼容Web的全新格式。

动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]

准确来说,Wasm是一种为基于堆栈的虚拟机设计的二进制指令格式。Wasm被设计为用类似C/C++/Rust等高级语言的平台目标,从而可以在Web上部署客户端和服务器应用程序。

动态 | 浙江卫视节目科普支付宝区块链防伪溯源产品:昨日,在浙江卫视播出的科普综艺栏目《智造将来》现场,支付宝首次展示了支付宝区块链防伪溯源产品,以接地气的方式公开向大众展示区块链在生活中的应用。[2019/3/4]

Wasm是由万维网联盟创建和定义的,最早是为Web而推进的标准,还得到了谷歌、微软、苹果和Mozilla等厂商的支持。最初Wasm的设计目的是为了解决JavaScript的性能问题。

WebAssembly有什么特点?

WebAssembly作为一个编译目标而不是手写的几行代码,它能将C、C++、Java等编程语言编译为机器码,这个过程中省略了转换器。因此,Wasm有着快速高效、内存安全等特点,并且十分开放获得了许多开发者的喜爱。

声音 | 中科院姚建铨:要加快推进区块链与物联网融合的科普 培训:据新华网消息,日前,在区块链与物联网融合发展峰会上,中国科学院院士姚建铨说,关注区块链技术里面的大数据,跟区块链技术结合起来进行测量和检测,能更好地提升激光清洗技术。姚建铨建议,无锡今后要加快推进区块链与物联网融合的科普、培训,正确引导广大人民群众对技术的认知;同时,建立专业、权威,但又普适、成套的理论体系和标准,以此切入区块链的实际应用。[2018/9/18]

高效:Wasm有着一套完整的语义,它的二进制格式加载速度快并且能在很大程度上减小代码包的体积,最终凭借硬件能力以达到原生执行效率。

安全性:Wasm是运行在一个沙箱化的执行环境中,甚至可以和当前的Java虚拟机共享一套环境。通过严格遵守主机浏览器的权限策略和保持向后兼容性来实现Web环境中的安全性。

开放:首先Wasm具备人类可读的文本格式,这种非常规整的文本格式可以用来测试、实验、调试、学习、优化以及编写,并且Wasm的开放标准不受任何一家厂商控制。

为什么使用WebAssembly?

WebAssembly是一种与平台无关的二进制格式,这意味着它将在其操作的任何机器上运行相同的指令。区块链需要确定性,以便在点对点网络中的所有节点上有可靠的状态转换更新,而无需强制每个节点运行完全相同的硬件。

Wasm很适合在各种各样的机器中实现可靠性。Wasm既高效又快捷。这种效率意味着它可以作为一个代码块上传到链上,而不会造成太多的状态膨胀,同时保持其以接近原生速度执行的能力。

其次,硬分叉作为升级区块链的标准方法,由于需要离线协调的级别,所以这种升级速度缓慢、效率低下且容易出错,因此,它倾向于将许多升级捆绑到一个大规模事件中。

而将Wasm使用在基于Substrate框架的波卡或Kusama中,这些链能够升级其Runtime逻辑而无需硬分叉。通过在链上部署Wasm,并让节点在特定的块高度自动执行新逻辑,升级可以是小型的、孤立的、非常具体的。

后记

WebAssembly作为一个广泛支持的高性能标准,也得到了波卡创始人GavinWood的肯定,Gavin认为,“WebAssembly是智能合约的未来”。

这种格式还在快速发展的过程中,未来还会是分布式系统开发的基础。许多公链也在逐渐使用Wasm技术。而对于开发者而言,波卡智能合约可以用任何编译成Wasm的语言进行开发,而智能合约开发也会变得更加容易。

波卡是采用Wasm技术的,当然波卡还能兼容EVM,横跨新老技术的波卡其生态发展的后劲十足,值得期待。

欢迎大家加入我们Polkadot生态研究院的电报:https://t.me/polkadot_eri

欢迎大家访问波卡生态研究院的Mirror地址:https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:31ms0-0:896ms