论文部分内容阅读
区块链技术因为具有去中心化、不可篡改和可溯源的特点得到不少商业机构的青睐。然而现阶段区块链技术较低的TPS(每秒事务处理量)表现不能满足商业应用大规模、高并发的性能要求。如何提高区块链的TPS成为了区块链领域的研究热点。本文的主要研究内容包括以下两点:1)我们对基于工作量证明的区块生成算法的TPS进行建模,研究了在不同网络规模中区块大小对TPS的影响。然后,在最大化TPS指标的前提下,我们根据提出的模型计算不同规模网络中的最优区块大小。然后我们使用比特币中的标准参数(同步区块的连接数量、生成区块的期望时间间隔等)和前人研究中的统计数据(同步区块的往返延时)构建仿真实验。根据实验结果,区块体积为1MB至15MB时,模型TPS与实验TPS的平均差为12.76tps,标准差为14.58tps。模型TPS与实验TPS的平均相对误差为16.01%。模型计算得到的最优区块大小与仿真结果的最优区块大小的平均差为1.55MB,标准差为0.74MB,平均相对误差为14.25%。考虑到实际中比特币没有满功率运行,我们对特币实际的TPS进行换算得到最大TPS(MTPS)并与模型数值和实验结果进行对比。对比结果显示,区块大小为1MB时,实验结果与MTPS的平均差为1.78tps,方差为1.17tps,平均相对误差为13.00%;模型计算结果与MTPS的平均差为4.50tps,方差为1.30tps,平均相对误差为16.90%。区块大小为4MB时,实验结果与MTPS的平均差为5.52tps,方差为3.77tps,平均相对误差为14.93%;模型计算结果与MTPS的平均差为5.53tps,方差为4.48tps,平均相对误差为15.25%。实验结果表明本文提出的模型能够较为准确地描述基于PoW的区块生成算法在饱和工作时的TPS。2)ELASTICO算法采用分组架构进一步优化了基于工作量证明算法的TPS。但是ELASTICO算法在分组间同步区块时的通信延时较高。我们基于ELASTICO算法提出了一种改进的区块生成算法 SSBG(Static-Sharding Block-Generating)。SSBG算法对分组进行编号并根据分组编号大小决定区块的执行顺序,减小了确认区块执行顺序的通信开销。在同步区块后,SSBG算法依次执行分组间一致性检测和分组间一致性检测,保持了系统状态的一致性。仿真实验结果表明网络节点数量在4400到10000时,SSBG算法的TPS高于ELASTICO并且SSBG算法的最大TPS 比ELASTICO高出16.56%。