智能合约是区块链应用业务逻辑的载体。要实现企业级应用的落地,则需要智能合约引擎,而其必备的特质有:完备的业务功能、可确定性、可终止性、完备的升级方案等。

最早是以太坊将支持Solidity语言的EVM执行引擎引入区块链中,拉开了区块链2.0的序幕,但因其合约语言本身在语言成熟度、生态工具、复杂合约编写性能等方面具有一定局限性,导致无法满足很多大规模商业应用场景。

因此趣链区块链平台首创了支持Java语言的智能合约执行引擎HVM(HyperVM),在保证智能合约执行的安全性、确定性、可终止性的前提下,提供了一系列灵活应用模式、工具方法集,以满足复杂多样的业务场景需求,面向广泛的区块链开发人员提供更便捷、灵活、安全的区块链应用开发模式。

下面展开讲讲我们的智能合约执行引擎HVM的设计模式。

符合Java编写范式的账本数据结构
基于账户模型的区块链平台,智能合约通常作为操作账本数据的载体,底层账本数据其实是一系列的KV(Key-Value)键值对集合。为了符合Java软件开发者习惯,使其无需感知区块链底层KV结构即可编写相应业务逻辑代码,HVM设计了符合Java编写范式的数据结构:HyperMap和HyperList。

HyperMap和HyperList的使用类似于开发者所熟知的HashMap和ArrayList,但做了原创性地优化,在减少内存使用的同时也提高了更新账本的插入效率。实测表明在持续增长的大数据量场景中HVM性能表现良好。

内置数据表结构HyperTable
为了满足复杂业务场景下数据类型多样化、业务数据可视化与可分析的需求,智能合约需要支持复杂的表结构数据组织形式。HVM提供了内置数据结构HyperTable,支持在合约内部按照表的形式组织业务数据,便于业务数据可视化以及后续的数据分析与价值挖掘。HyperTable是一种类似Hbase的多层级列簇表结构,这种结构可以让原Solidity语言中复杂嵌套的数据操作简单化,同时在性能方面,能有效解决序列化、反序列化造成的性能瓶颈,整体维护成本更低、使用更高效。

丰富的工具方法集
工欲善其事,必先利其器。一个好的工具方法集可以让应用开发更高效。HVM内置了完备的工具方法集,支持编码格式转换、基于TEE的数据加解密、日志等功能,为开发者提供了更友好的开发体验。

日志工具类:日志在应用开发过程中的作用至关重要,能帮助开发者快速定位和发现问题。由于EVM未对出现的异常进行详细定位,给编译调试造成极大的难度。而HVM通过内置日志工具类,可以为每种常见的错误进行合理的提示,并支持不同日志级别的输出,方便开发和运维快速定位问题。

加解密工具:有些业务场景可能需要在智能合约中进行签名验签逻辑处理,从而进行身份认证,便于进行权限判断或者后续业务的开展。因此HVM设计了基于TEE[1]的加解密工具,支持在合约中调用存储于TEE的公私钥完成签名、验签操作,并支持ECDSA、SM国密等多种算法,具有方便、友好、安全的特性。

分层调用模式
鉴于智能合约升级代价极高,HVM提供了更为灵活的分层合约调用方式:业务调用层可以灵活的定义丰富的业务逻辑,可以在不更新合约的情况下更新业务逻辑,合约层只实现最核心、最基本的原子操作。以转账场景为例,合约层只有增加余额和减少余额的方法,在调用层定义转账的逻辑:如余额是否充足、减少转让方余额和增加接收方余额。同时,HVM保证了调用层逻辑的原子性,从而保证了业务应用的可用性和可靠性。

安全沙盒和计步器机制
HVM通过安全沙盒模式和计步器机制保证智能合约的确定性和可终止性。确定性是指一段程序在不同的计算机、或者在同一台计算机上的不同时刻多次运行,最终执行结果都是一致的。可终止性是指一段程序能在有限时间内结束运行。区块链系统需要保证分布式账本的强一致性,因此执行引擎需要有完善的机制保证最终执行结果的可确定性。HVM采用安全沙盒模式以及计步器机制保证智能合约的确定性和可终止性。

很多区块链平台采用计时器也即超时机制保证合约的可终止性,但是在分布式系统中,节点的执行时长受限于每个节点自身性能和负载,因此不同的节点往往超时时间并不一样,导致最终执行结果的不一致性,大大降低系统可用性。

HVM通过资源隔离的方式,即:禁用如IO访问、系统调用等不确定的系统操作来保障合约执行环境的安全性。同时通过计步器机制,HVM的每一步执行指令和资源申请都需要消耗相应的Gas[2],使得相同的操作集合最终消耗的Gas值一致,从而保证了所有的执行不会受到服务器性能的影响,最终执行结果是确定一致的。

HVM与EVM对比分析
下图为HVM和EVM在功能、性能方面的对比分析,可看出HVM在合约安全性、开发环境、支持功能、大数据量支持、性能等方面均明显优于EVM。

最强易用性?趣链科技智能合约引擎是怎样炼成的相关推荐

  1. 时艳强对话杨霞:智能合约的安全bug,有可能让你的资产瞬间归零

    [时点对话]第84期:时艳强对话杨霞 对话时间:6月12日20:00 微信社群:布洛克-北京-668 对话嘉宾: 杨霞 成都链安科技CEO&创始人 电子科技大学副教授 时艳强 布洛克财经创始人 ...

  2. 趣链科技李伟:我们高估了区块链五年的价值,也低估了它未来二十年的影响力...

    出生于1983年的李伟,看起来比实际年龄要年轻很多,这可能和他的心态有关.采访的过程中,他爽朗的笑声.坦率的表达和跳跃的思维,让我们感受到了这个浙大计算机博士在严谨理性之外,还有率真幽默的一面. 从2 ...

  3. 关于金融区块链,这是我们和趣链科技的一场对谈

    区块链来到2019年,行业热度看似有所降温,实际上却是这门新技术开始下一次淬炼的时点. 今年3月30日,首批区块链信息服务备案企业名单正式出炉,区块链技术终于迈出规范化的第一步.其中,"区块 ...

  4. 关于金融区块链,这是我们和趣链科技的一场对谈...

    区块链来到2019年,行业热度看似有所降温,实际上却是这门新技术开始下一次淬炼的时点. 今年3月30日,首批区块链信息服务备案企业名单正式出炉,区块链技术终于迈出规范化的第一步.其中,"区块 ...

  5. 陀螺专访 | 趣链科技张帅:新基建“风口”下,区块链产业有哪些发展机遇?...

    引言:在4月20日的国家发改委新闻发布会上,发改委首次明确区块链属于"新基建"范围,这无疑对于区块链产业的发展是重大的利好.联想到近期曝光的央行数字货币正在农行.中行等银行体系内部 ...

  6. 趣链科技BlocFace平台全量通过可信区块链BaaS评测

    7月13日,由中国信息通信研究院.可信区块链推进计划共同主办,中国互联网协会区块链技术应用工作委员会协办的"2021可信区块链生态大会"在北京隆重举行.会上,通过资料审核.测试报告 ...

  7. 亚洲第六家乐高品牌旗舰店将在广州开业;趣链科技成为区块链独角兽企业;KPS将收购欧洲最大金属包装企业之一 | 美通企业周刊...

    一周企业资讯看点:亚洲第六家乐高品牌旗舰店将在广州开业.趣链科技成为区块链独角兽企业.KPS将收购欧洲最大金属包装企业之一.和黄医药获霸菱亚洲1亿美元股权投资.百济神州广州生物药生产基地首获批准开展商 ...

  8. 舍弃Kong和Nginx,Apache APISIX 在趣链科技 BaaS 平台的落地实践

    本文介绍了 Apache APISIX 在趣链科技 BaaS 平台中的落地实践情况,以及趣链科技在众多网关应用中选择 Apache APISIX 的原因. " 业务背景 BaaS(Block ...

  9. 趣链科技张帅:多种技术交叉融合助推区块链应用开拓全新局面 | FBEC 2019专访...

    「升格」是FBEC 2019暨第四届金陀螺奖特设的访谈专栏,接下来我们将对入围金陀螺奖的杰出行业代表进行一系列的专访,旨在联合全球优质区块链技术项目.行业先锋人物和领军企业,全面解构区块链行业的技术革 ...

最新文章

  1. 网站防火墙探测工具Wafw00f
  2. MySQL如何从开源中获利
  3. Linux基础 -- 命令执行顺序控制与管道
  4. Java高效读取大文件
  5. mysql触发器好用吗_为什么大家都不推荐使用MySQL触发器而用存储过程?
  6. jQuery-动画点击淡化消失
  7. Python SQLAlchemy入门教程
  8. 浅尝boost之format
  9. android 开源项目列表【持续整理中。。。】
  10. JDK的bug导致Java文件删除不了,必须fgc
  11. 博客迁移至: http://www.cleocn.com
  12. Python中系统命令
  13. 生物信息学的研究方向
  14. iOS的音频文件的格式转换
  15. linux锐捷代码_告诉你Ubuntu Linux锐捷安装方法及命令
  16. 手机号电子邮箱怎么填写?
  17. 花生壳 动态域名 ssh
  18. 种群竞争模型 --- (Lotka-Volterra模型) Logistic回归
  19. Typescript系列(一):TS入门教程之简介、安装、编译、监听
  20. LRTimelapse Pro Mac(延时摄影软件) v5.1.1破解版

热门文章

  1. VR元宇宙展会,带来全新线上展厅沉浸式体验
  2. fedora 16 linux 配置 MP3 RMVB 解码器
  3. Java 通过已知点的经纬度,相对角度,距离计算另一点的经纬度
  4. mysql解析json/数组
  5. Django by Example·第二章|Enhancing Your Blog with Advanced Features(为博客系统添加高级功能)@笔记
  6. 以色列通过空袭回应哈马斯的黑客攻击
  7. 深度强化学习系列(1): 深度强化学习概述
  8. java 图片格式转化 wmf,emf 转 svg,png
  9. 关于List<Map<String, Object>>个人理解
  10. ndk 的emac_RTOS|AM437x 多网口(CPSW和PRU-ICSS)NDK TCP通讯问题