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

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

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

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

国务院:推进科普与区块链技术深度融合:为贯彻落实党中央、国务院关于科普和科学素质建设的重要部署,依据《中华人民共和国科学技术进步法》、《中华人民共和国科学技术普及法》制定《全民科学素质行动规划纲要(2021-2035年)》,其中要求实施智慧科普建设工程。推进科普与区块链等技术深度融合,强化需求感知、用户分层、情景应用理念,推动传播方式、组织动员、运营服务等创新升级,加强“科普中国”建设,强化科普信息落地应用,与智慧教育、智慧城市、智慧社区等深度融合。(新华社)[2021/7/10 0:40:52]

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

人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]

什么是WebAssembly?

动态 | 报告:区块链等热点词促使童书科普百科类成交额同比增速最高:近日,京东图书与艾瑞咨询联合发布了《2019中国图书市场报告》。报告指出,AI、5G、区块链、机器人、VR、智能家居、AR这些热点词,不断点燃科技热潮,科技在改变大众生活的同时,也吸引了越来越多家长的关注,从小培养孩子对科技的兴趣和热爱。因此童书中科普百科类成交额同比增速最高,占比将近40%。[2020/1/8]

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

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

中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]

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

WebAssembly有什么特点?

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

高效: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:0ms0-3:594ms