一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

知识证明的制作方法

2022-02-20 05:06:51 来源:中国专利 TAG:

技术特征:
1.一种执行知识证明的计算机实现方法,其基于椭圆曲线数字签名算法ecdsa;其中所述方法包括在区块链网络的验证节点处:获取第一交易,所述第一交易包括可运行代码,所述代码包括用于评估基于联合r值r
joint
定义的挑战的参考数据;接收一笔或多笔第二交易,所述一笔或多笔第二交易包含至少包括一对第一ecdsa签名i=1,2中的每个相应签名的相应r部分r
i
和s部分s
i
的信息,其中所述一对第一edcsa签名中的每个签名基于对应于相应第一公钥p
i
的相应第一私钥v
i
对所述一笔或多笔第二交易中的一笔第二交易的一部分进行签名;运行所述第一交易的所述代码,所述代码被配置为基于所述第一交易中的所述参考数据和在所述一笔或多笔第二交易中接收的所述r部分r
i
来验证所述挑战是否得以应对,并且在所述挑战得以应对的条件下返回true结果,所述挑战包括以下条件:r1 r2=λ
2-r
joint
mod p,其中r1 r2表示标量加法,r
joint
=[r
joint
]
x
,通过椭圆点加法得到的r
joint
=r1 r2,p是素数模,r
i
=k
i
·
g,x
i
=[r
i
]
x
,y
i
=[r
i
]
y
,k
i
是临时密钥,g是椭圆曲线生成点,[]
x
表示[...]的x坐标,[]
y
表示[...]的y坐标,“·”表示椭圆曲线标量乘法。2.根据权利要求1所述的方法,其中接收指示λ2的数据作为在所述一笔或多笔第二交易中的至少一笔第二交易中接收的所述信息的一部分,并且基于所述接收的指示λ2的数据来执行所述确定。3.根据权利要求1所述的方法,其中所述第一交易中的所述参考数据包括p和λ
2-r的值。4.根据权利要求1、2或3所述的方法,其中所述方法包括:获取每个所述第一ecdsa签名的所述相应第一公钥;应用所述ecdsa的验证函数以基于所述相应第一公钥和所述签名的部分来验证每个第一ecdsa签名,其中所述代码被配置为在每个所述第一ecdsa签名的所述验证的另一条件下返回所述true结果。5.根据权利要求4述的方法,其中所述获取所述第一公钥包括接收所述第一公钥作为所述一笔或多笔第二交易中的所述信息的一部分。6.根据前述任一项权利要求所述的方法,其中所述代码被配置为输出所述true结果,而不管使用谁的公钥作为所述第一ecdsa签名中的一个、一些或全部签名的所述相应第一公钥。7.根据前述任一项权利要求所述的方法,其中所述ecdsa基于以下形式的椭圆曲线:y2=x3 7。8.根据前述任一项权利要求所述的方法,其中所述ecdsa是secp256k1算法。9.根据前述任一项权利要求所述的方法,其中每个所述第一ecdsa签名是不同的相应第二方的签名,所述挑战至少部分由第一方定义。10.根据权利要求9所述的方法,其中每个所述第一ecdsa签名的所述r部分和s部分由所述相应第二方使用相应的临时密钥k
i
生成。11.根据权利要求10述的方法,其中每个相应的临时密钥由所述第一方提供给所述相应第二方,反之亦然。12.根据权利要求11所述的方法,其中:
p
i
=v
i
·
g,k
i
∈[1,n-1],r
i
=k
i
·
g,r
i
=[r
i
]
x
,s
i
=k
i-1
(h
sig
(m) r
ivi
)mod n,其中k
i
是所述相应的临时密钥,m
i
是所述签名的第二交易的所述相应的签名部分,h
sig
是用于在生成所述相应的ecdsa签名时对m进行哈希处理的哈希函数,n是所述生成点的素数阶。13.根据权利要求7至12中任一项所述的方法,所述方法包括在由所述代码返回的所述结果为true的条件下为所述第一方触发服务。14.根据权利要求7至13中任一项所述的方法,其中所述接收所述一笔或多笔第二交易包括从所述第二方中的一个接收所述第二交易中的每笔交易。15.根据权利要求7至14中任一项所述的方法,其中在所述第二交易中接收的所述信息包括至少一个所述第二方的另一加密签名,所述至少一个所述第二方使用该方的另一私钥,所述另一私钥对应于另一公钥。16.根据权利要求15所述的方法,其中映射可用于使所述第一方和/或第三方能够基于所述另一公钥来查找所述至少一个第二方的身份。17.根据权利要求15或16所述的方法,其中所述代码被配置为使用所述另一公钥验证所述另一加密签名,并在所述另一加密签名被验证的另一条件下返回所述true结果。18.根据权利要求7至17中任一项所述的方法,其中在所述第二交易中接收的所述信息更包括使用所述第一方的私钥的所述第一方的加密签名。19.根据权利要求7至18任一项所述的方法,其中:在所述第二交易中接收的所述信息包括所述第一方中的一个、一些或全部中的每一个的附加的ecdsa签名,所述附加的ecdsa签名具有不同值的所述r部分(与所述第一ecdsa签名不同),但是使用与所述第一ecdsa签名相同的相应私钥;所述代码被配置为使用所述相应第一公钥验证每个所述附加的ecdsa签名,并在所述附加的ecdsa签名被验证的另一条件下返回所述true结果。20.根据前述任一项权利要求所述的方法,其中所述代码被配置为使得能够将较大的r部分值集合中的任何两个r部分值用作r1和r2。21.根据从属于权利要求7至19任一项的权利要求20所述的方法,其中:所述集合包括至少三对r部分值;将不同的相应k值对分配给至少三个第二方中的每一个,从而使他们能够生成集合中所述对中的相应一个;r1是所述第二方中的一个的所述r部分值中的一个,r2是所述第二方中的另一个的所述r部分值中的一个;因此,所述代码使得所述至少三个第二方中的任何两个能够应对所述挑战。22.根据前述任一项权利要求所述的方法,其中在所述同一第二方中接收所述信息。23.根据权利要求22所述的方法,其中所述交易中的每笔交易包括数据结构,所述数据结构包括一个或多个输入和一个或多个输出,其中每个输出包括锁定脚本,每个输入包括
解锁脚本和指向另一交易的输出的指针;其中所述代码包含所述第一交易的所述锁定脚本,其中所述信息包含所述第二交易的输入中的所述解锁脚本,并且其中所述第二交易的所述输入中的所述指针指向所述第一交易的所述输出;所述方法包括至少在所述代码返回所述true结果的条件下核实所述交易有效,并且响应于所述核实,包括以下各项中的至少一项:-将所述第二交易包括在交易池中,以便由所述验证节点挖掘到一个或多个区块中;和/或-将所述第二交易转发到所述区块链网络的至少一个其他节点。24.根据权利要求1至22中任一项所述的方法,其中所述交易根据基于账户的模型进行配置,所述代码包含包括在所述第一交易中的智能合约。25.根据权利要求24所述的方法,其中所述信息是通过多个第二交易接收的。26.一种计算机程序,所述计算机程序包含在计算机可读存储器上,并且被配置为当在网络的节点上运行时,执行根据前述任一项权利要求所述的方法。27.一种网络的节点,所述节点包括:存储器,所述存储器包括一个或多个存储单元;处置装置,所述处置装置包括一个或多个处理单元;其中,所述存储器存储被设置为在所述处理装置上运行的代码,所述代码被配置为当在所述处理装置上运行时执行根据权利要求1至25中任一项所述的方法。28.一种用于记录在区块链中的第一交易,所述第一交易包含在一个或多个计算机可读介质上,其中所述第一交易包括可运行代码;其中所述代码包括用于基于一笔或多笔第二交易来评估基于联合r值r
joint
定义的挑战的参考数据,所述一笔或多笔第二交易包含至少包括一对第一ecdsa签名i=1,2中的每个相应签名的相应r部分r
i
和s部分s
i
的信息,其中所述一对第一edcsa签名中的每个签名基于对应于相应第一公钥p
i
的相应第一私钥v
i
对所述一笔或多笔第二交易中的一笔第二交易的一部分进行签名;其中所述代码被配置为基于所述第一交易中的所述参考数据和在所述一笔或多笔第二交易中接收的所述r部分r
i
来验证所述挑战是否得以应对,并且在所述挑战得以应对的条件下返回true结果,所述挑战包括以下条件:r1 r2=λ
2-r
joint
mod p,其中r1 r2表示标量加法,r
joint
=[r
joint
]
x
,r
joint
=r1 r2(通过椭圆点加法),p是素数,r
i
=k
i
·
g,x
i
=[r
i
]
x
,y
i
=[r
i
]
y
,k
i
是临时密钥,g是椭圆曲线生成点,[]
x
表示[...]的x坐标,[]
y
表示[...]的y坐标,“·”表示椭圆曲线标量乘法。

技术总结
在区块链网络的节点处:获取第一交易,所述第一交易包括可运行代码,所述可运行代码包括用于评估基于联合r值r


技术研发人员:杰德
受保护的技术使用者:区块链控股有限公司
技术研发日:2020.04.21
技术公布日:2022/1/10
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献