System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 使用第1层区块链来实现第2层令牌协议制造技术_技高网

使用第1层区块链来实现第2层令牌协议制造技术

技术编号:41423506 阅读:6 留言:0更新日期:2024-05-28 20:23
一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第一方执行并且包括:获取第一区块链事务,所述第一区块链事务包括第一输出,所述第一输出包括第一锁定脚本,所述第一锁定脚本包括令牌数据;基于所述第一锁定脚本来构建默克尔树,其中所述令牌数据在所述默克尔树的一个或多个叶之间划分;基于第一消息来生成第一签名,所述第一消息包括所述默克尔树的默克尔根;以及,提供所述第一签名以包括在所述第一区块链事务的第二输出中。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及使用第1层区块链来实现第2层令牌(token)协议的方法。


技术介绍

1、区块链是指一种分布式数据结构,其中在分布式对等(p2p)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务(transaction)。除所谓的“coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,回到一个或多个coinbase事务。coinbase事务将在下文进一步讨论。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题。应当注意的是,区块链可以在一些节点处被修剪(prune),并且区块的发布可以通过仅发布区块头来实现。

2、区块链中的事务可用于以下目的中的一个或多个:传送数字资产(即,一定数量的数字令牌);对虚拟化分类账或注册表中的一组条目进行排序;接收和处理时间戳条目;和/或对索引指针按时间排序。也可利用区块链实现区块链上的层级附加功能。例如,区块链协议可允许在事务中存储附加的用户数据或数据索引。能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可用于在区块链中存储电子文档、音频或视频数据。

3、区块链网络的节点(通常称为“矿工”)执行分布式事务注册和验证过程,这将后续更详细地描述。总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作证明解。一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块。为了将事务记录在区块链中,用户(例如,区块链客户端应用程序)将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作证明解。每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件。无效事务将不会传播或并入到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引。

4、成功解决工作证明难题可创建最新区块的节点通常被奖励一个称为“coinbase事务”的新事务,该事务分发数字资产数额,即令牌数量。无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为。信息的广泛发布使得用户可以连续地审计节点的性能。仅发布区块头使得参与者可以确保区块链具有持续完整性。

5、在“基于输出的”模型(有时称为基于utxo的模型)中,给定事务的数据结构包括一个或多个输入和一个或多个输出。任何可花费输出包括指定数字资产数额的元素,该元素可从进行中的事务序列导出。可花费输出有时称为utxo(“未花费事务输出”)。输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件。锁定脚本是限定核实和传送数字令牌或资产所必需的条件的谓词。事务(除coinbase事务之外)的每个输入包括指向先前事务中的此类输出的指针(即引用),并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本。第二目标事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。

6、在此类模型中,当第二目标事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件。另一条件将是第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务(作为有效事务,但可能注册无效事务),也不将该事务包括在要记录在区块链中的新区块中。

7、另一种事务模型是基于账户的模型。在这种情况下,每个事务均不通过参考过去事务序列中先前事务的utxo来定义转移的数额,而是通过参考绝对账户余额进行定义。所有账户的当前状态由节点单独存储到区块链中,并不断更新。


技术实现思路

1、区块链被设计为不可变,这意味着一旦事务写入区块链,就会被视为不可能改变。然而,事务数据可能包含私有或敏感信息,可能需要加以保护,防止未经授权的访问。又如,事务数据可以包含至少在某些司法管辖区属于非法的内容。可能被视为私有、敏感或非法的数据在本文中称为“秘密数据”,由于需要避免分发或授予对此类数据的访问权限,将这些数据称为“秘密”数据。

2、现有的许多令牌协议都利用所述区块链。通常,令牌协议允许发行、转移和兑换令牌等。这里,令牌是表示现实世界资产的所有权的数字资产,例如汽车、房屋、电影票、门禁卡等。如果包含令牌相关数据的事务被认为包含上述秘密数据的示例,则可能出现问题。在这种情况下,可能需要证明事务包含所述令牌相关数据,而无需揭示所述事务的其他部分,例如所述秘密数据。此外,令牌发行者可能需要能够以不使所述令牌发行者对所述事务的其他部分负责的方式来证明令牌的发行,所述事务的所述其他部分(在发行时或之后)可能被认为是所述秘密数据。

3、根据本文公开的一个方面,提供了一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第一方执行并且包括:获取第一区块链事务,所述第一区块链事务包括第一输出,所述第一输出包括第一锁定脚本,所述第一锁定脚本包括令牌数据;基于所述第一锁定脚本来构建默克尔树,其中所述令牌数据被划分于所述默克尔树的一个或多个叶之间;基于第一消息来生成第一签名,所述第一消息包括所述默克尔树的默克尔根;以及,使所述第一签名能被使用,以包括在所述第一区块链事务的第二输出中。

4、所述第一方可以是令牌发行者(例如,爱丽丝),所述令牌发行者负责操作令牌方案并向令牌持有者发行令牌。由所述令牌发行者签名的所述第一消息包括基于令牌脚本生成的默克尔树的默克尔根,所述令牌脚本是包含令牌相关数据的脚本。这意味着,作为所述令牌发行者,爱丽丝只能处理与令牌操作本身相关的数据。这使得所述令牌持有者(例如,鲍勃)能够自由地根据自己的喜好构建所述事务的其余部分,而爱丽丝可以从鲍勃增加的隐私中受益,因为她只需要对所述事务的令牌特定方面负责。这在阻止事务内容的情况下也有影响。例如,如果所述令牌脚本之外的剩余事务数据被所述区块链网络的节点判定为非法并进行了编辑,则所述令牌发行者仍将能够证明他们在授权所述令牌操作中所扮演的角色,而无需访问所述编辑的数据。这可以通过爱丽丝提供与令牌脚本数据对应的默克尔叶、这些叶相对于所述令牌脚本的所述默克尔根的默克尔证明以及对所述默克尔根进行签名的所述第一签名来实现。

<本文档来自技高网...

【技术保护点】

1.一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第一方执行并且包括:

2.根据权利要求1所述的方法,其中所述第一锁定脚本包括一个或多个函数,并且其中所述的构建所述默克尔树包括:将一个或多个相应连续函数序列分组为所述默克尔树的相应叶。

3.根据权利要求2所述的方法,其中所述第一锁定脚本包括数据函数,所述数据函数被配置为在执行时指示所述令牌数据,并且其中所述的构建所述默克尔树包括:包括所述数据函数作为相应默克尔树的相应叶的一部分。

4.根据权利要求3所述的方法,其中所述第一锁定脚本包括所述令牌数据的数据长度,并且其中所述的构建所述默克尔树基于所述数据长度。

5.根据权利要求4所述的方法,其中所述的构建所述默克尔树包括:包括所述数据长度作为所述默克尔树的与所述数据函数相同的相应叶的一部分。

6.根据前述任一项权利要求所述的方法,其中所述令牌数据在所述默克尔树的多个所述相应叶之间划分。

7.根据前述任一项权利要求所述的方法,其中所述的提供所述第一签名以包括在所述第一区块链事务的所述第二输出中包括:将所述第一签名包括在所述第二输出中。

8.根据前述任一项权利要求所述的方法,其中获取所述第一区块链事务包括:生成所述第一区块链事务。

9.根据权利要求1至7中任一项所述的方法,其中获取所述第一区块链事务包括:从第二方接收所述第一区块链事务。

10.根据前述任一项权利要求所述的方法,其中所述第一区块链事务包括由所述第二方生成的第二签名,其中所述第二签名基于第二消息,所述第二消息基于所述第一区块链事务。

11.根据前述任一项权利要求所述的方法,所述方法包括:将所述第一区块链事务提交到区块链网络的一个或多个区块链节点。

12.根据权利要求1至10中任一项所述的方法,所述方法包括:将所述第一区块链事务发送给所述第二方,以提交到区块链网络的一个或多个区块链节点。

13.根据权利要求11或12所述的方法,所述方法包括:向请求方发送所述令牌数据的默克尔证明。

14.根据权利要求10或其任何从属权利要求所述的方法,其中所述第一签名和所述第二签名是不同类型的签名。

15.一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第二方执行并且包括:

16.根据权利要求15所述的方法,所述方法包括:生成第二区块链事务,其中所述第二区块链事务包括第一输出,所述第一输出包括所述第一签名。

17.根据权利要求15所述的方法,所述方法包括:包括所述第一签名作为所述第一区块链事务的一部分。

18.根据权利要求16或其任何从属权利要求所述的方法,所述方法包括:

19.根据权利要求18所述的方法,其中所述第一锁定脚本包括一个或多个函数,并且其中所述的构建所述脚本默克尔树包括:将一个或多个相应连续函数序列分组为所述脚本默克尔树的相应叶。

20.根据权利要求19所述的方法,其中所述第一锁定脚本包括数据函数,所述数据函数被配置为在执行时指示所述令牌数据,并且其中所述的构建所述脚本默克尔树包括:包括所述数据函数作为所述相应脚本默克尔树的相应叶的一部分。

21.根据权利要求19所述的方法,其中所述第一锁定脚本包括所述令牌数据的数据长度,并且其中所述的构建所述脚本默克尔树基于所述数据长度。

22.根据权利要求21所述的方法,其中所述的构建所述脚本默克尔树包括:包括所述数据长度作为所述脚本默克尔树的与所述数据函数相同的相应叶的一部分。

23.根据权利要求18或其任何从属权利要求所述的方法,其中所述令牌数据在所述脚本默克尔树的多个所述相应叶之间划分。

24.根据权利要求18或其任何从属权利要求所述的方法,其中所述第一区块链事务的字段包括所述第一输出,并且其中在构建所述事务默克尔树时使用所述脚本默克尔树的所述默克尔根来替换所述第一锁定脚本。

25.根据权利要求17或其任何从属权利要求所述的方法,所述方法包括:将所述第二区块链事务提交到区块链网络的一个或多个区块链节点。

26.根据权利要求17或其任何从属权利要求所述的方法,所述方法包括:

27.根据权利要求16或其任何从属权利要求所述的方法,其中所述第一事务包括第三签名,所述第三签名基于第三消息,所述第三消息基于所述第一区块链事务。

28.根据权利要求26或27所述的方法,其中所述第一签名和所述第二签名是不同类型的签名。

29.根据权利要求27或28所述的方法,其中所述第一签名和所述第三签名...

【技术特征摘要】
【国外来华专利技术】

1.一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第一方执行并且包括:

2.根据权利要求1所述的方法,其中所述第一锁定脚本包括一个或多个函数,并且其中所述的构建所述默克尔树包括:将一个或多个相应连续函数序列分组为所述默克尔树的相应叶。

3.根据权利要求2所述的方法,其中所述第一锁定脚本包括数据函数,所述数据函数被配置为在执行时指示所述令牌数据,并且其中所述的构建所述默克尔树包括:包括所述数据函数作为相应默克尔树的相应叶的一部分。

4.根据权利要求3所述的方法,其中所述第一锁定脚本包括所述令牌数据的数据长度,并且其中所述的构建所述默克尔树基于所述数据长度。

5.根据权利要求4所述的方法,其中所述的构建所述默克尔树包括:包括所述数据长度作为所述默克尔树的与所述数据函数相同的相应叶的一部分。

6.根据前述任一项权利要求所述的方法,其中所述令牌数据在所述默克尔树的多个所述相应叶之间划分。

7.根据前述任一项权利要求所述的方法,其中所述的提供所述第一签名以包括在所述第一区块链事务的所述第二输出中包括:将所述第一签名包括在所述第二输出中。

8.根据前述任一项权利要求所述的方法,其中获取所述第一区块链事务包括:生成所述第一区块链事务。

9.根据权利要求1至7中任一项所述的方法,其中获取所述第一区块链事务包括:从第二方接收所述第一区块链事务。

10.根据前述任一项权利要求所述的方法,其中所述第一区块链事务包括由所述第二方生成的第二签名,其中所述第二签名基于第二消息,所述第二消息基于所述第一区块链事务。

11.根据前述任一项权利要求所述的方法,所述方法包括:将所述第一区块链事务提交到区块链网络的一个或多个区块链节点。

12.根据权利要求1至10中任一项所述的方法,所述方法包括:将所述第一区块链事务发送给所述第二方,以提交到区块链网络的一个或多个区块链节点。

13.根据权利要求11或12所述的方法,所述方法包括:向请求方发送所述令牌数据的默克尔证明。

14.根据权利要求10或其任何从属权利要求所述的方法,其中所述第一签名和所述第二签名是不同类型的签名。

15.一种使用区块链实现令牌协议的计算机实现的方法,其中所述方法由第二方执行并且包括:

16.根据权利要求15所述的方法,所述方法包括:生成第二区块链事务,其中所述第二区块链事务包括第一输出,所述第一输出包括所述第一签名。

17.根据权利要求15所述的方法,所述方法包括:包括所述第一签名作为所述第一区块链事务的一部分。

18.根据权利要求16或其任何从属权...

【专利技术属性】
技术研发人员:穆罕默德·萨比尔·基拉兹杰克·欧文·戴维斯刘卫
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

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

1