Liquid¶
不断多样化、复杂化的应用场景为智能合约编程语言带来了全新挑战:分布式、不可篡改的执行环境要求智能合约具备更强的隐私安全性与鲁棒性;日渐扩大的服务规模要求智能合约能够更加高效运行;智能合约开发过程需要对开发者更加友好;对于跨链协同等不断涌现的新型计算范式,也需要能够提供原生抽象。在上述背景下,微众银行区块链团队提出了 SPEC 设计规范,即智能合约编程语言应当涵盖安全(Security)、性能(Performance)、体验(Experience)及可定制(Customization) 四大要旨。
微众银行区块链团队结合对智能合约技术的理解与掌握,选择以 Rust 语言为载体对 SPEC 设计规范进行工程化实现,即 Liquid 项目。Liquid 对 SPEC 设计规范中的技术要旨提供了全方位支持,能够用来编写运行于区块链底层平台 FISCO BCOS 的智能合约。
关键特性¶
安全
S
ecurity
- 支持在智能合约内部便捷地编写单元测试用例,可通过内嵌的区块链模拟环境直接在本地执行
- 内置算数溢出及内存越界安全检查
- 能够结合模糊测试等工具进行深度测试
- 未来将进一步集成形式化验证及数据隐私保护技术
高效
P
erformance
- 配合LLVM优化器,支持将智能合约代码编译为可移植、体积小、加载快Wasm格式字节码
- 结合Tree-Shaking等技术,能够进一步压缩智能合约体积
- 对Wasm执行引擎进行了深度优化,支持交易并行化等技术
体验友好
E
xperience
- 支持使用大部分现代语言特性(如移动语义及自动类型推导等)
- 提供专有开发工具及编辑器插件辅助开发,使智能合约开发过程如丝般顺滑
- 丰富的标准库及第三方组件,充分复用已有功能,避免重复开发
定制能力
C
ustomization
- 能够根据业务需求对编程模型、语言文法的进行深度定制
- 未来将进一步探索如何与跨链协同等编程范式相结合