计算机研究与发展2018,55(7)
&(z,,志一1),d(z,,是一1),是,Trf,盯(z,),填入Head(B。)
中.其中a(x,)由A(z,)提供,本文不对这一过程作
出假设.
假设过程F.,发生,A(z。)对A(zi)进行评价,
评价过程中H(x,)上的操作可表为算法1所示.
算法1.域管理者间评价.
情形2.此时没有合作r。发生,当Pool(z。)满
执行者:H(xm
输入:Trl,艿(z,,k一1);
足臼 垒焉差篓筝兰衾笺暑盟 · 时,A(z;)随机选择
输出:B。.
时间打包并发布B,,并将与rh,有关的字段A(z,),
S。(z,,志一1),占(z,,尼一1),忌,TrI,d(z,)全部置为10,
一般可取p=0.
①接收到ri.,发生的信息;
②接收到与n,,有关,Head(B,)中要求的信息;
C N”,t N。,1 c t一1)上查
③在{B,l
由于H(x,)与H(zi)之间通过因特网通信,因
此在区块数据的发布过程中,可能会遇到网络环境
不稳定导致的数据包丢失等问题,这被称作区块链
中的节点发生了拜占庭故障.拜占庭故障可以理解
为试图达成特定共识的网络节点当中存在的个别节
点因为任意原因篡改或隐藏真实信息的行为,发生
拜占庭故障的节点也被称为拜占庭节点.自从
Lamport提出拜占庭将军问题以来[21I,对于这一问
题的研究不断深入[28I,已经产生了一些被广泛接受
与应用的分布式一致性算法[2}27].基于此,本文对于
区块链上新区块的发布过程采用模块化的设计,允
4|,PBFT[2
询并获取S。(zi,忌一2),艿(z,,志一2),与
志一1值;
④S。(z,,k一1)一S。(zj,忌一2)+d(z,,尼一2);
⑤接收艿(z,,尼一1);
⑥将S(zi,是一1)与艿(zi,志一1)写进Head(B。);
⑦获取或计算Head(B。)中其他字段值,写进
Head(B,);
⑧将{Head(B,),C。{· ))作为新区块B。,借助
模块化的共识算法发布B。,算法结束.
算法1的时间复杂度为0(t),空间复杂度为
0(1),按照既定步骤执行后产生唯一输出B。,作为
最新的区块添加到区块链上.
许采用Paxos[22’2
5I,Raft[273等算法实现.
这种模块化的方式使得对于节点间共识机制与算法
的研究与在区块链上进行顶层设计的研究相互独
3.5.2设备间评价
D(z。,y。)与D(毛,Y。)进行通信合作之后,
9。.
立,也是当前联盟链中常见的设计模式[2
D(x。,Y。)与D(x,,Y。)可以选择对彼此在合作中的
一旦H(z,)通过模块化的共识机制成功发布了
表现进行评价.假设D(x:,Y。)选择对D(x,,Y。)进
行评价,它只需要作出自己的评价决定,并将信用评
价调节因子d(z,,Y。,i)发送到H(zi).H(zi)在收
区块B。,网络上的其他所有H(z。)接收B,并将其
添加进{B。,B:, ,B。),随后{B。,B。, ,B。,
B。)便成为系统中受非拜占庭节点认可的区块链.
到艿(乃,Y。,Z)后首先在Pool(z:)查询Sd(而,Y。,
是),如果找到则将其值更新为S。(z,,y。,k)4-d(z"
Y。,i);如果无法在Pool(x:)中查询到Sd(z,,Y。,k),
则在{B,Ic N“,t N+,1 c £一1)上查询Sd(z,,
Y。,磊),并计算Sd(巧,y。,石)一Sd(乃,y。,磊)+艿(刁,
y。,i),然后将Sd(zj,y。,k)存入Pool(zi)中;如果无
法在Pool(x。)与{B,I f N”,t N’,1 f t一1)
中查询得到Sd(z,,y。,壶)或Sd(z,,Y。,石),则产生S。
(z,,y。1)一Jd(z,y)+艿(z,,Y。i),然后将Sd(z,,
Y。,1)存人Pool(zi)中.信用评价过程中D(xi,y。)
所作的操作可由算法2描述.
3.5信任评价
3.5.1域管理者间评价
A(z,)与A(zj)之间通过区块链进行信用评价,
假设过程一.,发生,则H(z:)在区块链上查询并获
取S。(zj,k一2),艿(z,,尼一2)与k一1值,计算
S。(z,,是一1)一S。(z,,忌一2)+艿(zi,晟一2).随后
H(x:)接收由域管理者给出的信用评价调节因子
艿(z,,走一1),并将S。(z,,是一1)与d(z,,k一1)一起
写进Head(B:)完成信用评价.
在Head(B。)中包括了TrI与仃(zi)字段以对
历史进行背书并提供审查需求.TrI描述了r¨ 过程
中的必要语义信息以及为什么对本次过程给出
3(x,,k一1)的评价因子的描述信息等;盯(z,)一
SigA。¨ (Hash(TrI)),是由A(z。)向A(z,)出示并
展示TrI后,经A(z,)确认并提供的对TrI的数字
签名.提供a(x,)后,A(z,)将无法否认n,i及其中的
必要信息.
算法2.D(zi,Y。)进行信任评价(D(z:,Y。)
方面).
执行者:D(x,,Y。);
输入:无;
输出:占(z,,Y。,i).
①向D(x,,Y。)发出合作请求;
万方数据
全部评论(0)