System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于区块链网络上分层令牌分配的系统和方法技术方案_技高网

用于区块链网络上分层令牌分配的系统和方法技术方案

技术编号:41555428 阅读:2 留言:0更新日期:2024-06-06 23:41
公开一种参与区块链实现的令牌分配过程的方法。令牌分配过程将与输入节点相关联的输入地址处初始数量的令牌划分为多个子数量,然后使用区块链将子数量分配给与相应输出节点相关联的多个输出地址。令牌分配过程由输入节点、输出节点和多个混合器节点共同实现。所述方法可以在混合器节点(U<subgt;ij</subgt;)处实现,包括:识别与混合器节点(U<subgt;ij</subgt;)相关联的多个下游节点(U<subgt;ijk</subgt;)以及上游节点(U<subgt;i</subgt;);与上游节点合作,生成用于上游节点与混合器节点之间的第一事务的第一承诺通道(U<subgt;i</subgt;→U<subgt;ij</subgt;);以及对于多个下游节点的每个下游节点:与下游节点合作,生成用于混合器节点与下游节点之间的第二事务的第二承诺通道(U<subgt;ij</subgt;→U<subgt;ijk</subgt;),其中,用于第一事务的解锁脚本是从用于第二事务中的任何一个的解锁脚本导出的。

【技术实现步骤摘要】

本专利技术总体涉及经由区块链进行的转移和事务,尤其涉及用于在令牌混合系统中提供加密安全性、以允许多个输入节点合作将令牌分配给多个输出节点的方法和装置。


技术介绍

1、在本文献中,我们使用术语“区块链”来包括所有形式的电子、基于计算机的分布式账本。它们包括但不限于区块链和事务链技术、许可和非许可账本、共享账本及其变体。应当注意,本专利技术不限于与特定区块链一起使用,并且替代性区块链实施方式和协议也落入本专利技术的范围内。

2、区块链是基于共识的电子账本,被实现为基于计算机的去中心化、分布式系统,系统由区块组成,区块相应地由事务(transaction)组成。每个事务是一种数据结构,该数据结构对于数字资产在区块链系统参与者之间的控制转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列值,以至于它们变为链接在一起,以创建自其创始以来写入区块链的所有事务的永久、不变的记录。事务包含嵌入其输入和输出的称为脚本的小程序,它们指定如何以及由谁访问事务的输出。在一些平台上,这些脚本是使用基于堆栈的脚本语言编写的。

3、为了将事务写入区块链,必须对其进行“验证”。网络节点进行工作以确保每个事务有效,而无效事务被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本来对未耗用事务(utxo)进行此验证工作。如果锁定和解锁脚本的执行评估为true,则事务有效并被写入区块链。因此,为了将事务写入区块链,必须:i)由接收事务的第一节点验证–如果事务被验证,则节点将其中继到网络中的其他节点;ii)添加到网络节点建造的新区块中;以及iii)开采,即添加到过去事务的公共账本中。

4、与区块链有关的感兴趣的另一个领域是使用“令牌(token)”来表示现实世界的实体并经由区块链来转移该现实世界的实体。潜在的敏感或秘密项目可以用没有明显含义或值的令牌表示。令牌因此用作允许从区块链引用现实世界项目的标识符。令牌例如可以表示对网络资源和/或数字资产的未来控制。在某些情况下,令牌可以表示资产或值。本申请被更广泛地理解为涉及用于令牌的分布式转移的区块链网络。

5、区块链技术的公认优势之一是事务的匿名性。用户的个人详细信息并未正式、明确地附加到区块链地址,并且区块链的账本仅包含公共地址信息。但是,使用辅助数据(例如完成事务所需的收件地址)和分析,感兴趣的第三方可能能够组合公开可用的信息,以将区块链账本的事务详细信息与真实身份相关联。在某些系统(投票系统、医疗应用程序等)中出于多种原因(例如安全性和/或机密性),在网络内部或网络中的用户可追溯性可能不理想。

6、可通过区块链数据识别用户的一种方式是由特定地址控制的区块链令牌的数量。通过跟踪在区块链网络上广播的事务中的令牌流,有可能将一定数量的令牌归因于一个地址。令牌数量相应地可用于(例如,由外部第三方)推导与地址相关联的用户身份。例如,如果确定从一个地址转移来的令牌总数相当大,那么可将与该地址相关联的用户的可能身份的集合减少为仅包括那些已知持有或能够持有如此大量令牌的身份。

7、在一个地址上的令牌保持“完好”(即保持为统一的数量)而不是进行从所述地址实际转移令牌之前将其拆分成多个子数额/数量的情况下,保护用户身份的困难尤其突出。即使采用各种匿名技术试图掩盖令牌从一个地址的转移时,如果要经由事务转移的令牌保持完好,那么所述地址发起的事务将更容易被跟踪。但是,在一个地址上拆分令牌数量并不是一项简单任务,并且带来了技术挑战。特别地,将一个地址上令牌的初始数量划分为较小的子数量的任务带来了将用户与初始数量分离、同时仍保持所有权(即对令牌的控制)的技术挑战。

8、因此,希望提供用于在区块链地址处划分和分配令牌数量的方法和装置,以促进增强在区块链事务中从输入到输出的不可追溯性和不可链接性。

9、但是,当尝试在区块链网络中安全地混合和分配令牌时,存在很多技术问题。例如,如果在参与者节点(或者与该参与者节点相关联的另一个节点)已经执行允许其他令牌释放到其他节点的协议之前,参与者节点能够主张令牌,那么安全性可能受到损害。此外,重要的是防止令牌的故意或意外错误分配,例如由于离线参与者。

10、现在已经设计出这样的解决方案。


技术实现思路

1、因此,根据本专利技术,提供如所附权利要求所限定的方法和装置。

2、本专利技术可以提供一种计算机实现的方法和对应的系统。可将该方法/系统描述为区块链实现的方法/系统。可将本专利技术描述为安全方法或密码方法/系统。它可以提供数字资源/资产(例如令牌)的安全传输。附加性或替代性地,它可以提供用于控制数字资产/资源的转移的控制机制。为了便于参考,本文可将资产或资源称为“令牌”。

3、可以按照有序的方式构建“承诺通道”,并且可以按照分层的方式布置多个节点。根节点可以控制分层结构内令牌转移或交换的执行(例如,将令牌分配到特定节点)。本文所述方法和系统可通过确保参与者节点未对分配中涉及的任何令牌进行解锁/访问,直到或除非控制器节点已经确定了已经适当创建承诺通道并且控制器节点已经启动令牌转移过程,来提高令牌分配的安全性。然后,控制器节点可以启动秘密值的顺序揭示,当与承诺通道的分层布置结合时,可以确保参与节点接收令牌的预期分布。例如,沿着分层结构的每个路径的秘密值的顺序揭示可以允许参与节点沿着转移这些令牌的路径从相应节点接收令牌。顺序秘密揭示仅在所有令牌事务已由参与节点签名且承诺通道已由控制器节点确定为适当创建和完成时,才允许参与节点接收其各自的令牌。

4、附加性或替代性地,本申请可以描述一种计算机实现的方法,该方法参与资源(或“资产”或“令牌”)分配过程以用于将与输入节点相关联的输入地址处的一定数量的资源/资产/令牌分为多个子数量,并使用区块链将子数量分配给与相应输出节点相关联的多个输出地址。下面为方便起见,使用术语“令牌”代替“资源”或“资产”。

5、令牌分配过程可以由输入节点、输出节点和多个混合器节点共同实现。该方法可以在混合器节点处实现。它可包括:

6、识别与混合器节点相关联的多个下游节点以及上游节点;与上游节点合作,生成用于上游节点和混合器节点之间的第一(区块链)事务的第一承诺通道;

7、以及对于多个下游节点中的每个下游节点:与下游节点合作,生成用于混合器节点与下游节点之间的第二事务的第二承诺通道,使得从用于所述第二事务中的任何一个事务的解锁脚本中,导出用于第一(区块链)事务的解锁脚本。

8、附加性或替代性地,本申请可以提供一种计算机实现的方法,所述方法参与令牌分配过程以将与输入节点相关联的输入地址处的一定数量的令牌划分为多个子数量,以及使用区块链将所述子数量分配给与各个输出节点相关联的多个输出地址,所述方法包括:

9、启动分层令牌分配协议(简称为htd协议)的实例以确定所述区块链中的多个节点的多级分层结构,其中确定所述多级分层结构包括征集多个混合器节点,其中每个混合器节点被配置为从上游节点接本文档来自技高网...

【技术保护点】

1.一种计算机实现的方法,所述方法参与令牌分配过程以将与输入节点相关联的输入地址处的一定数量的令牌划分为多个子数量,以及使用区块链将所述子数量分配给与各个输出节点相关联的多个输出地址,所述方法包括:

2.根据权利要求1所述的方法,其中启动所述HTD协议的所述实例还包括:

3.根据权利要求1或2所述的方法,其中生成所述第二承诺通道包括:

4.根据权利要求3所述的方法,其中,基于所述混合器节点的值分配方案来确定所述一定数量的令牌(xi),所述值分配方案识别要转移到所述多个下游节点中的每个下游节点的相应数量。

5.根据权利要求3或4所述的方法,其中,所述第三区块链事务(Tt)包括解锁脚本,所述解锁脚本包含与所述第二承诺通道相关联的第二秘密值(svijk)。

6.根据权利要求5所述的方法,还包括获取与所述第二承诺通道相关联的所述第二秘密值(svijk)。

7.根据权利要求6所述的方法,还包括使用所述第二秘密值(svijk)导出与所述第一承诺通道相关联的第一秘密值)(svij)。

8.根据权利要求7所述的方法,其中,所述第一秘密值(svij)基于与所述输入节点相关联的秘密密钥值(ks),所述秘密密钥值(ks)对于所有混合器节点都是未知的。

9.根据上述权利要求中任一项所述的方法,还包括将混合器密钥值(kij)传输到所述上游节点和所述输入节点。

10.根据上述权利要求中任一项所述的方法,其中,所述混合器节点包括第一地址以及多个第二地址,所述混合器节点在所述第一地址处检测第一数量的令牌从所述上游节点的转移,所述混合器节点从所述多个第二地址向所述下游节点转移所述第一数量中的多个子数量。

11.根据权利要求10所述的方法,其中,在所述多个第二地址处的令牌的总数量至少等于所述第一数量。

12.根据权利要求3至11中任一项所述的方法,其中,所述第二区块链事务(Tr,0)包括事务参数(nLockTime),所述事务参数指定时间点,在所述时间点之后所述第二区块链事务变得有资格提交到所述区块链。

13.根据权利要求3至12中任一项所述的方法,其中,在所述下游节点对所述第二区块链事务(Tr,0)进行签名之后,将所述第一区块链事务(Tc)提交到所述区块链。

14.根据上述权利要求中任一项所述的方法,其中,在生成任何第二承诺通道之前生成所述第一承诺通道。

15.一种参与令牌分配过程的计算装置,所述令牌分配过程包括输入节点、多个输出节点和多个混合器节点,所述计算装置包括:

16.一种非暂态处理器可读介质,用于存储处理器可执行指令以参与令牌分配过程,所述令牌分配过程包括输入节点、多个输出节点和多个混合器节点,其中,在由所述节点之一中的处理器执行时,所述处理器可执行指令使得所述处理器执行权利要求1至14中任一项所述的方法。

...

【技术特征摘要】

1.一种计算机实现的方法,所述方法参与令牌分配过程以将与输入节点相关联的输入地址处的一定数量的令牌划分为多个子数量,以及使用区块链将所述子数量分配给与各个输出节点相关联的多个输出地址,所述方法包括:

2.根据权利要求1所述的方法,其中启动所述htd协议的所述实例还包括:

3.根据权利要求1或2所述的方法,其中生成所述第二承诺通道包括:

4.根据权利要求3所述的方法,其中,基于所述混合器节点的值分配方案来确定所述一定数量的令牌(xi),所述值分配方案识别要转移到所述多个下游节点中的每个下游节点的相应数量。

5.根据权利要求3或4所述的方法,其中,所述第三区块链事务(tt)包括解锁脚本,所述解锁脚本包含与所述第二承诺通道相关联的第二秘密值(svijk)。

6.根据权利要求5所述的方法,还包括获取与所述第二承诺通道相关联的所述第二秘密值(svijk)。

7.根据权利要求6所述的方法,还包括使用所述第二秘密值(svijk)导出与所述第一承诺通道相关联的第一秘密值)(svij)。

8.根据权利要求7所述的方法,其中,所述第一秘密值(svij)基于与所述输入节点相关联的秘密密钥值(ks),所述秘密密钥值(ks)对于所有混合器节点都是未知的。

9.根据上述权利要求中任一项所述的方法,还包括将混合器密钥值(kij)传输到所述上游节点和所述输入节点。

【专利技术属性】
技术研发人员:D·约瑟夫
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1