首页 资讯 正文

白皮书重磅首发:微众银行区块链开源智能合约编程语言Liquid

微众银行区块链 2021年03月31日 17:32

2020年4月20日,国家发展改革委首次明确新型基础设施建设(简称新基建)的范围,将区块链视为新基建的核心技术和自主创新的重要突破口。在近期发布的国家“十四五”规划纲要中,区块链也被列入数字经济重点产业,迎来发展“加速度”。具体到产业内容上,纲要明确指出推动智能合约、共识算法、加密算法、分布式系统等关键技术的创新。

作为连接区块链底层技术与现实业务的枢纽,智能合约在推动分布式应用繁荣发展的过程中扮演着重要角色。而在智能合约的开发过程中,其编程语言是开发者表达业务逻辑的抽象工具,也是构筑分布式应用的重要基石。

目前,业界已有Solidity语言、Move语言及DAML等常见的智能合约编程语言。然而,不断多样化、复杂化的应用场景给智能合约编程语言提出全新挑战:进一步重视数据隐私,智能合约下辖的数据需能够明确权限归属;分布式、不可篡改的执行环境要求智能合约具备更强的鲁棒性;日渐扩大的服务规模要求智能合约能够更加高效运行;为了提升开发效率,开发过程需要对开发者更加友好;不断涌现的跨链等新型计算范式要求能够直接提供原生抽象。常见的智能合约编程语言在这些方面均存在不同程度的局限性,制约了分布式应用的进一步发展。

微众银行区块链着眼于现有挑战,结合在区块链底层核心技术以及分布式商业应用落地的探索实践,提出涵盖安全Security)、性能Performance)、体验Experience)及定制能力Customization )四个方面的“SPEC”智能合约编程语言设计规范。

在“SPEC”设计规范的基础上,微众银行区块链推出全新的智能合约编程语言Liquid。

在安全方面,Liquid支持使用加密原语对数据进行隐匿,从而确保数据安全性;支持在智能合约的编译期及运行期全方位进行安全检测,从而提升逻辑鲁棒性。

在性能方面,Liquid通过优化执行引擎并结合并行化等技术,让智能合约的执行效率取得长足进步。

在体验方面,Liquid提供丰富的周边工具及资源,让智能合约的开发过程敏捷流畅。

在定制能力方面,通过宏扩展技术,Liquid能够在语言层提供分布式协作、跨链协同等编程模型,帮助开发者更加便捷地实现业务需求。

本文致力于以区块链智能合约为研究对象,对智能合约及编程语言的基本概念、存在的问题以及研究现状进行系统性梳理,并介绍Liquid的设计理念及关键实现细节,供智能合约开发者交流探讨。微众银行区块链秉承多方参与、资源共享、友好协作和价值整合的理念,将Liquid项目完全向公众开源,并在FISCO BCOS开源社区中成立了智能合约编译技术专项兴趣小组(CTSC-SIG),欢迎广大企业及技术爱好者踊跃参与Liquid项目共建。

文档地址:

https://liquid-doc.readthedocs.io/zh_CN/latest/

GitHub代码库地址:

https://github.com/WeBankBlockchain/liquid

gitee代码库地址:

https://gitee.com/WeBankBlockchain/liquid