System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 在区块链网络上进行时间释放加密的计算机实现的系统和方法技术方案_技高网

在区块链网络上进行时间释放加密的计算机实现的系统和方法技术方案

技术编号:41306664 阅读:5 留言:0更新日期:2024-05-13 14:51
描述了一种计算机实现的方法,用于在区块链网络上生成公共加密密钥并允许在指定时间段之后访问相应的私有加密密钥。所述方法包括在所述区块链网络上的代理和客户之间构建数字时间锁合约,所述代理具有在所述区块链网络上的代理地址和相关联的代理签名,所述客户具有在所述区块链网络上的客户地址及相关联的客户签名。所述数字时间锁合约规定:来自所述代理的第一加密资产;来自所述客户的第二加密资产;加密公钥;和,时间窗口,代理应该在所述时间窗口内释放对应于所述加密公钥的加密私钥,所述时间窗口由时间窗口打开的时间t和时间窗口关闭的时间段Δt定义。其中,构造所述数字时间锁合约以便能够进行相应转移。

【技术实现步骤摘要】

本说明书主要涉及用于时间释放加密的数字时间锁合约。


技术介绍

1、在本文中,使用术语“区块链”来包括所有形式的电子的、基于计算机的分布式账本,包括但不限于区块链和事务链技术、许可及未许可的账本、共享账本及其变型。应当指出的是,本专利技术不限于与特定区块链一起使用,其他的区块链实施方式和协议也落入本专利技术的范围内。

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

3、为了将事务写入区块链,必须对该事务进行“验证”。一些网络节点执行工作以确保每个事务有效,无效事务则被网络拒绝。例如,安装在所述节点上的软件客户在引用未花费的事务输出(unspent transaction outputs,简称utxo)的事务上执行验证工作。可通过执行其锁定和解锁脚本来执行验证。如果锁定和解锁脚本的执行评估为真(true),并且如果满足某些特定条件,则该事务有效,可将该事务写入区块链。因此,为了将事务写入区块链,该事务必须:i)由接收事务的节点进行验证——如果事务经验证通过,则该节点将该事务中继到网络中的其他节点;ii)添加到新区块中;iii)被挖掘,即添加到过去事务的公共账本中。当向区块链添加充分数量的区块以使事务实际上不可逆转时,事务被视为已确认。

4、数字企业家已经开始探索使用加密安全系统、以及可存储在区块链上的数据来实现新系统。如果区块链能够用于自动化任务和过程,那么将是非常有利的。这类解决方案将能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在所述解决方案的应用中更具通用性。

5、研究的领域之一是使用区块链来实现“智能合约”。这些智能合约是旨在自动执行机器可读合约或协议条款的计算机程序。与用自然语言编写的传统合约不同,智能合约是一种机器可执行程序,包括可处理输入以产生结果的规则,智能合约可根据这些结果执行操作。

6、与区块链相关的另一领域是使用“通证token”通过区块链来表示和转移现实世界的实体。潜在的敏感或秘密物品可以由没有明显意义或价值的通证来表示。因此,通证充当标识符,允许从区块链引用现实世界的物品。

7、如前所述,本说明书主要涉及用于时间释放加密的数字时间锁合约。时间释放加密的基本目的是,消息可以在当前时间进行加密,但在未来某个特定时间之前,任何人都不能解密。这实际上是一种“将消息发送到未来”或把信息放入“时间囊”的方式。这种功能有许多可能的应用,包括:

8、·密封式拍卖(sealed bid auctions)

9、·密钥托管方案

10、·无收据投票

11、·机密数据的定时释放

12、·政治敏感信息的“死人开关”(“dead man’s switch”)

13、瑞文斯特(rivest)、沙米尔(shamir)和瓦格纳(wagner)在1996年的第一篇详细论文[rivest 1996]中概述了实现时间释放加密系统的两种通用方法。所述两种方法是:

14、1.“时间锁谜题”的使用——信息的加密需要费时的计算工作才能解密。

15、2.使用可信代理,所述代理承诺在未来特定时间之前不会泄露秘密信息。

16、其中第一种方法不需要第三方参与,但是存在两个严重且不可避免的弊端:首先,由于计算硬件的性能差异和未知的未来技术创新,不可能高精度地预测解决特定谜题所需的时间。其次,执行解密的一方必须在整个时间锁期间执行连续且昂贵的计算工作。

17、第二种方法可能在释放的时机上既准确又精确,并且不需要任何一方执行昂贵的计算。但是,它确实依赖于第三方代理,该代理必须可信以在正确的时间释放正确的密钥。代理的可信度至关重要——除非能够有效激励代理正确执行操作。

18、与区块链网络上的时间锁加密相关的背景信息总结如下。

19、“以太坊闹钟”(“ethereum alarm clock”)规定,用户在提供保证金后,可以在预定的时间段内执行事务。例如,参见url网址:docs.ethereum-alarm-clock.com/en/latest/claiming.html#claim-deposit;和https://github.com/pipermerriam/ethereum-alarm-clock/commits/master/docs/claiming.rst。这允许在以后的某个时间和特定的时间窗口内安排事件。此外,如果未在特定的时间窗口内执行,则执行者可以赢回保证金,也可以将其没收。服务还包括付款,该付款支付给在所述预定时间执行事务的帐户。

20、《μ链:没有硬叉如何忘记》(“μchain:how to forget without hard forks”)(网址:https://eprint.iacr.org/2017/106.pdf)公开了时间锁加密的示例。在公开的用例中,用户对机密文件进行加密。解密者可以通过向智能合约发送事务来请求访问解密密钥,该智能合约触发功能来检查是否已超过了截止期限t。如果时间合适,则解密者获取密钥。建议系统可以提供更高级的功能,例如只有在特定时间窗口内请求时才提供解密密钥。

21、一些文章表明,提供一种有吸引力的方式来构建定时承诺的版本,其中承诺者必须在一定的时间框架内泄露其秘密或支付罚款。如果游戏因参与者行为不诚实而提前终止,则没收参与者提供的保证金。

22、us2016086175公开了一种用于访问资产的区块链系统。房间具有私有/公共密钥对,以及希望在一定时间内租用房间的用户向其存入存款的地址;此类数据包括在事务中。时间合适时,锁会打开,允许用户进入房间。用户向房间提供者支付费用,以获得房间的使用权,如果在所需时间内房间不可用,则退还该费用。


技术实现思路

1、本说明书描述了一种能够通过无许可的公共区块链来保护时间释放加密服务的系统和方法。所述服务生成公钥,然后在所述服务的客户指定的未来时间释放相应的私钥。这项服务的安全性和可靠性源自新型智能合约系统,激励在正确的时间释放所述私钥,并惩罚密钥的提前或延迟释放或泄漏。所述服务设计为无信任的:所述客户不能访问私钥,但是它们仅为所述服务提供加密资产,并保证在所述合约中指定的时间在区块链上显示正确的值。在一个示例中,这通过零知识证明与事务输出的时间锁定和散列锁定相结合来实现。本文档来自技高网...

【技术保护点】

1.一种计算机实现的方法,用于在区块链网络上生成公共加密密钥并允许在指定时间段之后访问相应的私有加密密钥,所述方法由处理资源实施,所述方法包括:

2.根据权利要求1所述的方法,其中,所述第一加密资产是来自所述代理的保证金。

3.根据权利要求1或2所述的方法,其中,所述第二加密资产是来自所述客户的费用。

4.根据前述权利要求中任一项所述的方法,其中,所述代理与多个所述客户签订多个数字时间锁合约。

5.根据前述权利要求中任一项所述的方法,其中,所述代理包括持有所述加密私钥的单个代理。

6.根据权利要求1至4中任一项所述的方法,其中,所述代理包括多个代理,每个代理都持有所述加密私钥的份额。

7.根据权利要求6所述的方法,其中,所述第一加密资产和所述第二加密资产被分割于所述多个代理之间;和

8.根据前述权利要求中任一项所述的方法,其中,所述方法还包括:将所述数字时间锁合约广播到所述区块链网络,以挖掘到所述区块链上。

9.根据权利要求8所述的方法,其中,所述数字时间锁合约在被挖掘到所述区块链中之后被激活,并且所述加密公钥能公开用于加密数据,所述数据在释放所述加密私钥之前无法解密。

10.根据前述权利要求中任一项所述的方法,其中,所述方法由所述客户发送表示希望建立所述数字时间锁合约的请求来发起。

11.根据前述权利要求中任一项所述的方法,其中,所述代理构建所述加密公钥和加密私钥对。

12.根据前述权利要求中任一项所述的方法,其中,所述时间窗口指定为所述时间窗口打开的时间t和所述时间窗口关闭之后的时间段Δt。

13.一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令在被执行时,使处理器用于执行权利要求1至12中任一项所述的方法。

14.一种电子设备,包括:

...

【技术特征摘要】

1.一种计算机实现的方法,用于在区块链网络上生成公共加密密钥并允许在指定时间段之后访问相应的私有加密密钥,所述方法由处理资源实施,所述方法包括:

2.根据权利要求1所述的方法,其中,所述第一加密资产是来自所述代理的保证金。

3.根据权利要求1或2所述的方法,其中,所述第二加密资产是来自所述客户的费用。

4.根据前述权利要求中任一项所述的方法,其中,所述代理与多个所述客户签订多个数字时间锁合约。

5.根据前述权利要求中任一项所述的方法,其中,所述代理包括持有所述加密私钥的单个代理。

6.根据权利要求1至4中任一项所述的方法,其中,所述代理包括多个代理,每个代理都持有所述加密私钥的份额。

7.根据权利要求6所述的方法,其中,所述第一加密资产和所述第二加密资产被分割于所述多个代理之间;和

8.根据前述权利要求中任一项所述的方法,其中...

【专利技术属性】
技术研发人员:托马斯·特雷维坦
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1