论文部分内容阅读
区块链作为新兴分布式存储技术,在物联网系统中的得到了广泛的应用。使用区块链作为物联网数据共享系统的底层协议,提供了宝贵数据一致性、可靠性和可溯源性。然而,物联网系统与区块链技术结合也带来了新的有待研究和解决的问题。(1)区块链系统中的每条消息都通过数字签名保证消息内容的可靠性,但在面对大量传感器消息共享场景时,会带来高昂的密钥存储和通信负担。(2)传统物联网数据共享系统的信息发布只需要单轮广播过程,而引入区块链技术后,需要多轮的共识过程来保证共享数据的一致性。共识过程会带来额外的时间消耗,降低数据共享速度,限制系统的整体吞吐量。(3)区块链系统采用多节点同步存储的方式保存区块数据。而在涉及大量传感器数据的应用中,多节点同时存储将占用大量的存储空间。部分节点无法保证如此大的存储能力,影响了物联网数据共享系统的有效应用。针对上述问题,本研究深入调研和分析了物联网数据共享系统场景和区块链技术特点,设计了基于区块链的物联网数据共享方案和区块部分存储方案。两方案能够在保证物联网数据一致性、可靠性和完整性的前提下,降低了上述问题对基于区块链的物联网数据共享系统的影响。本文主要研究内容包括:(1)首先,在物联网数据共享系统模型下设计了基于区块链的物联网数据共享方案,解决高签名成本的问题,提高了有效数据占有率。该方案中,包含传感器节点签名的物联网数据消息被打包进区块并发布到区块链网络中。本研究设计了一种基于聚合签名算法的消息签名方法和区块结构。在保护区块数据可靠性,防止恶意汇聚节点篡改数据的同时,利用聚合签名的压缩特性减少了大量传感器签名的通信和存储成本,提高了有效物联网数据在区块中的占有率。(2)其次,本研究设计了一种多状态链区块链架构和共识算法,解决了共识成本高的问题,提升了系统最大吞吐量。该架构保持每条状态链具有唯一固定的提案节点,并基于该多状态量架构设计了 SCBFT共识算法。该共识算法能够抵御有限拜占庭攻击,减少共识流程,提高共识速度。根据实验测试和分析,SCBFT共识算法相对于PBFT算法具有更快的共识速度,能够支撑更高的系统吞吐量并且在本研究考虑的系统模型中具有更好的鲁棒性。(3)最后,本研究针对物联网数据共享场景设计了区块部分存储方案,降低了普通节点的存储压力,提高了系统在实际应用中的适用性。该方案允许普通节点通过向存储节点付费的方式,要求存储节点保存特定完整区块数据。普通节点只需保存区块头数据就能够继续参与共识过程。本研究设计了基于智能合约的支付和基于挑战响应模式的数据完整性验证机制,有效保证普通节点和存储节点双方利益。此外,设计了基于零知识证明的数据完整性验证算法,利用零知识特性减少了区块链上对验证标签的额外存储负担。根据测试和分析,该数据完整性验证算法的验证速度优于已有的BPDP数据完整性验证算法,降低了区块链上验证过程的运算复杂度。