为什么越来越多公链项目将WASM拥入怀中?
最近越来越多的项目开始转向VNT使用的WASM,像EOS、Ontology,包括最初引入虚拟机EVM运行智能合约环境的以太坊,最近也开始转向使用WASM。
什么是WASM?
WASM ,全称:WebAssembly ,是一种可以使用非 Java 编程语言编写代码并且能在浏览器上运行的技术方案,也是自 Web 诞生以来首个 Java 原生替代方案。
EVM虽然有着较高的兼容性,但需要预编译,同时需要付出gas作为代价,有着很高的编程成本,这种程序本质上都是脚本程序,即由程序翻译指令并执行,而不是由本地机器CPU读取指令并执行,因此效率非常低。而Java的操作相对重复繁琐,在执行过程中耗时较长。和EVM及Java 相比,WASM是谷歌、苹果、微软三大竞争公司同时支持的一种中间代码(字节码), 被所有流行浏览器支持。同时所有其他语言(c, c++, java)编写的程序都可以编译成WASM字节码,基于此建立的应用层生态不仅可以让开发人员有着非常低的学习成本, 而且有着高性能的标准。
WASM有哪些对开发者友好的特点?
无疑,WASM 拓展了智能合约开发者可用的编程语言,这意味着你可以使用任何你熟悉的编程语言开发智能合约,并有着诸多对开发者友好的特点,例如:
1. 性能高效:WASM采用二进制编码,在程序执行过程中的性能优越;
2. 存储成本低:相对于文本格式,二进制编码的文本占用的存储空间更小;
3. 多语言支持:用户可以使用 C/C++/RUST/Go等多种语言编写智能合约并编译成WASM格式的字节码。
VNT Chain(维特链)基于WASM有哪些创新?
VNT Chain采用的是由VNT_P(公有链)+VNT_C(联盟链)+VNT_I(跨链)的聚合链技术架构,其中VNT_P可运行被编译为WASM格式的智能合约,而无需关心智能合约的编写语言。正是因为看到WASM的诸多优势及未来前景,VNT技术支撑方云象在VNT Chain设计之初,,就确定了基于WASM开发VNT Chain虚拟机的技术方案。基于原生的WASM,VNT Chain进行了以下创新及改进:
1. 改造原生 WASM中多线程、浮点数、异常处理等导致计算非确定性的设计,确保计算的确定性;
2、扩展对string、address、hash等数据类型的支持;
3、扩展opcode以支持标准库的方法;
4. 增加燃料(Gas)机制,解决了智能合约中的停机问题;
5. 提供沙箱运行环境,实现资源隔离,保障系统的安全性;
6. 提供编写智能合约所需的各种语言的类库;
7、支持合约调试功能;
8、兼容自主设计智能合约编写语言-Q语言。
基于对WASM语言的应用以及优化改造,VNT Chain的智能合约模块具备更高的兼容性与性能,同时拥有更强的安全性与灵活性。尤其是VNT Chain首创的形式化自我验证能力编程语言,将语言本身的类型系统与数学定理系统结合,并将语言的类型验证与形式化验证结合,为智能合约形式化安全验证提供强有力的支持。
WASM从最初公布不被看好,到现在被广泛使用,我们可以肯定未来它将作为分布式应用开发的基础层被运用到越来越多项目中。
为什么越来越多公链项目将WASM拥入怀中?的更多相关文章
- NGK公链有发展前景吗?
最近网络中经常能看到一个新公链项目NGK的消息,很多朋友也都私下表示过,非常看好今年的NGK.对此,小编对NGK做了一些功课,发觉到NGK未来在商业Dapp应用的发展前景,下面就给大家分享一下我的理解 ...
- NGK公链脱颖而出,成为值得期待的项目!
当下2020年是动荡的一年,全世界经济危机汲汲可危,在这个特殊的时刻,有人抱怨说这是最坏的年代,也有人庆幸说这是最好的年代,历史不会重演,但总是惊人的相似,首先带你回顾一下上一次金融危机出现的2008 ...
- NGK公链DeFi发力,Baccarat项目引爆流动性挖矿热潮
DeFi市值屡创新高,在这条康庄大道上,人们摩拳擦掌,就像90年代美国西部淘金热一般.DeFi带来的流动性挖矿构成了今年加密货币一道靓丽的风景线,而人们手握的不再是当年的锄头铲子,而是一串代码. 随着 ...
- 韩国版微信Kakao推出公链,能否用区块链实现全球扩张?
2018年是属于区块链的一年,国内外巨头们纷纷布局区块链产业,前不久韩国最大的移动社交平台Kakao集团正式启动了旗下的第一个公链Klaytn的测试网. 此次宣布只是一次试探性举措,旨在对外公布Kla ...
- NGK公链:去中心化交易+挖矿生态体系共舞
NGK生态公链是一个安全.透明.专业的去中心化商业应用平台.作为一条具有技术信任甚至是公众信任的公链,NGK以区块链技术为支撑,利用区块链透明.公正.公开.数据不可篡改.分布式存储.可追溯等技术优势, ...
- Hoo Smart Chain 万物生长计划火热报名中,可视化公链迸发勃勃生机
在DeFi越来越趋向同质化和静态化时,Hoo Smart Chain决定充当破局者,宣布决定All In元宇宙,并于2022年3月份开启面向全球去中心化开发者的奖励计划--「万物生长计划」 目前Ter ...
- NGK公链生态所如何保障用户的数字资产隐私安全?
距离NGK生态所正式上线已经没剩下几天时间了,NGK全网算力总量正在持续猛增,NGK日活账户也在大幅度增多.可以看出,币圈的生态建设者们是十分看好NGK生态所的.那么,有这么多的生态建设者涌入NGK生 ...
- VAST助推NGK公链热度升温,日活超过以太坊!
在区块链市场,如果说过去是比特币和以太坊的时代,那么现在和未来绝对是NGK的时代. NGK公链的出现,让区块链市场看到了新的希望.它不仅仅是开放的和可编程的,而且是低Gas燃耗的,以及创新共识机制的. ...
- NGK生态所即将启程!助力NGK公链建立全方位区块链生态系统!
据NGK官方消息,NGK生态所将暂定于2月15日正式上线.据了解,这是全球首个基于公链打造的生态所,也是NGK生态重要的应用之一. 此前,NGK灵石团队CTO通过多方媒体透露,NGK生态所采用去中心化 ...
随机推荐
- Nk 1430 Divisors(因子数与质因数)
Time Limit: 5000 ms Memory Limit: 10000 kB Total Submit : 432 (78 users) Accepted Submit : 10 ...
- STL中heap用法
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; ]={,, ...
- Delphi+MySQL:TADOQuery使用插入中文乱码解决方法
Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...
- Java抓屏程序代码
原文:http://www.open-open.com/code/view/1422262655200 import java.awt.Dimension; import java.awt.Recta ...
- Linux索引节点(Inode:no space for device)用满导致的一次故障
问题描写叙述 在storm測试环境集群上上nimbus和supervisor自己主动挂调.重新启动时显示no space for device,也不能创建,加入文件及文件夹,df -h查看 ilesy ...
- 分布式搜索elasticsearch 基本概念
ElasticSearch官网:http://www.elasticsearch.org/ 先上一张elasticsearch的整体框架图: ElasticSearch是基于Lucene开发的分布式搜 ...
- [ACM] ZOJ 3725 Painting Storages (DP计数+组合)
Painting Storages Time Limit: 2 Seconds Memory Limit: 65536 KB There is a straight highway with ...
- 封装算法: 模板方法(Template Method)模式
template method(模板方法)模式是一种行为型设计模式.它在一个方法中定义了算法的骨架(这种方法被称为template method.模板方法),并将算法的详细步骤放到子类中去实现.tem ...
- 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
[微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已 ...
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
腾讯云图片鉴黄集成到C# 官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...