System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术大体上涉及计算机实现的安全方法和密码技术。更具体地,本专利技术涉及一种用于原子交换资源控制的方法。本专利技术特别适合但不限于在一个或多个区块链和关联的协议上使用。
技术介绍
1、在本文献中,我们使用术语“区块链”用来包括所有形式的电子的、基于计算机的、分布式的账本。这些包括基于共识的区块链和交易链技术、被许可的和未被许可的账本、共享账本及其变型。尽管已经提出并开发了其他区块链实现,但是区块链技术最广为人知的应用是加密货币帐本。尽管为了方便和说明的目的在本文中可能提及加密货币,但是应当注意,本专利技术不限于与加密货币区块链一起使用,并且替代的区块链实现和协议落入本专利技术的范围内。术语“用户”在本文中可以指基于人类或基于处理器的资源。另外,术语“加密货币”在本文中被用于包括源自或基于加密货币协议/平台的协议/平台的所有版本和变型。
2、区块链是一种点对点的电子帐本,其被实现为基于计算机的去中心化的、分布式系统,该系统由区块组成,该区块又由交易组成。每个交易是数据结构,该数据结构对区块链系统中的参与者之间的数字资产或资源的控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,以使得区块被链接在一起来创建自区块链建立以来就已经被写入到该区块链的所有交易的永久、不可更改的记录。交易包含被称为嵌入到交易的输入和输出中的脚本的小程序,这些小程序指定如何以及谁可以访问交易的输出。在加密货币平台上,使用基于堆栈的脚本语言编写这些脚本。
3、为了将交易写入区块链,必须对其进行“
4、尽管区块链技术因使用加密货币实现方式而被广泛了解,但数字企业家已经开始探索使用加密货币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可以用于不限于加密货币领域的自动化任务和过程,那将是非常有利的。这样的方案将能够利用区块链的好处,例如,事件的永久性、防篡改记录、分布式处理等,同时在其应用中具有更多用途。
5、原子交换的概念先前已在加密货币社区中讨论过。各方之间的交换是“原子性的”,其从某种意义上说,即所有参与者都收到了他们期望的资源(例如,加密货币令牌或硬币),或者参与者都没有接收到他们期望的资源。在撰写本文档时,维基百科将原子交换描述为“在加密货币中提出的功能,其允许一种加密货币与另一种加密货币进行交换,而无需受信任的第三方。在传统的加密货币中,诸如加密货币交易所之类的受信任的第三方对于进行加密货币的交换是必需的,以防止一方在没有收到返回的货币情况下发送货币。原子交换系统使用哈希时间锁定的智能合约,从而当事方必须在指定时间内交付要交换的货币,否则交易将被取消。这样可以保持原子性,因为要么进行交换,要么没有交换货币”-https://en.wikipedia.org/wiki/atomic_swap。
6、但是,提出的原子交换方案涉及仅使用一个秘密,并且交换是异步执行的。这产生了以下缺点:必须先花费一笔交易,然后才能花费另一笔交易。
7、此外,
技术实现思路
1、因此,期望提供一种密码增强的资源交换方法,该方法原子地交换具有由区块链技术提供的不信任和不变性的资源资产,并且增强了在区块链实现的网络上进行转移的安全性。
2、现在已经设计出了这种改进的方案。
3、根据本专利技术的第一方面,提供了一种计算机实现的交换、互换或转移方法。根据附加的或替代的限定,第一方面提供了一种安全方法,该安全方法控制资源何时可以或不可以跨网络从发送者传输到接收者。附加地或可替代地,本专利技术提供了一种方法和对应的系统,其被布置为经由区块链执行值的原子交换或原子传输。该方法可以包括以下步骤:
4、(i)将第一用户可访问的第一秘密值转换为第一派生公钥,并将该第一派生公钥发送给第二用户;
5、(ii)将第二用户可访问的第二秘密值转换为第二派生公钥,并将该第二派生公钥发送给第一用户;
6、(iii)至少部分地基于第一派生公钥来计算第三派生公钥;
7、(iv)至少部分地基于第二派生公钥来计算第四派生公钥;
8、(v)对第一秘密值和第二秘密值中的每一个应用单向函数,以创建相应的第一隐蔽秘密值和第二隐蔽秘密值;
9、(vi)将第一隐蔽的秘密值从第一用户传达到第二用户,并且将第二隐蔽的秘密值从第二用户传达到第一用户;以及
10、(vii)构造第一区块链交易和第二区块链交易,其每一个包括第一隐蔽的秘密值和第二隐蔽的秘密值,交易被布置为在向相应的交易提供第一秘密值和第二秘密值时是可解锁的,以转移对相应的第一资源或第二资源的控制,
11、其中,第一区块链交易的解锁使第一秘密值被揭示给第二用户,第二区块链交易的解锁使第二秘密值被揭示给第一用户,以及
12、其中,向第二用户揭示第一秘密值使第二用户能够计算与第三派生公钥相对应的第二私钥,向第一用户揭示第二秘密值使第一用户能够计算与第四派生公钥相对应的第一私钥。
13、该方法可以通过包括至少两个交易(tx1和tx2)来提供原子交换机制,每个交易具有至少一个未花费的输出(utxo),该至少一个未花费的输出仅在向与相应的输出相关联的多个难题或脚本提供所需的标准时才可以被解锁。换句话说,第一交易中未花费的输出的锁定和解锁标准可以与该交易或另一交易中未花费的输出的锁定标准相同并通过其被镜像。
14、向第一交易中未花费的输出提供所需的解锁标准可以揭示解锁该交易或另一交易中未花费的输出所需的一个或多个秘密值或使其是可访问的。包含秘密值的解锁脚本可以在后续交易的输入中提供,该后续交易在第一交易或第二交易中花费输出。一旦后续交易的解锁脚本与第一交易或第二交易的锁定脚本一起被执行,那么后续交易就可以被验证并随后被发布在区块链上,这使在后续交易的输入中提供的一个或多个秘密值是从区块链可访问的或可读的。
15、该方法提供了一种确保在不信任的环境中原子交换私钥的安全方法,在该环境中,该方法的任何用户都没有比其他用户拥有对该方法的更多的控制。秘密值与对应的隐蔽的秘密值有关,因为秘密值不能从隐蔽的秘密值中确定,但是隐蔽的秘密值可以从秘密值中确定。这种关系的示例是将单向函数(例如,哈希或模算术)应用于秘密值提供隐蔽的秘密值。因此,根据一种限定,隐蔽(秘密)值可以是可以从原始(秘密)值导出或已经从原始(秘密)值导出的值,但不能用于确定原始(秘密)值。可能无法对隐蔽值进行逆向工程以本文档来自技高网...
【技术保护点】
1.一种计算机实现的安全方法,所述方法包括以下步骤,在第一用户处:
2.根据权利要求1所述的方法,其中,所述第一交易被配置为仅在应用第一私钥时是能赎回的。
3.根据权利要求2所述的方法,还包括计算(40)以下中的至少一个的步骤:(a)至少部分地基于所述第一用户的第一公钥的第一派生公钥;以及(b)至少部分地基于所述第二用户的第二公钥的第二派生公钥,其中,所述第一派生公钥是具有第一私钥的加密密钥对的一部分,所述第二派生公钥是具有第二私钥的加密密钥对的一部分。
4.根据权利要求3所述的方法,其中,计算(a)至少部分地基于第一用户的第一公钥的第一派生公钥以及(b)至少部分地基于第二用户的第二公钥的第二派生公钥中的至少一个的步骤还包括:第一隐蔽秘密值和第二隐蔽秘密值的组合(38)。
5.根据权利要求4所述的方法,其中,所述第一隐蔽秘密值和所述第二隐蔽秘密值的组合包括第一隐蔽秘密值和第二隐蔽秘密值的串接、以及至少一个隐蔽秘密值与随机或伪随机值的串接中的至少一个。
6.根据前述权利要求中的任一项所述的方法,还包括构造(44)以下中的至
7.根据前述权利要求中的任一项所述的方法,其中,所述第一隐蔽秘密值和所述第二隐蔽秘密值中的至少一个包括第一秘密值和第二秘密值中的至少一个与第一用户和第二用户两者都能访问的共享秘密值的组合(32)。
8.根据权利要求7所述的方法,其中,所述共享秘密值在步骤(i)之前被建立为公共秘密(CS)。
9.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
10.根据权利要求9所述的方法,还包括使用在步骤(ix)中揭示的至少一个隐蔽秘密值来至少执行权利要求1至9中任一项的步骤(vi)。
11.一种系统,包括:
12.一种或多种非暂时性计算机可读存储介质,其上存储有指令,所述指令能够由计算机系统的一个或多个处理器执行,以使所述计算机系统执行根据权利要求1至10中任一项所述的方法。
...【技术特征摘要】
1.一种计算机实现的安全方法,所述方法包括以下步骤,在第一用户处:
2.根据权利要求1所述的方法,其中,所述第一交易被配置为仅在应用第一私钥时是能赎回的。
3.根据权利要求2所述的方法,还包括计算(40)以下中的至少一个的步骤:(a)至少部分地基于所述第一用户的第一公钥的第一派生公钥;以及(b)至少部分地基于所述第二用户的第二公钥的第二派生公钥,其中,所述第一派生公钥是具有第一私钥的加密密钥对的一部分,所述第二派生公钥是具有第二私钥的加密密钥对的一部分。
4.根据权利要求3所述的方法,其中,计算(a)至少部分地基于第一用户的第一公钥的第一派生公钥以及(b)至少部分地基于第二用户的第二公钥的第二派生公钥中的至少一个的步骤还包括:第一隐蔽秘密值和第二隐蔽秘密值的组合(38)。
5.根据权利要求4所述的方法,其中,所述第一隐蔽秘密值和所述第二隐蔽秘密值的组合包括第一隐蔽秘密值和第二隐蔽秘密值的串接、以及至少一个隐蔽秘密值与随机或伪随机值的串接中的至少一个。
6.根据前述权利要求中的任一项所述的方法,还包括构造(44)以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。