白皮书重磅首发 | 微众银行区块链开源智能合约编程语言Liquid
共 1463字,需浏览 3分钟
·
2021-03-31 15:12
关注公众号并回复 【Liquid】
获取全文高清PDF
2020年4月20日,国家发展改革委首次明确新型基础设施建设(简称新基建)的范围,将区块链视为新基建的核心技术和自主创新的重要突破口。在近期发布的国家“十四五”规划纲要中,区块链也被列入数字经济重点产业,迎来发展“加速度”。具体到产业内容上,纲要明确指出推动智能合约、共识算法、加密算法、分布式系统等关键技术的创新。
作为连接区块链底层技术与现实业务的枢纽,智能合约在推动分布式应用繁荣发展的过程中扮演着重要角色。而在智能合约的开发过程中,其编程语言是开发者表达业务逻辑的抽象工具,也是构筑分布式应用的重要基石。
目前,业界已有Solidity语言、Move语言及DAML等常见的智能合约编程语言。然而,不断多样化、复杂化的应用场景给智能合约编程语言提出全新挑战:进一步重视数据隐私,智能合约下辖的数据需能够明确权限归属;分布式、不可篡改的执行环境要求智能合约具备更强的鲁棒性;日渐扩大的服务规模要求智能合约能够更加高效运行;为了提升开发效率,开发过程需要对开发者更加友好;不断涌现的跨链等新型计算范式要求能够直接提供原生抽象。常见的智能合约编程语言在这些方面均存在不同程度的局限性,制约了分布式应用的进一步发展。
微众银行区块链着眼于现有挑战,结合在区块链底层核心技术以及分布式商业应用落地的探索实践,提出涵盖安全(Security)、性能(Performance)、体验(Experience)及定制能力(Customization )四个方面的“SPEC”智能合约编程语言设计规范。
在“SPEC”设计规范的基础上,微众银行区块链推出全新的智能合约编程语言Liquid。
在安全方面,Liquid支持使用加密原语对数据进行隐匿,从而确保数据安全性;支持在智能合约的编译期及运行期全方位进行安全检测,从而提升逻辑鲁棒性。
在性能方面,Liquid通过优化执行引擎并结合并行化等技术,让智能合约的执行效率取得长足进步。
在体验方面,Liquid提供丰富的周边工具及资源,让智能合约的开发过程敏捷流畅。
在定制能力方面,通过宏扩展技术,Liquid能够在语言层提供分布式协作、跨链协同等编程模型,帮助开发者更加便捷地实现业务需求。
本文致力于以区块链智能合约为研究对象,对智能合约及编程语言的基本概念、存在的问题以及研究现状进行系统性梳理,并介绍Liquid的设计理念及关键实现细节,供智能合约开发者交流探讨。微众银行区块链秉承多方参与、资源共享、友好协作和价值整合的理念,将Liquid项目完全向公众开源,并在FISCO BCOS开源社区中成立了智能合约编译技术专项兴趣小组(CTSC-SIG),欢迎广大企业及技术爱好者踊跃参与Liquid项目共建。
文档地址:
GitHub代码库地址:
https://github.com/WeBankBlockchain/liquid
gitee代码库地址: