一种基于图神经网络的归纳式区块链账户分配方法及装置

文档序号:36789984发布日期:2024-01-23 12:08阅读:16来源:国知局
一种基于图神经网络的归纳式区块链账户分配方法及装置

本发明涉及区块链分片,特别是涉及一种基于图神经网络的归纳式区块链账户分配方法及装置。


背景技术:

1、区块链技术作为一种没有中央权威机构支持的分布式安全账本,为去中心化经济提供了解决方案,消除了单点故障、垄断和审查的风险。这一技术最先被应用于加密货币,如比特币和以太坊,随后扩展到其他应用领域,如物联网,数字健康和电子投票等。遗憾的是,现有基于区块链技术的去中心化系统无法满足大规模应用程序高吞吐量的需求。例如比特币每秒只能处理7笔交易,其交易确认延迟高达60分钟。以太坊每秒也仅能处理15笔左右的交易。根本原因在于:区块链网络中所有节点通过验证领导者产生的区块来参与共识协议,这意味着一个区块需要网络中超过2/3的节点验证通过,所以导致较长的时间来确认一个有效区块。此外,所有节点都需要维护从起源块开始的整个历史交易的副本,并验证每一笔交易。因此可扩展性成为区块链的瓶颈问题,即区块链系统的吞吐量并不能随着网络中节点的数量的增长而提升。

2、分片技术被用来解决区块链的扩展性问题。该技术的核心理念是在面对区块链系统的全部交易时,采用分治的方式进行处理。具体而言,不再让每个区块链节点处理全部交易,而是将节点划分为不同的委员会,每个委员会并行处理全部交易的一小部分。此外,区块链分片将整个区块链状态划分为多个不相交的部分(称为分片),每个分片由一个委员会来维护。传统的区块链系统(如比特币和以太坊)需要每个节点与其他所有节点进行通信来维护整个区块链的副本;但是分片技术中每个节点只需与来自同一分片的节点进行通信,并仅需维护区块链状态的一小部分,从而降低了节点的存储、计算和通信的成本,并且提高了吞吐量。然而现有分片协议主要采用基于哈希地址前缀的的方法将交易分配给不同的分片,导致分片区块链系统中90%的交易为跨分片交易,因此难以应用到现实系统。

3、区块链分片技术面临的主要挑战是跨分片交易的原子性。当某一分片内的账户与其他分片的账户进行交易时,由于交易发起方分片没有存储接收方的账户状态,因此需要将该交易拆分为两笔子交易,分别由发起方分片和接收方分片验证。为确保交易的原子性,需要额外的跨分片共识协议。相比于片内交易,这种方法会增加一次共识开销和额外的通信开销。

4、为了克服上述挑战,早期的研究通过设计高效的跨分片交易共识来确保跨分片交易的原子性,如omniledger的两阶段共识协议、rapidchain将跨分片交易的utxo转移到输出分片,从而将跨分片交易转化为片内交易、monoxide的基于账户/余额模型的中继交易机制。之后,研究人员发现分片区块链系统中存在的大量跨分片交易是影响系统性能的主要因素;现有的研究主要通过两种方式减少系统中的跨分片交易,一种是将跨分片交易转化为片内交易从而减少跨分片交易数量(例如pyramid和brokerchain),另一种是通过将账户精准分配将频繁互动的账户聚类到同一个分片中从而减少跨分片交易数量。其中pyramid通过系统层次结构的设计将跨分片交易转化为片内交易,这是通过让分片中的一部分委员会节点存储多个分片的状态,以实现跨分片交易可以在片内被验证。brokerchain通过允许账户分割为子账户同时存在多个分片中从而将跨分片交易转化为片内交易。现有工作采用了基于图划分的方法执行账户精准分配,该方法将历史交易数据建模为一个图模型,通过图划分算法将图划分为多个子图,其中同一个子图中的节点分配到同一分片。

5、在分片区块链系统中,账户分片问题本质上可以归纳为图结构中的节点分类问题,通过图的结构信息将密切相关的节点分为同一类,由此我们思考一个问题是:深度学习(dl)能否有效的用于区块链账户分片问题。dl领域中的图神经网络专门用于处理图结构数据,将卷积神经网络应用于图结构数据,在图节点分类任务中有着出色的表现。图神经网络通过捕捉节点之间的关系和全局结构,能够从图中学习节点的表征,即将每个节点表示为一个向量,这些向量编码了节点的特征和属性,能更好的进行节点分类。此外,区块链系统中账户之间的交易网络涉及到动态的网络拓扑结构和数据变化,因此需要处理新账户这种动态情况下的分片问题。而图神经网络可以增量式地处理新节点分类,具有快速执行和良好的泛化能力。因此,图神经网络可以用于区块链账户分片问题,我们的目标是减少跨分片交易数量,并且将图神经网络应用于新账户的动态场景。

6、我们提出一种基于深度学习的区块链分片机制dls(an efficient deeplearning based sharding scheme,dls)。正式定义了分片区块链系统中的账户分片问题,将区块链历史交易数据建模为图。我们将账户分片问题转化为图模型上的节点分类问题,并提出了一种基于图神经网络的分片方法,该方法由图神经网络和标签传递优化算法构成两部分构成,利用图神经网络学习账户的历史交易信息来对其进行分类。将账户历史交易信息输入图神经网络进行半监督训练,从而捕捉和建模账户之间的复杂交易关系,通过学习节点之间的连接模式和特征表示,以实现账户的分片。为了避免在标签信息不足的情况下能够减少跨片交易数量,引入标签传递算法。该算法通过节点之间的相似性关系,将已知节点的标签信息传递给未知节点。这样,即使某些节点没有被图神经网络训练到,它们也能通过与已知节点的相似性来获取标签信息,从而得到更准确的分类结果。我们使用真实的以太坊交易数据进行实验测试,实验结果表明dls能够有效减少跨分片交易数量,提升系统吞吐量,并且维持负载均衡。例如,在64分片的情况下,dls将跨分片交易比率降低到11%,相比之下,基于哈希地址和metis分配方法的跨分片交易比率分别为97%和23%。


技术实现思路

1、本发明提供了一种基于图神经网络的归纳式区块链账户分配方法及装置,以解决现有区块链分片方案中跨分配交易比例大的问题;本发明有效减少了区块链系统跨分片交易比例,提升了区块链系统的吞吐量和降低了交易处理速率,同时能够维持区块链分片系统的负载均衡。

2、本发明所采用的技术方案是:

3、一种基于图神经网络的归纳式区块链账户分配方法及装置,所述图神经网络,即能够学习图结构数据的神经网络,提取和发掘出图结构数据中的特征;所述的图结构数据是根据区块链系统账户历史交易数据构建的,将每一个账户看作一个节点,将交易看作节点之间的边。对于每一条交易,我们将其转化为两个节点之间的一条边,边的权重为交易的次数;所述的方法是首先根据图神经网络提取到的图结构数据中每一个节点的特征,然后通过一个softmax层将节点分配到所属概率最高的分片中,最后基于标签传递思想对所分配的节点做一次校正以达到最小化跨分片的优化目标。所述方法具体包括如下步骤:

4、步骤一:获取区块链系统中账户历史交易数据以构建图结构,将每个账户表示为图中的一个节点,根据交易关系构建节点之间的边,边权重表示为账户之间的交易次数,并设置每个账户节点的初始特征。

5、步骤二:选取步骤一图中一小部分账户构建子图。随后,确认这些账户的标签,作为训练集用于半监督学习。

6、步骤三:将步骤一和步骤二中的图结构信息和训练集作为输入,运行图神经网络模型,获得一个初始账户分配结果和训练完成的参数。

7、步骤四:基于标签传递优化算法对步骤三获得的初始账户分配结果进行一次结果优化,优化目标为最小化跨分片交易的数量。

8、步骤五:根据步骤四的优化结果,将区块链账户的世界状态分割为多个分片状态,分配给不同分片的参与者维护。

9、步骤六:对于新用户分配,只需要将新用户加入图中,通过步骤三训练好的参数即可计算出新用户的特征,完成对新用户的分配。

10、作为优选,所述账户节点的初始特征通过图嵌入算法node2vec得到,能综合考虑深度优先邻域和广度优先邻域,将节点映射到低维向量空间,并保留节点的结构和相似性。

11、作为优选,所述训练集可以根据实际情况自适应的设置,如已知某些账户交易密切的先验信息。

12、作为优选,采用gat图神经网络模型,所述模型具有自适应注意力机制,在学习节点之间的关系时更加灵活和准确。通过注意力机制,gat可以确定哪些邻居节点应该被赋予更高的权重分配。这使得gat模型不仅能够利用图的结构,还能够明确指定不同邻居节点的重要性。在gat的注意力机制的作用下,最终的特征向量构建将会更加关注图中的重要节点,这在区块链账户模型下表现为交易次数频繁的活跃用户。这意味着gat能够更加准确地捕捉到区块链中活跃用户的特征,从而更好的减少区块链系统的跨分片交易。

13、作为优选,所述标签传递优化算法基于标签传递思想,对步骤三中获得的初始分配结果根据度数大小排序,由大到小依次对各账户节点根据邻居标签和自身标签进行优化,对于节点优化,所述标签传递优化方法不仅要考虑邻居节点的标签同时还要考虑自身的标签;并设置平衡因子θ表示每个分片最多分配账户数量,用于控制负载均衡:

14、θ=n/k+β

15、其中n表示系统中的总账户数,k表示分片的数量,β表示可调整的平衡参数。

16、一种基于图神经网络的归纳式区块链账户分配装置,所述装置包括:

17、模型构建模块,根据区块链系统历史交易记录构建带权无向图,并为所述无向图中的每个节点构建初始特征向量。

18、特征更新模块,通过图神经网络聚合更新账户的特征信息,得到聚合了邻居信息的全新特征,并根据得到的特征信息确认账户节点的所属分片。

19、结果优化模块,通过基于标签传递思想的算法,对所得到的分配结果进行一次优化,其优化目的为最小化分配所产生的跨分片交易比例,得到最终的分配结果。

20、账户分配模块,根据所得到的最终分配结果,将区块链的世界状态分割为几个子状态,交给不同分片的参与者所维护,每个分片的参与者仅维护相关子状态的交易记录以及子状态的更新。

21、与现有技术相比,本发明具备以下有益效果:

22、采用上述的技术方案,可以根据不同场景自适应的调整训练集,从而训练出自适应的区块链分片方案。且在此基础上,在不影响区块链分片系统负载均衡的情况下,能够更进一步的减少区块链分片系统的跨分片交易,提升系统的吞吐量和交易处理速率;此外,对于新用户的分配,能通过训练好的参数直推出所属分片,无需重新运行整个方法步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1