关键词:
区块链
供应链物流
智能合约
形式化验证
模型检测
摘要:
区块链技术以其交易共识、账本同步、链上信息不可篡改等特性,为企业间业务协同创造了一种全新的业务执行模式,依托区块链平台可实现在多个不同的利益实体间高效地协同业务、可信地执行交易、安全地共享数据,既可提升效率,又可保证公平。但在区块链技术与产业应用结合的具体实践中,仍存在许多需要解决的新问题,一方面是区块链上的交易数据的隐私与安全问题,链上公开交易结果及交易细节,商业应用面临新的安全挑战;另一方面,业务的实现依靠智能合约,合约的逻辑合理性、功能完善性等需要予以保证,可信、公平的业务面临着新风险。针对上述问题,本文围绕区块链技术的产业应用,从支持智能合约运行的区块链平台和支持业务实现的智能合约两个方面着手,研究了面向产业应用的区块链平台建设和保障智能合约正确性的形式化验证等工作,主要研究内容如下:(1)研究了区块链技术支持特定产业应用的网络架构设计、数据存储机制、业务系统运维等问题。结合产业业务需求,提出在网络架构上,设计具有层级化的组织结构,以证书链的模式关联网络上节点的数字身份与现实身份,保证业务参与者在链上的活动可控、可监管;在数据存储上,设计单链多账本模式,将节点计算资源虚拟划分加入不同业务域中,维护业务账本一致性,保证业务数据不会被无关节点获取;在业务运维上,设计自底向上的权限管理模式,从区块链网络、智能合约、业务交互,三个层次对业务操作者进行管理。(2)研究了基于区块链技术的供应链物流产业应用实现,从参与业务实体与实体间的交互关系上,分析传统供应链物流业务场景,提出了基于区块链的业务实现方案;依据业务参与实体的不同,将整个业务过程分为供需匹配、合同签订、货物运输三个阶段,并针对供应链物流业务在各阶段需要达成的业务目标,开发执行区块链业务交易操作的智能合约。借助Fisco Bcos区块链平台,搭建符合业务需求的区块链网络,完成合约部署测试工作。(3)研究了智能合约业务设计完备性的形式化验证方案及验证实现。为了保证智能合约能够正确实现业务需求,采用模型检测的形式化验证方法,在系统建模上,基于有穷自动机模型,从合约业务实现的角度,抽象提取合约状态集合、状态间迁移关系、状态间迁移条件,并以此构造带约束的确定自动机模型,形式化建模合约业务模型;在属性规约上,采用时序逻辑描述合约需要满足的业务属性,并提出状态、变换覆盖的属性完整性设计要求。最后,基于上述建模方案,选用Nu XMV模型检测工具,验证了所编写的智能合约业务设计完备性。(4)研究了基于区块链平台支持业务交易功能实现机制下的智能合约执行正确性的形式化验证方案及验证实现。智能合约业务执行的正确性依赖于区块链平台(系统级)交易共识等的支持,及合约代码层面(应用级)交易执行正确性的保证。依托交易在区块链上的执行流程,以用户进程、节点交易池进程、交易打包、区块执行、合约执行多个交错并发执行的进程,共同建模区块链业务执行系统模型,从系统属性和业务属性两个方面,设计相应的属性规约。最后,基于上述建模方案,选用SPIN模型检测工具,验证了在区块链平台支持下的合约执行正确性问题。