织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

技术解析 WebAssembly 智能合约特点与安全性

时间:2021-04-26 09:01来源:未知 作者:admin 点击:
原文标题:《知道创宇区块链安全实验室 |一文读懂 WebAssembly (WASM)智能合约》 撰文:知道创宇区块链安全实验室 智能合约开发语⾔已经被 Solidity 统治了很⻓一段时间,⽤于开发可

原文标题:《知道创宇区块链安全实验室 |一文读懂 WebAssembly (WASM)智能合约》
撰文:知道创宇区块链安全实验室

智能合约开发语⾔已经被 Solidity 统治了很⻓一段时间,⽤于开发可以在以太坊虚拟机 EVM 上运⾏的智能合约。不过,Solidity 有⼀些严重的问题,包括算术溢出、类型错误以及曾经冻结了 3 亿美元的 delegatecall 漏洞。所有这些漏洞都是在开发语⾔层⾯存在的问题。换句话说,如果有⼀个更优越的开发语⾔,本应该创造出更安全的智能合约。因此, WebAssembly (WASM)智能合约应运而生知道创宇区块链安全实验室从技术安全的角度,带你快速探析备受欢迎的 WebAssembly (WASM)智能合约 。

什么是 WebAssembly (WASM)智能合约?

WebAssembly (简称 WASM )是⼀种为栈式虚拟机设计的⼆进制指令集。WASM 被设计为可供类似 C/C++/Rust 等⾼级语⾔的平台编译⽬标。最初设计⽬的是解决 JavaScript 的性能问题。WASM 是由 W3C 牵头正在推进的 Web 标准,并得到了⾕歌、微软和 Mozilla 等浏览器⼚商的⽀持。

技术解析 WebAssembly 智能合约特点与安全性

WASM 具有运⾏⾼效、内存安全、⽆未定义⾏为和平台独⽴等特点,经过了编译器和标准化团队多年耕耘,⽬前已经有了成熟的社区。在区块链领域,包括本体在内,当前已经有⼀些公链项⽬正准备⽀持使⽤ WASM 来运⾏智能合约。

技术解析 WebAssembly 智能合约特点与安全性

WebAssembly 简要来说有以下三个特点 :

  • ⼆进制格式,不同于 JavaScript 代码的⽂本格式
  • 标准化,与 JavaScript ⼀样,实现了 WebAssembly 标准的引擎都可以运⾏ WebAssembly,不管是在服务器端还是浏览器端
  • 快速,WebAssembly 可以充分发挥硬件的能⼒,以后你甚⾄可以在 WebAssembly 中使⽤ SIMD 或直接与 GPU 交互

当前的以太坊虚拟机按顺序处理交易。以太坊⽹络上的每个节点执⾏交易并将其存储在区块链上。为了允许通过分⽚进⾏ PoS 和并⾏交易处理 , 以太坊团队计划构建⼀个名为 eWASM 的新虚拟机。

根据 eWASM 的规范 :「要真正使以太坊作为世界计算机 , 我们需要有⼀个⾮常⾼性能的虚拟机。当前的虚拟机体系结构是原始性能的最⼤阻碍因素之⼀。WebAssembly 的⽬标是利⽤各种平台上可⽤的通⽤硬件功能 , 以接近本机速度执⾏。这将为需要性能 / 吞吐量的各种⽤途打开⼤⻔。」

值得注意的是,eWASM 不是⼀个智能合约开发语⾔,⽽是⼀个编译器的⽣成⽬标,它允许以太坊开发者使⽤其他语⾔(例如 Rust、C++ 等)开发智能合约并编译为以太坊接受的 WebAssembly。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容