0980-34530054
0980-34530054
时间:2024-09-24 点击数:
ChainMind是趣链科技产品团队打造出的新栏目,由区块链行业最前线的产品经理,持续为你带给前沿的行业洞察、产品思维。本文是ChainMind的第三篇文章。”今天和大家共享下趣链科技的智能合约引擎,它已在中国信通院可靠区块链评测中展现出出有了出色的易用性。
智能合约是区块链应用于业务逻辑的载体。要构建企业级应用于的落地,则必须智能合约引擎,而其不可或缺的特质有:完善的业务功能、可确定性、可中止性、完善的升级方案等。
最先是以太坊将反对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确保了调用层逻辑的原子性,从而确保了业务应用于的可用性和可靠性。
本文来源:开云(中国)Kaiyun·官方网站,开云(中国)Kaiyun-www.rosylink.com