1.一种物联网中区块链分片验证者选取的方法,其特征在于:所述的方法包括步骤如下:
S1:聚合商公布效用函数的计算模型和报酬ω(R'),各个计算节点报名参加计算;
S2:聚合商根据Q‑learning决策算法对计算节点进行筛选,将有计算能力的计算节点联合,组成各个并行委员会,每个委员会由一个聚合商领导;
S3:聚合商接收共识验证任务,并将共识认证任务发给委员会中各个计算节点;当委员会中超过2/3的计算节点完成并通过验证之后,聚合商将该区块上传区块链;
S4:区块上传到区块链后,完成验证的委员会获得报酬,该委员会中聚合商再将报酬发放给各个计算节点,由此完成一次区块链的更新。
2.根据权利要求1所述的物联网中区块链分片验证者选取的方法,其特征在于:所述的效用函数的计算模型如下:
其中,UAj表示第j个聚合商的效用函数;ρjμ(Rj)是聚合商j完成一个共识过程所获得的报酬;ρj表示由聚合商j领导的委员会的信誉值; 是聚合商j领导委员会的成本;ρi是第i个计算节点的信誉值函数;ω(Ri')是聚合商根据计算量支付给第i个计算节点的报酬;ρiω(Ri')表示计算节点信誉值会影响该节点获得的报酬。
3.根据权利要求2所述的物联网中区块链分片验证者选取的方法,其特征在于:聚合商根据Q‑learning决策算法对计算节点进行筛选,具体如下:S201:聚合商根据Q‑learning决策算法更新受该计算节点影响所对应的UAj值,将想加入委员会的计算节点根据输出的UAj值从大到小排序;
S202:根据需要的总计算能力由从大到小依次选择计算节点加入委员会;
S203:结束更新,委员会组建完成。
4.根据权利要求3所述的物联网中区块链分片验证者选取的方法,其特征在于:所述的Q‑learning决策算法包括以下步骤:D1:给定参数γ和报酬R;
D2:令UAj=0;
D3:根据节点的信誉值生成初始状态s,并估计动作a1和动作a2的值;
D4:若未达到稳定状态,每次更新以下几步:D401:在当前状态s的选择动作a1或动作a2其中一个行为;
D402:利用选定的行为a,得到下一个状态s’D403:按照UAj'(s,a)←——UAj(s,a)+α(Rj+γmaxUAj'(s,a)‑UAj(s,a))公式来更新参数;其中,a表示更新过程中的选择的动作;
D404:令s=s’;
D5:输出UAj值。
5.根据权利要求3所述的物联网中区块链分片验证者选取的方法,其特征在于:所述的聚合商j领导的委员会的信誉值ρj,是由委员会中各个计算节点的信誉值ρi决定的,其中,0<ρj<1.3,每完成一次验证,各个计算节点的信誉值将会更新一次,更新公式如下:其中,f(x)是由计算节点第t次验证结果决定,若验证失败f(x)<0;验证成功f(x)>0。
6.根据权利要求5所述的物联网中区块链分片验证者选取的方法,其特征在于:若更新后的信誉值 小于或等于0,则重新分配一个比0大一点的值;若更新后的信誉值 大于
1.3,则将信誉值 直接设置为1.3。
7.根据权利要求6所述的物联网中区块链分片验证者选取的方法,其特征在于:所述的委员会中各个计算节点的信誉值ρi越高,则该委员会的信誉值ρj越高,聚合商j完成一个共识验证后所获得的报酬越高。
8.根据权利要求1所述的物联网中区块链分片验证者选取的方法,其特征在于:所述的计算节点包括智能手机、电脑、电动汽车、服务器中的一种或多种。
9.一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时,实现如权利要求1~7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程序被处理器执行时,实现如权利要求1~7任一项所述的方法的步骤。