【技术实现步骤摘要】
【国外来华专利技术】知识证明
[0001]本公开涉及一种知识证明,该知识证明经由在区块链中记录的一组交易实现。
技术介绍
[0002]区块链是指一种分布式数据结构形式,其中在点对点(P2P)网络中的多个节点中的每个节点处维护区块链副本。区块链包括一系列数据区块,其中每个区块包括一笔或多笔交易。每笔交易都可以回指序列中的先前交易。交易可以通过提交到网络包括在新区块中。新区块的创建过程称为“挖掘”,该过程涉及多个挖掘节点中的每个挖掘节点争相执行“工作量证明”,即基于等待包括在区块中的未决交易池解决加密难题。
[0003]区块链中的交易通常用于传递数字资产,即用作价值储存手段的数据。但是也可利用区块链实现区块链上的分层附加功能。例如,区块链协议可允许在交易输出中存储附加用户数据。现代区块链在单一交易中可储存的最大数据容量在不断增加,从而能够并入更复杂的数据。例如,这可用于在区块链中存储电子文档,甚至音频或视频数据。
[0004]网络中的每个节点可以具有以下三个角色中的任何一个、两个或全部:转发、挖掘和存储。转发节点在整个网络节点中传播 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种使用在区块链网络中维护的区块链中记录的一组交易来执行知识证明的计算机实现的方法,所述方法包括:挑战者确定竞争挑战,所述竞争挑战具有可从中推导出的挑战解;在挑战者设备上确定所述竞争挑战的签名挑战;向所述区块链网络提交在所述区块链中记录的至少一笔挑战交易中的所述签名挑战;其中将所述竞争挑战传送给多个相互竞争的被挑战者,而不直接传送所述挑战解,从而导致所述相互竞争的被挑战者争相从所述竞争挑战推导出所述挑战解的独立实例;其中所述被挑战者中第一个成功推导出所述挑战解的独立实例的被挑战者使用所述挑战解的所述独立实例的数据作为秘密被挑战者密钥以在被挑战者设备上对至少一条消息进行签名并由此生成至少一个交易签名,并向所述区块链网络提交至少一笔证明交易中的所述至少一个交易签名和所述至少一条消息,从而使所述区块链网络的节点确定所述至少一个交易签名是否满足所述签名挑战。2.根据权利要求1所述的方法,其中所述签名挑战包括公共签名验证数据,其中所述挑战者确定所述挑战解,并使用所述挑战解的数据作为秘密挑战者密钥来生成所述公共签名验证数据,从而使所述节点基于所述消息和所述公共签名验证数据来验证所述交易签名。3.根据权利要求1或2所述的方法,其中所述交易签名是使用椭圆曲线数字签名算法(ECDSA)生成的。4.根据权利要求2和3所述的方法,其中所述秘密挑战者密钥和所述秘密被挑战者密钥用作临时密钥,所述公共签名验证数据是从所述被秘密挑战者密钥推导出的已发布r部分数据,其中所述节点确定所述至少一个交易签名是否满足所述签名挑战,方法是将签名验证函数应用于:(i)所述交易签名的s部分;(ii)以下各项中的一项:(iia)所述交易签名的r部分,在这种情况下,进一步使所述节点检查所述已发布r部分数据与所述交易签名的所述r部分是否匹配;或(iib)所述至少一笔挑战交易的所述已发布r部分数据的已发布r部分。5.根据权利要求4所述的方法,其中所述已发布r部分数据包括已发布r部分哈希值,并且所述节点通过以下方法验证所述交易签名:将所述签名验证函数应用于所述交易签名的所述r部分和所述s部分;基于所述交易签名的所述r部分计算交易r部分哈希值;确定所述交易r部分哈希值与所述已发布r部分哈希值是否匹配。6.根据权利要求4或5所述的方法,其中使用由所述至少一笔证明交易标识但未由所述至少一笔挑战交易指定的公钥来验证所述交易签名,由此可以使用任何私钥来生成满足所述签名挑战的至少一个交易签名。7.根据权利要求3至5中任一项所述的方法,其中所述至少一笔证明交易包括第二交易签名,其中所述交易签名和所述第二交易签名是使用公共私钥生成的,但是所述第二交易签名使用不同的临时密钥。8.根据权利要求2或从属于权利要求2的权利要求3所述的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。