论文部分内容阅读
区块链是一项融合多种底层技术的交叉应用技术,其中最为核心的技术包括密码学、分布式计算和机制设计。密码学和分布式计算主要解决区块链的数据存储、通信问题,而机制设计对解决因区块链P2P网络节点具有较强社会属性而产生的一系列问题起到至关重要的作用。这些问题通常分布在区块链的共识层、激励层和智能合约层。近年来,区块链智能合约系统(Blockchain Smart Contract System,BSCS)迅速发展,智能合约作为运行在区块链分布式网络中的计算机程序极大地拓宽了区块链技术的应用领域。目前,业界对智能合约尚且缺乏统一的形式化定义,导致合约复用性低、数据冗余;现有主流共识机制对BSCS适用性较差,易造成计算资源浪费、记账权集中化;智能合约的匿名性、一次交互性导致违约追责难以实现,恶意合约上链可能性增加。为了解决上述问题,本文面向区块链智能合约系统的机制设计问题展开研究,主要研究内容如下:(1)基于条件响应与有限状态自动机的智能合约形式化研究。基于有限状态自动机理论,从逻辑角度剖析智能合约的执行过程,以有向无环图对智能合约进行形式化描述;研究环境对智能合约执行过程的影响,包括合约状态迁移、条件触发机制,建立智能合约的变量-状态-触发器(VST)模型;以一份现实房屋租赁合同为例,使用VST模型描述基于该合同创建智能合约,及其部署、执行、完成的生命周期。(2)基于智能合约领域交互程度的共识机制研究。考虑到BSCS中智能合约应用于多个领域,设计算法求出合约创建节点在某一个或多个领域的交互度,以证明节点对区块链网络的贡献,在此基础上设计交互度证明机制(PoE)以分配记账权。通过仿真实验测试PoE机制在相同设定下与主流共识机制的对比表现,实验结果表明PoE机制相较于PoW、PoS具有更强的灵活性。(3)基于信誉值的智能合约系统激励机制研究。在(1)、(2)两个研究内容的基础上,基于VST模型定义智能合约完成度,以此作为BSCS中节点信誉值的计算依据。为了降低恶意合约上链成功的可能性、提高优质合约上链概率,基于信誉值设计陪审团机制,通过实验模拟持有不同行动偏好的节点(对抗节点、理性节点、诚实节点)在三种不同占比分布下(均匀分布、正态分布、指数分布)的行动,结果表明,陪审团机制在多数情况下表现出对抗鲁棒性,提高了优质合约上链概率。本文对BSCS的共识层、激励层、合约层展开研究,从软件工程、机制设计的角度,对智能合约进行形式化建模,对BSCS的共识机制、激励机制进行设计和改进,结果表明本文所提出机制在优化记账权分配、激励节点行为方面起到积极作用。