智能合约开发语?已经被Solidity统治了很?一段时间,?于开发可以在以太坊虚拟机EVM上运?的智能合约。不过,Solidity有?些严重的问题,包括算术溢出、类型错误以及曾经冻结了3亿美元的delegatecall漏洞。所有这些漏洞都是在开发语?层?存在的问题。换句话说,如果有?个更优越的开发语?,本应该创造出更安全的智能合约。因此,WebAssembly智能合约应运而生,知道创宇区块链安全实验室从技术安全的角度,带你快速探析备受欢迎的WebAssembly智能合约。什么是WebAssembly智能合约?
WebAssembly是?种为栈式虚拟机设计的?进制指令集。WASM被设计为可供类似C/C++/Rust等?级语?的平台编译?标。最初设计?的是解决JavaScript的性能问题。WASM是由W3C牵头正在推进的Web标准,并得到了?歌、微软和Mozilla等浏览器?商的?持。
国内首家社区型食物银行利用区块链技术解决“余量月饼”问题:金色财经报道,上海长宁区组织了一场“余量月饼大改造”,旨在利用食物银行解决余量月饼问题。国内首家社区型食物银行上海绿洲公益发展中心利用区块链技术,建立起了庞大的食物信息数据库,确保每一份进入循环利用网络的食物都是安全可靠的,既避免了浪费,也惠及了困难户。(北京青年报)[2021/9/21 23:39:54]
WASM具有运??效、内存安全、?未定义?为和平?等特点,经过了编译器和标准化团队多年耕耘,?前已经有了成熟的社区。在区块链领域,包括本体在内,当前已经有?些公链项?正准备?持使?WASM来运?智能合约。
WebAssembly简要来说有以下三个特点:?进制格式,不同于JavaScript代码的?本格式标准化,与JavaScript?样,实现了WebAssembly标准的引擎都可以运?WebAssembly,不管是在服务器端还是浏览器端快速,WebAssembly可以充分发挥硬件的能?,以后你甚?可以在WebAssembly中使?SIMD或直接与GPU交互当前的以太坊虚拟机按顺序处理交易。以太坊?络上的每个节点执?交易并将其存储在区块链上。为了允许通过分?进?PoS和并?交易处理,以太坊团队计划构建?个名为eWASM的新虚拟机。根据eWASM的规范:「要真正使以太坊作为世界计算机,我们需要有?个?常?性能的虚拟机。当前的虚拟机体系结构是原始性能的最?阻碍因素之?。WebAssembly的?标是利?各种平台上可?的通?硬件功能,以接近本机速度执?。这将为需要性能/吞吐量的各种?途打开??。」值得注意的是,eWASM不是?个智能合约开发语?,?是?个编译器的?成?标,它允许以太坊开发者使?其他语?开发智能合约并编译为以太坊接受的WebAssembly。eWASM是WebAssembly的?个安全?集,它是web平台上相对新出现的编译?标。?便的是,WASM模块可以在任何JavaScript项?中使?。对于?多数dApp应?代码来说,通常75%以上的代码根本都不是智能合约——?是使?JavaScript与智能合约进?通信的代码。ewasm和JavaScript使?同样的绑定和模块?持机制。为什么选择Rust构建WebAssembly?
动态 | 霍尼韦尔将利用区块链技术解决航空领域的产品假冒问题:霍尼韦尔(纽交所代码:HON)正在与iTRACE和SecureMarking合作,通过区块链技术为航空产品电商市场带来更高的透明度和安全性。(雅虎财经)[2019/12/18]
随着2017年底,四?浏览器?商全部完成对WebAssembly的初步实现,以及Webpackimplementingfifirst-classsupportforWebAssembly的消息公布,越来越多的团队在实现需求的时候将WebAssembly作为备选技术之?考虑。Rust作为语?是?种?效、可靠的通??级语?。其?效不仅限于开发效率,它的执?效率也是令?称赞的,是?种少有的兼顾开发效率和执?效率的语?。Rust速度惊?且内存利?率极?。由于没有运?时和垃圾回收,它能够胜任对性能要求特别?的服务,可以在嵌?式设备上运?,还能轻松和其他语?集成。在探讨WASM在智能合约领域的巨?潜?时,前?提到WASM的??优势就是?持有影响?的新锐编程语?,例如Rust。使?Rust编写WASM具有如下优势:可预?的性能没有难以预料的GC暂停,也没有JIT编译器造成性能抖动,只有底层控制与上层?体?程学的完美结合。更?的代码代码尺?越?,??加载速度就越快。Rust?成的wasm模块不含类似于垃圾回收器这样的额外成本。?级优化和TreeShaking优化可移除??代码。?态友好充满活?的库?态系统助您旗开得胜。Rust拥有丰富的表达能?和零成本的抽象,以及助?您学习的友好社区。Rust编译器?前?持两个wasm关联的?标(target):wasm32-unknown-unknown。此?标直接使?llvm后端编译成wasm。它适合纯rust代码编译,譬如你没有C依赖的时候。跟emscripten?标?起来,它默认就?成更加洗练的代码,?且也便于设置搭建。wasm32-unknown-emscripten。此?标利?emscripten?具链编译成wasm。当你具有C依赖的时候就得使?它了,包括libc。wasm32-unknown-unknown?分有望将新?的Rust代码融?JS项?中。Rust&WebAssembly(WASM)安全
动态 | “相互宝”用户超1亿 通过蚂蚁区块链技术解决信任问题:11月27日,据蚂蚁金服官方消息,截至今天,全国已有超1亿人加入了支付宝上的大病互助计划“相互宝”。据悉,相互宝通过区块链公开、透明、不可篡改等技术特点,保证不会有保和赖账的情况发生。文中称,在相互宝里,1亿人获得保障的同时,累计救助了身患重病者1万多人;半数受助者是时光正好的年轻人,80后和90后;1/3成员来自农村和县域,近6成来自三线及以下城市。[2019/11/27]
Rust被证明是可?于?型的、拥有不同层次系统编程知识的开发者团队间协作的?效?具。底层代码中容易出现种种隐晦的BUG,在其他编程语?中,只能通过?量的测试和经验丰富的开发者细?的代码评审来捕获它们。在Rust中,编译器充当了守?员的??,它拒绝编译存在这些难以捕获的BUG的代码,这其中包括并发BUG。使?Rust构建的区块链项?上,Libra可以说知名度最?,在实现语?上,Libra(已更名为Diem)项?选择了?个?常?众但宣称安全性突出的语?RUST。然?,宣称的安全不表示实际上的安全。过于?众的语?往往缺乏?时间的锤炼,导致隐藏的问题较多。再安全的语?也?法确保实现的安全,漏洞常常来?代码实现过程,来?于?。RUST社区也在讨论随机数?成函数的安全升级。所以RUST语?虽然具有安全的特?,但是并不完美,不排除有可能成为Libra项?的阿喀琉斯之踵。最后,过于依赖RUST语?有可能带来单?性依赖问题,如果RUST语?出现安全问题,则会波及整个Libra系统,这?点可能需要时间来解决,毕竟Libra出现时间尚短,需要时间来实现必要的多样化部署。虽然Rust在编译时会强制执?的内存安全保证。然?,Rust还隐藏有第?种语?,它不会强制执?这类内存安全保证:这被称为不安全Rust。它与常规Rust代码?异,但是会提供额外的超级?量。??说有?个u8,它可以存放从零到255的值。那么当你将其修改为256时会发?什么呢?这被称为「整型溢出」,关于这??为Rust有?些有趣的规则。当在debug模式编译时,Rust检查这类问题并使程序panic,这个术语被Rust?来表明程序因错误?退出。
金色财经现场报道 ConsenSys创始人宣布了从根本上简化企业使用区块链技术解决方案:金色财经现场报道,今日在Coindesk 2018共识会议上,ConsenSys创始人Joseph Lubin宣布了从根本上简化企业使用区块链技术的ConsenSys解决方案,他表示这将改变我们如何共同建设社会,经济和系统。[2018/5/15]
在release构建中,Rust不检测溢出,相反会进??种被称为?进制补码包装的操作。简??之,256变成0,257变成1,依此类推。
近?年,Rust语?以极快的增?速度获得了?量关注。其特点是在保证?安全性的同时,获得不输C++/C++的性能,让系统编程领域难得的出现了充满希望的新选择。在Rust被很多项?使?以后,其实际安全性表现到底如何呢?前?有?篇专?针对Rust安全的研究成果,针对近?年使?Rust语?的开源项?中的安全缺陷进?了全?的调查。这项研究调查了5个使?Rust语?开发的软件系统,5个被?泛使?的Rust库,以及两个漏洞数据库。调查总共涉及了850处unsafe代码使?、70个内存安全缺陷、100个线程安全缺陷。不安全Rust之所以存在,是因为静态分析本质上是保守的。当编译器尝试确定?段代码是否?持某个保证时,拒绝?些有效的程序?接受?效程序要好?些。这必然意味着有时代码可能是合法的,但是Rust不这么认为!在这种情况下,可以使?不安全代码告诉编译器,「相信我,我知道我在?什么。」这么做的缺点就是你只能靠??了:如果不安全代码出错了,?如解引?空指针,可能会导致不安全的内存使?。另?个Rust存在不安全??的原因是:底层计算机硬件固有的不安全性。如果Rust不允许进?不安全操作,那么有些任务则根本完成不了。Rust需要能够进?像直接与操作系统交互,甚?于编写你??的操作系统这样的底层系统编程!总结
小米于去年4月已进军区块链领域 曾首推以区块链技术解决营销痛点:近日,有媒体发现小米在某招聘网站上招聘区块链开发工程师与区块链专家,并配文小米疑似进军区块链领域,据调查发现,其实小米公司于2017年4月便公开表示进军区块链,并在《探索程序化广告区块链解决方案》主题演讲中提出了基于区块链的营销解决方案,以解决程序化广告领域长期存在的痛点问题,小米 MIUI商业产品部数据业务负责人周茂华曾表示“小米做为一家数据源极其丰富的公司,极其关注用户隐私和数据安全。我们是使用区块链和密码学技术来促进行业数据协作,打破数据孤岛的先锋。既要实现数据资产的最大幅度保护,也要促进数据的流动,为营销行业提供价值。”[2018/2/24]
不安全的Rust直接影响了以Rust构建的WASM智能合约的安全性,例如可能的整数溢出,导致转账?额前后出现巨?偏差等。好在编译器充当了守?员的??,它拒绝编译存在这些难以捕获的BUG甚?是安全性的代码。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。