Liquid

不断多样化、复杂化的应用场景为智能合约编程语言带来了全新挑战:分布式、不可篡改的执行环境要求智能合约具备更强的隐私安全性与鲁棒性;日渐扩大的服务规模要求智能合约能够更加高效运行;智能合约开发过程需要对开发者更加友好;对于跨链协同等不断涌现的新型计算范式,也需要能够提供原生抽象。在上述背景下,微众银行区块链团队提出了 SPEC 设计规范,即智能合约编程语言应当涵盖安全(Security)、性能(Performance)、体验(Experience)及可定制(Customization) 四大要旨。

微众银行区块链团队结合对智能合约技术的理解与掌握,选择以 Rust 语言为载体对 SPEC 设计规范进行工程化实现,即 Liquid 项目。Liquid 对 SPEC 设计规范中的技术要旨提供了全方位支持,能够用来编写运行于区块链底层平台 FISCO BCOS 的智能合约。

关键特性

介绍 - 图1

  • 提供线性资产模型确保链上资产类应用具备金融级安全性
  • 支持在智能合约内部便捷地编写单元测试用例,可通过内嵌的区块链模拟环境直接在本地执行
  • 内置算数溢出及内存越界安全检查
  • 能够结合模糊测试等工具进行深度测试
  • 未来将进一步集成形式化验证及数据隐私保护技术

介绍 - 图2

  • 配合LLVM优化器,支持将智能合约代码编译为可移植、体积小、加载快Wasm格式字节码
  • 结合Tree-Shaking等技术,能够进一步压缩智能合约体积
  • 对Wasm执行引擎进行了深度优化,支持交易并行化等技术

介绍 - 图3

  • 支持使用大部分现代语言特性(如移动语义及自动类型推导等)
  • 提供专有开发工具及编辑器插件辅助开发,使智能合约开发过程如丝般顺滑
  • 丰富的标准库及第三方组件,充分复用已有功能,避免重复开发

介绍 - 图4

  • 能够根据业务需求对编程模型、语言文法的进行深度定制。目前已集成可编程分布式协作编程模型
  • 未来将进一步探索如何与跨链协同等编程范式相结合

合作共建

微众银行区块链团队秉承多方参与、资源共享、友好协作和价值整合的理念,将Liquid项目完全向公众开源,并专设有智能合约编译技术专项兴趣小组(CTSC-SIG),欢迎广大企业及技术爱好者踊跃参与Liquid项目共建。