欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于未花费交易输出区块链网络的中继激励方法独创技术18425字

一种基于未花费交易输出区块链网络的中继激励方法

2021-03-30 07:32:32

一种基于未花费交易输出区块链网络的中继激励方法

  技术领域

  本发明涉及区块链技术与计算机网络领域,具体涉及一种基于未花费交易输出区块链网络的中继激励方法。

  背景技术

  区块链技术是学术界和商业界共同专注的问题,是一个分散的、分布式的公共数字分类账本,用于记录跨越多个节点事务,从而使任何涉及的记录不能追溯修改。区块链最初是作为一种加密货币交易分类账,目前广泛用于加密货币。但是其的应用场景在物联网、医疗保健和税收等有更大的潜力。

  区块链是使用对等网络和目标自主管理的这些节点之间的共识,它允许参与者独立和相对便宜地验证和审计交易。已验证的事务数据存储在一个区块链中而且这条链只以追加的方式增长,所有新的事务都与它一起增长。这个过程涉及几个操作,如验证事务、传播块和将块附加到本身的区块链。这些事务都是通过区块链的中继节点来完成。一个良好的中继节点激励机制会使得区块链更加健壮和高效。因此,对网络参与者的激励问题就变成了研究的焦点。

  本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:

  在当今主流的区块链实现中,对中继节点有两种激励:区块奖励和交易费用。然而,这两种奖励都给予具有强大计算资源或关键利益的节点。因此,区块链网络中的大多数节点很少有可能获得挖掘块的回报,这迫使许多节点转到矿池挖掘以共享这些奖励。

  由此可知,现有技术中存在吞吐量不够的技术问题。

  发明内容

  本发明基于未花费交易输出区块链网络的激励协同中继,可以解决区块链网络中交易中节点选择和节点激励问题。基于UTXO模型的中继选取,能够提高区块网络交易的吞吐量,同时结合节点传送奖励,为区块链网络中的协同中继提供了可靠的激励机制,提高了网络节点参与交易传送的积极性,增强了UTXO模型区块链系统的鲁棒性。同时,本发明提供了奖励的逐层委托发放机制,给参与中继的节点极大的自由度选择分配奖励,同时在这样的一个多用户网络中,提出对处于不同网络结构中的节点类型提出最优的分配方案,能够达到分配的均衡。

  为了解决上述技术问题,本发明提供了一种基于未花费交易输出区块链网络的激励方法,包括:

  S1:区块链网络中的节点之间通过底层协议获得对方的支付地址,发送者向接收者发起一笔交易;

  S2:发送者对与其直接相邻的节点发送交易,将交易信息广播至与发送者直接相邻的节点,发送者发起的所有交易构成集合Tx0,集合Tx0中的每个交易具有一个交易输入和两个费用输出,其中,交易输入为发送者s的一个有效未使用交易输出,一个费用输出为接收者,另一个费用输出为中继节点获得的传输奖励;

  S3:判断与发送者直接相邻的节点是否为中继节点,如果为中继节点,则执行步骤S4,否则执行步骤S5;

  S4:通过中继节点对与其直接相邻的且未接收过交易信息的节点发送交易,其中,中继节点发起的所有交易构成集合Tx1,集合Tx1中的交易输入为集合Tx0中对应的一个交易的交易输出;

  S5:通过与发送者直接相邻的节点向接收者发送交易TxN,接收者确认后,对接收的所有交易进行打包传输到区块链上。

  在一种实施方式中,所述方法还包括:根据区块链网络中节点的类型确定对应的分配方案。

  在一种实施方式中,步骤S4中中继节点在构造交易时采用的策略为:

  

  其中,rj为节点j的决策值,P(rj|rj-1)表示在rj-1的情况下rj的取值在到达接收者时为最高报价的概率,rj-1为节点j-1的决策值,表示经过若干跳到达最后一跳的路径上分配给中继节点奖励的估计值,Cj表示节点j发送的每个交易报文的带宽成本。

  在一种实施方式中,S5中与发送者直接相邻的节点为最后一跳节点,最后一跳节点R_N在构造交易时采用的策略为:

  

  其中,节点i为第N个节点,ri表示节点i的决策值,为第N+1个节点的输入值,ri-1表示节点i-1的决策值,对于第N个节点来说ri-1为常数,因此ri-1-ri表示是第N个节点的收益,P为条件概率,即在ri-1的情况下ri的取值在到达接收者w时为最高报价的概率,Ci表示节点i发送交易报文的的带宽成本;

  其中,概率P为节点R_N在所有最后一跳节点中胜出的概率,由(3)式确定,

  

  即求解(4)式,

  

  r-i表示除节点i以外的决策值,Φ概率分布函数,为公式(2)中的条件概率的累积分布函数,k表示是节点i的后继节点的数量。

  本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

  本发明提供的一种基于未花费交易输出区块链网络的激励方法,采用基于未花费交易输出区块链网络的激励协同中继模型,来解决区块链网络中交易中节点选择和节点激励问题。基于UTXO模型进行中继节点的选取,能够提高区块网络交易的吞吐量,同时结合节点传送奖励,为区块链网络中的协同中继提供了可靠的激励机制,提高了网络节点参与交易传送的积极性,也增强了UTXO模型区块链系统的鲁棒性。

  进一步地,本发明提供了奖励的逐层委托发放机制,给参与中继的节点极大的自由度选择分配奖励。

  进一步地在这样的一个多用户网络中,提出对处于不同网络结构中的节点类型提出最优的分配方案,能够达到分配的均衡。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明提供的基于未花费交易输出区块链网络的激励方法中交易的示意图;

  图2为本发明实施例的交易信息传播示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  本发明通过大量的研究与实践发现,在区块链网络中,会有第三种激励来奖励中继过程。节点应支付相应的中继工作,并鼓励加快消息传播。利用区块链的支付性质和UTXO模型的特点,提出了一种解决中继激励问题的中继支付方案。区块链中的本地令牌提供了一种直接和有利的支付方法,UTXO模型绑定了感兴趣的中继节点和消息发起者。通过实验证明本发明方法优于现有的方法。

  本发明的应用场景为:有一个消息发起人想把钱尽快转给它的供应商或其他人收款人。然后他应该派一笔交易出来宣布这一余额交替。在现有的区块链实现中,这个事务消息通过Gossip协议,大多数代理人暂时都在这个协议中做志愿工作。本发明则设定此事务消息有自己的接收方,为了方便说明,该事务消息有一个接收方(可以是分片网络中拜占庭协议产生的领导者leader,也可以是工作量证明协议中的矿工miner)具体实现步骤如下:

  S1:区块链网络中的节点之间通过底层协议获得对方的支付地址,发送者向接收者发起一笔交易。

  其中,发送者和接收者均为区块链网络中的节点。

  S2:发送者对与其直接相邻的节点发送交易,将交易信息广播至与发送者直接相邻的节点,发送者发起的所有交易构成集合Tx0,集合Tx0中的每个交易具有一个交易输入和两个费用输出,其中,交易输入为发送者s的一个有效未使用交易输出,一个费用输出为接收者,另一个费用输出为中继节点获得的传输奖励。

  具体来说,发起者s发起一笔交易c需要给接收者w确认。设s的邻居节点集合为Us,s对每一个邻居节点i分别构造交易Tx0i,i∈[1,|Us|],这些交易的集合构成集合Tx0,并指定一个交易输入TxInput和两个费用输出TxOutput。TxInput是s的一个有效未使用交易输出(UTXO,Unspent-Transaction-Output),而如何分配TxOutput,s的交易对象获得一部分,所有中继节点获得另一部分作为奖励。s的发送交易集合为Tx0;

  S3:判断与发送者直接相邻的节点是否为中继节点,如果为中继节点,则执行步骤S4,否则执行步骤S5。

  具体来说,S3是判断发送者的邻居节点是否为中继节点。

  S4:通过中继节点对与其直接相邻的且未接收过交易信息的节点发送交易,其中,中继节点发起的所有交易构成集合Tx1,集合Tx1中的交易输入为集合Tx0中对应的一个交易的交易输出。

  具体来说,若R1节点为发送者s的一个直接邻居且R1不是接收w,即R1∈Us,R1为了获得奖励,试图接力传送s发起的交易,R1收到来自s的数据包,并能够根据数据包中的信息(即上下文中的交易集合)甄别哪些节点已经收到此项传送任务,设此类节点集合为则定义R1的邻居节点集合为此时R1发起对(与其直接相邻的且未接收过交易信息的节点所构成的集合)中的所有邻居节点构造交易Tx1i,这些交易的集合为Tx1,一旦某个交易Tx1i被接收者确认并打包进区块链,其整个TxInput才有效。同时,由于所有Tx1的TxInput是Tx0中某个交易的TxOutput,因此R1需要传送的交易集合为{Tx0i}×{Tx1}。

  S5:通过与发送者直接相邻的节点向接收者发送交易TxN,接收者确认后,对接收的所有交易进行打包传输到区块链上。

  具体来说,当发送者直接相邻的节点不是中继节点时,则其为接收者的直接前驱。RN为w的直接前驱,由于RN是知道w是其直接邻居,RN直接进行发起交易TxN,此时|TxN|=1(表示RN的后继节点只有一个)并将数据包只发送给w,交易c随后经过w确定打包进去区块链。如果RN为w,结束退出,否则将RN为发送者。

  在一种实施方式中,所述方法还包括:根据区块链网络中节点的类型确定对应的分配方案。

  具体来说,由于网络拓扑结构的不同,交易传送到达最后一跳时每条路径最后送到w的报价都是不同,在平均报价上下服从正态分布。因此,在构造交易时,需要根据节点的类型来选择分配方案,即采用相应的策略来获得最大的期望收益。

  在一种实施方式中,步骤S4中中继节点在构造交易时采用的策略为:

  

  其中,rj为节点j的决策值,P(rj|rj-1)表示在rj-1的情况下rj的取值在到达接收者时为最高报价的概率,rj-1为节点j-1的决策值,表示经过若干跳到达最后一跳的路径上分配给中继节点奖励的估计值,Cj表示节点j发送的每个交易报文的带宽成本。

  在一种实施方式中,S5中与发送者直接相邻的节点为最后一跳节点,最后一跳节点R_N在构造交易时采用的策略为:

  

  其中,节点i为第N个节点,ri表示节点i的决策值,为第N+1个节点的输入值,ri-1表示节点i-1的决策值,对于第N个节点来说ri-1为常数,因此ri-1-ri表示是第N个节点的收益,P为条件概率,即在ri-1的情况下ri的取值在到达接收者w时为最高报价的概率,Ci表示节点i发送交易报文的的带宽成本;

  其中,概率P为节点R_N在所有最后一跳节点中胜出的概率,由(3)式确定,

  

  即求解(4)式,

  

  r-i表示除节点i以外的决策值,Φ概率分布函数,为公式(2)中的条件概率的累积分布函数,k表示是节点i的后继节点的数量。

  具体来说,接收者w的策略为:确认上一跳报价给w最高的交易。

  最后一跳节点R_N的策略:由于R_N为最后一跳节点,所以k_N=1(第N跳的节点具有的后继节点数量)。为了让自己的交易能够被w接受被确认,R_N的报价需要比所有其他最后一跳节点都要高才可以,那么在最后一跳报价满足概率分布函数为Φ(·)的情况下,最后一跳节点R_N的策略如公式(2)所示,其中概率P为节点R_N在所有最后一跳节点中胜出的概率,如公式(3)所示。因此,R_N的最优策略是在给定上一跳分配给自己ri-1的剩余奖励的条件下,寻找一个合适的ri使得ui达到最大。

  中间节点(中继节点)R_j的策略:中间节点的信息集要小于最后一跳节点,无法确定w的具体位置与最短路径。在最后一跳的报价存在概率分布函数的情况下,中间节点需要计算此条路径到达最后一跳节点时的报价是多少。因此R_j的策略如公式(1)所示。

  关于带宽成本的计算,如果单个节点i处于传播路径的第n跳,且具有ki个后继节点,发送每个交易报文的带宽成本是ci,那么节点的发送Ci成本由公式(5)计算:

  Ci=n·ci·ki(5)

  要证明这样的最优策略存在,只需要求得(4)式的r_i即可。下面详细介绍证明这样的r_i是存在的。

  不失一般性,假设k_i=2。因为ri-1是给定值,本发明设R=ri-1,对(4)求一阶导,得到(6)式:

  

  假设正态分布的均值为μ,方差为σ2,由3σ原则,本发明假设0<μ-3σ<u+3σ<R。证明在区间[μ,R]上g(ri)有唯一实根。

  因为g(R)=-Φ(R)<0,并且又因为,在区间[μ,μ+σ]上,φ(·)是严格递减的凹函数,因此g′(ri)<0。同样的,在区间[μ+σ,R]上,φ(·)是严格递减的凸函数,g′(ri)<0也满足。在区间[0,μ]上,g(·)>0始终成立。因此证明在区间[μ,R]上g(ri)是单调递减函数,并且满足g(μ)>0,g(R)<0,因此(6)式存在唯一实根,该实根即为最优解。中间节点的最优策略解与(4)式类似,此处不再赘述。

  以下结合附图和实例来说明具体实施方式中本发明方案的实现过程技术方案。

  如图1所示,步骤1:发送者s发起一笔交易给接收者w。区块链作为一个分布式记账系统,并不知道在此网络中所有的节点。节点作为单独个体,只知道与其直接相邻的节点,因此,s并不知道与w之间的确定路径。因此每个节点都需要其相邻节点的参与来共同完成传送任务。节点通过构造交易使得参与其中的节点有机会获得奖励。

  如图2所示:步骤2:广播交易信息。对于s节点,将交易信息传播给其直接相邻节点,以此进行广播,形成一个树状的路径。

  如图2所示,步骤3:寻找w的直接前继节点。随着交易消息的广播,在此区块链网络中,传播到R_N节点。由于R_N时w的直接前驱节点,R_N知道w是其后继节点。因此R_N将交易信息直接传递给w。

  如图1和图2所示,步骤4:交易消息传播方式。在图1中,对于每一个交易路径,在交易完成之前,都是未被确定的。所以每一个路径上的交易节点都是合作关系,只有一次完成了所有交易的确认,路径上所有的节点才能通过区块链的共识获得相应的奖励。在图2中,对于每一跳,即图中的每一条弧,在每一跳上的节点处于竞争关系。从这个图可以看出,每一条从s到w的路径上的交易都是图1所示,互相不同的地方就是分配给下一跳的金额的不同。奖励金额的分配方式依照不同节点类型而有所不同,中继节点和最后一跳节点分别采用前文所述的策略。

  如图2所示,步骤5:确定交易路径。由于采用的是winner-takes-all(赢者通吃)的方式,假设图中虚线是最终确认路径,那么只有这条路径的交易被确认,其余的路径是无效的,这些路径上的交易都会变成不合法交易而被区块链共识所抛弃。由于采用UTXO模型,所有的花费只能确定一次。具体来说,s发出的Tx0中的所有交易只能被确认一次,后面的Txi都是如此。这样交易就被确定,一次成功的中继传送结束。

  总体来说,本发明提供了一种基于花费交易输出(UTXO)区块链网络的激励协同中继方法,改善了区块网络的吞吐量和交易的健壮性和高效性。基于花费交易输出(UTXO)区块链网络的激励协同中继模型的核心思想是:节点应支付相应的中继工作,并鼓励加快消息传播,本发明利用区块链的支付性质和UTXO模型的特点,提出了一种解决中继激励问题的中继支付方案。区块链中的本地令牌提供了一种直接和有利的支付方法,UTXO模型绑定了感兴趣的中继节点和消息发起者,以达到交易的快速传播的目的。

  本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

《一种基于未花费交易输出区块链网络的中继激励方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)