本发明属于区块链,尤其涉及联盟链链上数据高效编辑方法。
背景技术:
1、区块链技术作为一种去中心化的账本,自提出以来,因其高度的数据防篡改性而备受关注。在公有链上,这种特性可以防止不正当交易和历史记录被篡改。联盟链相比公有链,具有一定准入机制,这一机制提高了网络的安全性和隐私保护。且由于参与者是相对可信的,联盟链可以采用更高效的共识算法,从而显著提高交易的处理速度和网络性能。目前,联盟链的核心目的在于促进多个组织之间的数据共享和写作。因此联盟链系统广泛应用于供应链管理、医疗记录共享和金融交易等多方协作领域。
2、然而,区块链的不可篡改性,虽然为数据安全提供了保障,也给联盟链的监管与管理带来了一定的挑战。因为敏感内容一旦被记录在链上,针对其的修改或删除就会变得极为困难。例如,个人隐私、版权及误导性内容在上链后若未能及时更新,就可能会被不法分子利用,对个人或机构的声誉造成影响。为应对这些挑战,当下联盟链技术正向着更灵活的数据管理方向发展。目前,一些新的研究开始探索可编辑区块链技术来实现对链上数据的动态管理,从而在不牺牲安全性的前提下增加了一定的灵活性。这种技术虽然在理论上可行,但在实际操作中仍面临一些挑战。
3、首先,现有方案面临着在单个节点上进行联盟链内容编辑效率不高的挑战。在当前社会舆情快速变化的背景下,联盟链系统不仅需要保障数据的安全性,还必须能够在必要时对敏感内容进行快速审查和修改。然而,现有方案执行修改操作的速度过慢,未能满足在这种场景下对联盟链的高性能响应和处理修改请求的需求。
4、其次,尽管现有方案实现了一定程度的去中心化,但大多依赖于单轮投票机制,无法在拜占庭环境下保证节点间数据的一致性。联盟链虽有一定的准入机制,但仍无法完全阻止恶意节点的破坏行为。这一局限性为保障联盟链系统的安全性带来了严峻挑战。因此,确保所有诚实节点都能正确执行修改请求尤为重要,有助于维护系统的整体安全。这些挑战在一定程度上制约了联盟链技术的进一步发展和更广泛的应用。
技术实现思路
1、本发明的目的旨在设计一种适用于拜占庭容错的联盟链数据编辑方法,以提升链上数据修改的效率。该方法综合运用了变色龙哈希技术和区块替换的优化策略,不仅加快了数据修改的速度,还提高了链上更新的效率。此外,设计的请求共识协议通过多轮投票和编辑验证机制,确保了在拜占庭环境下各诚实节点能够执行相同的区块编辑操作,从而保证了数据的一致性,并引入了并行共识和批量请求处理的策略,显著增强了系统的稳定性和效率。通过本发明,可以在确保系统安全性的同时显著优化了区块链链上数据编辑性能,并为联盟链环境中的敏感信息处理和舆论监管提供了新型解决途径和有效技术支持。
2、实现本发明目的的具体技术方案是:
3、一种拜占庭容错的联盟链链上数据高效编辑方法,包括:数据编辑协议和请求共识协议;其中,
4、所述数据编辑协议是每个节点利用变色龙哈希和优化底层区块替换策略,实现区块内容的高效修改和链上数据的快速更新;
5、所述请求共识协议是一种不受恶意节点影响的针对区块编辑请求的共识机制,节点间通过多轮投票和编辑验证来确保在拜占庭环境下数据的一致性,同时引入多节点并发共识的优化策略,显著提升联盟链系统对修改请求的响应速度和吞吐性能。
6、所述数据编辑协议的形成,具体包括:
7、步骤a1:在区块生成过程中应用变色龙哈希函数,输入公钥 pk、序列化的区块头信息和辅助随机参数r来生成区块哈希,以保证区块的后续验证和修改的可行性;
8、步骤a2:当区块内某笔交易需要修改时,使用变色龙哈希重新生成新的辅助随机参数r’,以适应merkle根的变化,并确保更新后的区块头与原始区块具有相同的区块哈希值;
9、步骤a3:实施高效的区块替换策略,以保证新区块的可查询性同时维护链上数据的安全性;
10、所述请求共识协议的形成,具体包括:
11、步骤b1:由于系统中不存在单一主节点,因此可信客户端会并发地提交结构化请求至共识节点网络,由某一共识节点处理;每个请求包含待修改区块的高度、待修改的交易哈希及其数字签名;
12、步骤b2:共识节点在验证请求有效性后,生成包含待修改的区块高度和交易哈希的提案,广播给其他共识节点,节点对提案进行验证和归类;
13、步骤b3:共识节点之间通过pbft算法的多轮共识机制进行投票,使用投票结构体封装节点在各阶段的投票信息,直至达成共识,以确保所有诚实节点在拜占庭环境下正确处理修改请求。
14、进一步,所述步骤a3,具体包括:
15、步骤a31:将修改后的新区块附加到区块存储文件的末端,而非物理位置的替换,以避免对后续区块的写覆盖和数据污染,维护区块链的结构完整性和数据安全性;
16、步骤a32:系统通过更新哈希表,将新的区块高度映射到文件的新索引和偏移量,实现快速检索并保持数据的完整性;这一过程包括序列化新区块以确定新的偏移量,并按顺序写入新区块数据到文件,更新哈希表确保区块的快速访问和数据安全。
17、进一步,所述步骤b2,具体包括:
18、步骤b21:各节点预先在本地建立提案池,用于存储从网络中接收到的所有提案;
19、步骤b22:系统为每个提案建立独立的投票集合,便于管理和归类各阶段的投票信息;
20、步骤b23:节点将接收到的提案进行验证,验证不通过的提案会被丢弃,验证通过的提案根据提案发起者的身份信息归类到对应的提案链中。
21、进一步,节点本地的提案池,由各个共识节点独立维护,用于存储从网络中接收到的所有提案;提案池的结构包括多条提案链,每个共识节点对应一条提案链;当节点接收到新的提案时,会根据提案发起者的身份信息,将提案归类并加入到对应的提案链中;此结构使得每个节点能够有效地管理其接收到的提案,便于后续的共识操作;同时,节点本地还会为每个提案建立了一个独立的投票集合,根据投票包含的共识信息对其进行归类和存储。
22、进一步,所述步骤b3,具体包括:
23、步骤b31:初始化阶段,主节点构建包含待修改区块高度和交易的请求提案,并广播至其他共识节点;
24、步骤b32:预投票阶段,各共识节点对提案进行验证后,构造带有自己签名的投票信息并广播,收集超过三分之二的支持票数后,进入预提交阶段;
25、步骤b33:预提交阶段,节点广播带有自己签名的预提交支持投票;若收集到超过三分之二的支持票数,认为提案在网络中已经达成共识,并准备进入提交阶段;
26、步骤b34:提交阶段,节点记录预写日志,检索请求中的区块高度和交易信息,获取并验证目标区块;成功确认后,节点生成编辑后的新区块并替换旧区块,从而更新区块链数据;
27、步骤b35:完成区块的修改后,节点构造回执交给客户端,确认链上区块的修改操作已经完成,并保证数据的可用性和一致性。
28、本发明的有益效果,包括:
29、本发明旨在解决联盟链系统中链上数据编辑的效率和安全性问题,专注于开发一种针对联盟链的高效数据编辑方法。其目的是使得链上数据编辑操作能够在保证系统安全性的同时,提升系统响应速度和处理编辑请求效率。具体而言,本发明利用变色龙哈希实现了区块内容的编辑,并优化了底层区块替换策略,旨在解决现有方法在处理单个区块修改时效率较低的问题。同时,为了保证节点间的数据一致性,本发明设计了拜占庭容错的针对区块编辑请求的共识机制,通过多轮投票和编辑验证确保所有诚实节点均执行了相同的编辑操作。本发明在此共识机制的基础上进一步引入了多节点并发共识的优化策略,显著提升了系统吞吐性能。