一种区块链节点的共识方法及装置制造方法及图纸

技术编号:37819136 阅读:11 留言:0更新日期:2023-06-09 09:51
本发明专利技术实施例涉及一种区块链节点的共识方法及装置。该方法包括:接收区块链网络中的轻节点发送的各目标用户的用户资产数据获取请求;确定自身存储有各目标用户的资产数据后,基于各目标用户的资产数据和范围资产数据生成证明信息;将各目标用户的资产数据和证明信息发送至轻节点,轻节点用于对证明信息进行验证,若验证通过,则基于各目标用户的资产数据对区块中的各交易进行交易合法性验证。轻节点也能够基于各目标用户的资产数据对区块中的各交易进行交易合法性的校验,提升了对交易的合法性的校验的准确性。的合法性的校验的准确性。的合法性的校验的准确性。

【技术实现步骤摘要】
一种区块链节点的共识方法及装置


[0001]本专利技术实施例涉及区块链
,尤其涉及一种区块链节点的共识方法、装置、计算设备及计算机可读存储介质。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]一般来说,区块链上每个节点的区块链账本中均会存储全量数据,如此每个节点都可以参与监督交易的合法性,保证了交易的安全性。图1示出了一种系统架构图,包括区块链网络100和至少一个用户端(如图中示意的用户端201和用户端202);其中区块链网络100中设置有至少一个全节点(如图中示意的全节点1001、全节点1002、全节点1003与全节点1004)。全节点是指在自身的区块链账本中存储了全量数据的区块链节点,每个全节点根据存储的全量数据对交易进行验证。例如用户a操作用户端201向用户b进行了多笔转账交易,这些交易均由用户端201发送至全节点1001;全节点1001将这些交易形成区块,将区块发送至其余的全节点进行共识;各全节点根据自身的区块链账本中存储的各用户的资产数据对区块中的各交易进行验证;若大部分的全节点对区块中的各交易验证通过,则共识结果为该区块合法,全节点1001执行这些交易,并且每个全节点对该区块执行上链操作,即存储该区块;同时,各全节点基于该区块中的各交易更新自身的区块链账本中存储的各用户的资产数据。
[0004]例如,区块中包含两笔交易:交易1:7:00,用户a向用户b转账20元;交易2:8:00,用户a向用户b转账20元。任一全节点中存储有各用户的资产数据,例如用户a的资产数据为50元,用户b的资产数据为100元。任一全节点通过如下方式完成验证:获取用户a在7:00之前的资产数据为50元,判断50元大于20元,则对交易1验证通过,生成用户a的临时资产状态为30元,生成用户b的临时资产状态为120元;获取用户a在8:00之前的资产数据为30元,判断30元大于20元,则对交易2验证通过,生成用户a的临时资产状态为10元,生成用户b的临时资产状态为140元。若各全节点均对区块中的这两笔交易验证通过,则全节点1001执行这些交易,并且每个全节点存储该区块;同时,每个全节点将自身的区块链账本中存储的用户a的资产数据更新为10元,用户b的资产数据更新为140元。
[0005]但是在某些应用场景中,若区块链上的所有节点均存储全量数据的话,无疑会占用大量资源,包括计算资源、通信资源以及存储资源。例如对于普通个人用户来说,他们的终端设备无法承载如此巨大的资源开销,技术能力不足以维护存储全量数据的全节点,他们需要足够便捷的用户体验。由此研究人员设计了轻节点,在轻节点中不存储全量数据。如此节省了较大的资源开销,保证了承载该节点的设备的稳定且高效运行。
[0006]但是由于轻节点中不存储全量数据,因此无法对区块中的交易进行验证,仅凭借区块链网络上的各全节点对区块中的交易进行验证,根据各全节点的验证结果确定该区块
的共识结果。上述方式中轻节点无法参与监督交易的合法性,导致对交易的合法性校验不够准确。

技术实现思路

[0007]本专利技术实施例提供一种区块链节点的共识方法,用以提高对交易的合法性校验的准确性。
[0008]第一方面,本专利技术实施例提供一种区块链节点的共识方法,所述方法应用于区块链网络中的第二全节点,包括:
[0009]接收所述区块链网络中的轻节点发送的各目标用户的用户资产数据获取请求;所述目标用户为区块中的任一交易的交易发起用户;所述区块为所述区块链网络中的第一全节点发送至所述轻节点;
[0010]确定自身存储有所述各目标用户的资产数据后,基于所述各目标用户的资产数据和范围资产数据生成证明信息;所述范围资产数据为根据所述第二全节点中存储的多个用户的资产数据生成;所述多个用户包含所述各目标用户;所述证明信息用于证明所述第二全节点中存储有所述各目标用户的资产数据;
[0011]将所述各目标用户的资产数据和所述证明信息发送至所述轻节点,所述轻节点用于对所述证明信息进行验证,若验证通过,则基于所述各目标用户的资产数据对所述区块中的各交易进行交易合法性验证。
[0012]由于证明信息是基于各目标用户的资产数据和范围资产数据生成的,范围资产数据中包含各目标用户的资产数据,因此证明信息能够用于证明第二全节点中存储有各目标用户的资产数据。当轻节点接收到证明信息后,对证明信息进行验证,若验证通过,则说明第二全节点中确实存储有各目标用户的资产数据,那么第二全节点发送的各目标用户的资产数据就是可信的。如此,轻节点也能够基于各目标用户的资产数据对区块中的各交易进行交易合法性的校验,提升了对交易的合法性的校验的准确性。
[0013]在一些实施例中,基于所述各目标用户的资产数据和范围资产数据生成证明信息,包括:
[0014]根据所述各目标用户的资产数据形成的第一向量构造第一置换向量;所述第一置换向量中相同的元素彼此相邻;
[0015]根据所述范围资产数据形成的第二向量构造第二置换向量;所述第一置换向量中相同的元素彼此相邻;根据所述第一置换向量中相同的元素的第一个元素的位置确定所述第二置换向量中与所述第一个元素相同的元素的位置;
[0016]根据针对所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量中的任一向量,构造所述向量的取值多项式和承诺打开证明多项式分别构造第一取值多项式、第二取值多项式、第三取值多项式和第四取值多项式;
[0017]根据所述第一向量和所述第一置换向量的置换关系以及所述第二向量和所述第二置换向量的置换关系,构造置换关系多项式;
[0018]所述第一取值多项式、所述第二取值多项式、所述第三取值多项式和所述第四取值多项式构造置换关系多项式;所述置换关系多项式用于表征所述第一取值多项式和所述第三取值多项式的置换关系,以及所述第二取值多项式和所述第四取值多项式的置换关
系;
[0019]根据所述第一取值多项式、所述第二取值多项式、所述第三取值多项式和所述第四取值多项式分别构造第一承诺打开证明多项式、第二承诺打开证明多项式、第三承诺打开证明多项式和第四承诺打开证明多项式;
[0020]针对任一随机数,将所述随机数代入所述置换关系多项式、任一向量对应的取值多项式和承诺打开证明多项式,分别得到多个第一子证明信息。
[0021]在一些实施例中,在针对所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量中的任一向量,构造所述向量的取值多项式和承诺打开证明多项式之前,还包括:
[0022]将所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量的向量长度均扩充至2
k

1;其中2
k
‑1<u<2
k
,u为所述范围资产数据形成的第二向量的向量长本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链节点的共识方法,其特征在于,所述方法应用于区块链网络中的第二全节点,包括:接收所述区块链网络中的轻节点发送的各目标用户的用户资产数据获取请求;所述目标用户为区块中的任一交易的交易发起用户;所述区块为所述区块链网络中的第一全节点发送至所述轻节点;确定自身存储有所述各目标用户的资产数据后,基于所述各目标用户的资产数据和范围资产数据生成证明信息;所述范围资产数据为根据所述第二全节点中存储的多个用户的资产数据生成;所述多个用户包含所述各目标用户;所述证明信息用于证明所述第二全节点中存储有所述各目标用户的资产数据;将所述各目标用户的资产数据和所述证明信息发送至所述轻节点,所述轻节点用于对所述证明信息进行验证,若验证通过,则基于所述各目标用户的资产数据对所述区块中的各交易进行交易合法性验证。2.如权利要求1所述的方法,其特征在于,基于所述各目标用户的资产数据和范围资产数据生成证明信息,包括:根据所述各目标用户的资产数据形成的第一向量构造第一置换向量;所述第一置换向量中相同的元素彼此相邻;根据所述范围资产数据形成的第二向量构造第二置换向量;根据所述第一置换向量中相同的元素的第一个元素的位置确定所述第二置换向量中与所述第一个元素相同的元素的位置;针对所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量中的任一向量,构造所述向量的取值多项式和承诺打开证明多项式;根据所述第一向量和所述第一置换向量的置换关系以及所述第二向量和所述第二置换向量的置换关系,构造置换关系多项式;针对任一随机数,将所述随机数代入所述置换关系多项式、任一向量对应的取值多项式和承诺打开证明多项式,分别得到多个第一子证明信息。3.如权利要求2所述的方法,其特征在于,在针对所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量中的任一向量,构造所述向量的取值多项式和承诺打开证明多项式之前,还包括:将所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量的向量长度均扩充至2
k

1;其中2
k
‑1<u<2
k
,u为所述范围资产数据形成的第二向量的向量长度;在得到所述证明信息之前,还包括:构造第一选择子多项式Q
blind
(x)和第二选择子多项式Q
last
(x);其中所述第一选择子多项式Q
blind
(x)满足:在u≤x<2
k
时,Q
blind
(x)=1,在0<x<u时,Q
blind
(x)=0;所述第二选择子多项式Q
last
(x)满足:在x=u时,Q
last
(x)=1,在x≠u时,Q
last
(x)=0;所述方法还包括:将所述随机数代入所述第一选择子多项式Q
blind
(x)和所述第二选择子多项式Q
last
(x),得到多个第二子证明信息。4.如权利要求2所述的方法,其特征在于,在针对所述第一向量、所述第一置换向量、所述第二向量和所述第二置换向量中的任一向量,构造所述向量的取值多项式之后,还包括:
对所述向量对应的取值多项式作出承诺,得到所述向量对应的承诺值;根据所述第一向量和所述第一置换向量的置换关系以及所述第二向量和所述第二置换向量的置换关系,构造置换关系多项式,包括:根据密钥、所述第一向量和所述第一置换向量的置换关系以及所述第二向量和所述第二置换向量的置换关系构造所述置换关系多项式;所述密钥为根据各向量对应的承诺值得到的。5.如权利要求2所述的方法,其特征在于,所述随机数和/或所述密钥为所述轻节点提供。6.一种区块链节...

【专利技术属性】
技术研发人员:冼祥斌周禄张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1