由于区块链设计旨在提高数据的透明性和不可篡改性,数据一旦被写入区块链中将无法被删除,造成了存储空间的需求量的不断增加,这给区块链系统带来了更高的存储成本和性能下降等问题。以比特币系统为例,节点需存储全部副本数据,部分节点因为无法承受巨大的存储压力而无法存储完整账本,从而间接影响了执行交易的效率。当区块链应用于真实的业务环境时,参与网络的节点往往面临存储和计算资源受限的问题,导致区块链系统的吞吐量降低、网络中待处理交易堆积等问题。此外,受限制的存储能力也会影响节点加入网络,进而限制了区块链系统的可扩展性。随着链上数据量逐渐增大,可能会使得更多的数据暴露在公开的区块链网络中。这将增加数据被访问、分析和利用的可能性,从而使用户的隐私信息更容易被获取和利用。恶意人员可能通过交易信息挖掘目标信息的关联,以获取用户的隐私信息,进一步增加了隐私安全性的风险。访问控制是保障信息安全的重要机制,它通过限制用户对系统资源的访问,确保只有授权用户能够获取到合适的数据和功能,从而防止未经授权的访问和操作。然而,在面对复杂数据环境时,传统的访问控制技术存在一定问题。基于角色的访问控制(Role-Based Access Control, RBAC)在复杂的访问环境中可能导致多个相似或重复的角色出现,从而产生角色冗余,并且随意执行角色继承可能导致权限滥用。在海量数据的访问环境中,用户权限需要逐一分配,而基于属性的访问控制(Attribute-Based Access Control, ABAC)需要管理大量的权限分配情况,这无疑增加了管理权限的成本,同时也降低了系统的执行效率。因此,提升链上数据的访问限制能力,将有助于推动区块链技术在各个领域的广泛应用。
针对传统的区块链访问控制模型在面对复杂数据环境下的局限性,提出一种基于角色可信传递的区块链访问控制模型。结合基于角色的访问控制模型和基于属性的访问控制模型的优点,将访问权限分配给角色,然后将用户和数据属性添加到角色属性中,增强了权限管理的灵活性;建立用户信任度评估机制,划分不同信任度等级,以确定数据的隐私程度,并限制不同级别用户的访问权限。设置可使用角色的最低用户信任度等级,基于此实现角色可信传递,从而约束角色的随意传递,限制访问权限的随意使用。实验结果表明,在访问控制方面,该模型能够精准判决访问请求;在用户信任评估方面,该模型能够实时反映用户的可靠性;在执行性能方面,该模型不同环境下都表现良好。