区块链上的协议制造技术

技术编号:37349307 阅读:7 留言:0更新日期:2023-04-22 21:46
一种将协议记录在区块链上的计算机实现的方法,所述协议是请求方与确认方之间的协议,其中所述方法由所述请求方执行并且包括:生成请求事务,其中所述请求事务包括输入和至少第一输出,所述输入由所述请求方签名,所述第一输出包括加密难题,所述加密难题基于对所述请求方和所述确认方已知的第一数据项,其中所述第一数据项表示所述协议;以及,使所述请求事务传输到一个或多个区块链节点。求事务传输到一个或多个区块链节点。求事务传输到一个或多个区块链节点。

【技术实现步骤摘要】
【国外来华专利技术】区块链上的协议


[0001]本公开涉及一种将请求方与确认方之间的协议记录在区块链上的方法,更具体地,涉及证明双方同意该协议。

技术介绍

[0002]区块链是指一种分布式数据结构,其中在分布式对等(P2P)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务(transaction)。除所谓的“coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,直到一个或多个coinbase事务为止。coinbase事务将在下面讨论。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作量证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题。应当注意的是,区块链可以在节点处被修剪,并且区块的发布可以通过仅发布区块头来实现。
[0003]区块链中的事务用于执行以下操作中的一个或多个:传送数字资产(即,一定数量的数字代币);对虚拟化分类账或注册表中的一组日记账分录进行排序;接收和处理时间戳条目和/或对索引指针按时间排序。也可利用区块链实现区块链上的分层附加功能。区块链协议可允许在事务中存储附加的用户数据或数据索引。能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可用于在区块链中存储电子文档、音频或视频数据。
[0004]区块链网络的节点(通常称为“矿工”)执行分布式事务注册和验证过程,这将在下面详细描述。总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作量证明解。一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块。为了将事务记录在区块链中,用户(例如,区块链客户端应用程序)将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作量证明解。每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件。无效事务将不会传播或并入到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引。
[0005]成功解决工作量证明难题可创建最新区块的节点通常被奖励一个称为“coinbase事务”的新事务,该事务分发数字资产数额,即代币数量。无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为。信息的广泛发布使得用户可以连续地审计节点的性能。仅发布区块头使得参与者可以确保区块链具有持续完整性。
[0006]在“基于输出的”模型(有时称为基于UTXO的模型)中,给定事务的数据结构包括一
个或多个输入和一个或多个输出。任何可花费输出包括指定数字资产数额的元素,该元素可从进行中的事务序列导出。可花费输出有时称为UTXO(“未花费事务输出”)。输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件。锁定脚本是限定核实和传送数字代币或资产所必需的条件的谓词。事务(除coinbase事务之外)的每个输入包括指向先前事务中的此类输出的指针(即引用),并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本。第二目标事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。
[0007]在此类模型中,当第二目标事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件。另一条件将是第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务(作为有效事务,但可能注册无效事务),也不将该事务包括在要记录在区块链中的新区块中。
[0008]另一种事务模型是基于账户的模型。在这种情况下,每个事务均不通过参考过去事务序列中先前事务的UTXO来定义转移的数额,而是通过参考绝对账户余额进行定义。所有账户的当前状态由节点单独存储到区块链中,并不断更新。

技术实现思路

[0009]区块链可以用于记录双方之间的协议(例如,法律合同)。例如,所述协议可以包括在事务中。提交给区块链网络之后,所述事务将发布在所述区块链上。虽然这是有用的,但是能够证明双方已明确同意或批准所述协议将是有益的。该“同意证明proof of consent”可以由所述协议的双方用于执行合同、解决争议等。
[0010]根据本文公开的一个方面,提供了一种将请求方与确认方之间的协议记录在区块链上的计算机实现的方法,其中所述方法由所述请求方执行并且包括:生成请求事务,其中所述请求事务包括输入和至少第一输出,所述输入由所述请求方签名,所述第一输出包括加密难题,所述加密难题基于对所述请求方和所述确认方已知的第一数据项,其中所述第一数据项表示所述协议;以及,使所述请求事务传输到一个或多个区块链节点。
[0011]根据本文公开的一个方面,提供了一种使用区块链记录请求方与确认方之间的协议的计算机实现的方法,其中所述方法由所述确认方执行并且包括:生成确认事务,其中所述确认事务包括输入,所述输入引用请求事务的输出,其中所述请求事务的所述输出包括加密难题,所述加密难题基于对所述请求方和所述确认方已知并且表示所述协议的第一数据项,并且其中所述确认事务的所述输入包括所述第一数据项;以及,使所述确认事务传输到一个或多个区块链节点。
[0012]所述请求方(例如,爱丽丝)设置加密难题。为了解决所述加密难题,需要了解爱丽丝希望与确认方(例如,鲍勃)签订的所述协议。也就是说,爱丽丝提交给所述区块链网络的所述请求事务包括输出,所述输出包括所述加密难题。为了解锁所述输出,鲍勃的事务中引用所述输出的输入必须包括所述加密难题的解。作为一个示例,所述加密难题可以是哈希
难题,所述哈希难题需要鲍勃提供所述协议的哈希;或者,作为一个替代示例,所述哈希难题需要鲍勃提供所述协议本身。
[0013]为了接受所述协议,鲍勃生成确认事务,所述确认事务包括输入,所述输入包含所述加密难题的解。由于加密难题的性质,爱丽丝的难题只能通过唯一解(例如,所述协议或所述协议的哈希)来解开。因此,通过提供所述唯一解,鲍勃表示同意所述协议。另一方面,如果爱丽丝和鲍勃实际上想要签订不同的协议(例如,具有不同的条款或条件),那么鲍勃的解不会解开爱丽丝的难题。这会提醒爱丽丝和鲍勃所请求的协议尚未确认。
[0014]本专利技术的具体用例涉及许可协议领域,例如知识产权(IP)许可。鲍勃可以是所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种将协议记录在区块链上的计算机实现的方法,所述协议是请求方与确认方之间的协议,其中所述方法由所述请求方执行并且包括:生成请求事务,其中所述请求事务包括输入和至少第一输出,所述输入由所述请求方签名,所述第一输出包括加密难题,所述加密难题基于对所述请求方和所述确认方已知的第一数据项,其中所述第一数据项表示所述协议;以及使所述请求事务传输到一个或多个区块链节点。2.根据权利要求1所述的方法,其中所述第一数据项包括所述协议,或者其中所述第一数据项包括至少所述协议的哈希。3.根据权利要求1或2所述的方法,其中所述第一输出包括第二加密难题,所述第二加密难题基于对所述请求方和所述确认方已知的第二数据项,其中所述第二数据项表示所述请求方的标识符。4.根据前述任一项权利要求所述的方法,其中所述请求事务包括一个或多个附加数据项,并且其中所述一个或多个附加数据项包括以下各项中的一项、一些或全部:所述协议的双重哈希;所述请求方的所述标识符的双重哈希;指示所述请求事务表示对所述协议的请求的指示符;对广告事务的引用,其包括指示所述广告事务表示所述协议的广告的指示符。5.根据权利要求4所述的方法,其中所述请求事务包括第二输出,所述第二输出包括所述附加数据项中的一个、一些或全部。6.根据前述任一项权利要求所述的方法,其中所述第一输出被配置为在以下条件下经由退还事务的输入解锁:所述退还事务的所述输入包括与所述请求方和/或所述确认方相关联的相应签名。7.根据权利要求6所述的方法,其中所述第一输出包括多重签名锁定脚本。8.根据权利要求6或7所述的方法,所述方法包括:获取退还事务,其中所述退还事务包含输入,所述输入引用所述请求事务的所述第一输出并且包括与所述请求方和/或所述确认方相关联的相应签名,并且其中所述退还事务包含输出,所述输出锁定至所述请求方;以及使所述退还事务传输到一个或多个区块链节点。9.根据权利要求8所述的方法,所述方法包括:生成所述退还事务的未签名版本;以及将所述退还事务的未签名版本传输给所述确认方。10.根据权利要求9所述的方法,其中所述获取退还事务包括:接收包含所述输入的所述退还事务的版本,所述输入包括与所述确认方相关联的所述相应签名;以及使用与所述请求方相关联的所述相应签名对所述输入进行签名。11.根据权利要求8至10中任一项所述的方法,其中所述退还事务包括时间限制,所述时间限制被配置为防止所述退还事务在经过指定时间之前发布在所述区块链上。12.根据前述任一项权利要求所述的方法,其中所述请求事务的所述第一输出在锁定脚本中包括分隔符操作码,其后是基于所述第一数据项的所述加密难题,其后是签名检查
操作码。13.根据前述任一项权利要求所述的方法,其中所述加密难题包括单向函数。14.根据前述任一项权利要求所述的方法,其中所述加密难题包括以下各项中的一项:哈希难题、私钥难题、或r难题。15.一种使用区块链记录协议的计算机实现的方法,所述协议是请求方与确认方之间的协议,其中所述方法由所述确认方执行并且包括:生成确认事务,其中所述确认事务包括输...

【专利技术属性】
技术研发人员:杰克
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

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

1