区块链精确延迟加密的方法、系统、计算设备及计算机可读存储介质技术方案

技术编号:20821237 阅读:29 留言:0更新日期:2019-04-10 06:18
公开了无可信第三方下实现精确延迟加密的方法、系统、计算设备及计算机可读存储介质,方法包括:选择N个参与者,N个参与者为全部或部分区块链方,特征为存在某个k,使得2(k‑1)

【技术实现步骤摘要】
区块链精确延迟加密的方法、系统、计算设备及计算机可读存储介质
本专利技术涉及区块链领域,尤其涉及区块链精确延迟加密的方法、系统、计算设备及计算机可读存储介质。
技术介绍
区块链被广泛认为是分布式数据存储,可作为资产注册和交易执行中的许多问题的解决方案。对于区块链(或分布式账本)的本质,其中假设的内容,以及应该如何使用区块链有多种不同的观点,总结现有技术的区块链包括如下技术要点:区块链为一个数据库,具有一个用户集合U,其中一个子组M是“矿工”。一些用户可以与现实生活绑定,另外有些用户是匿名的;任何人都可以写入数据库,他们可以选择是否签署此类物品;矿工决定哪些项目会通过共识机制被写入,他们只在如果接受它会违反区块链的一致性规则(例如双重支出交易)这种情形下有权拒绝写入,这一目标通过共识机制实现和保证;矿工创建以严格顺序发布的写入块,由每个非初始块强制执行,包括其前一个的加密哈希,这些块通过哈希运算(MerkleTrees)进行内部验证;区块链包括时间戳机制,可以为块中的项目分配时间,使得后继块中的所有时间都大于其前一个中的所有时间;主要根据属于公众(即任何人可以开采)或是私人(开采仅限于相对较少的授权方)的区块链确定是否有可能会投票消灭一个已发布的区块,并因此可能改变历史。区块链通常将资产表示为未花费的交易:有一笔交易将一些钱,股票,土地等转移给Alice,而她还没有花掉它。匿名身份之间的交易实际上是匿名的:所有权归结为某些密钥中。因此,尽管使用区块链的每个人都可以看到其上发生了什么交易,但身份,以及对分类记账不必要的其他信息,例如正在发生权属转移的内容,实际上被隐藏了。保持交易细节秘密的目的是保持某些投资者或经纪人的交易活动的秘密,以便其他人在决定他们自己的活动时不能利用这些信息。因此,特别是对于区块链的功能而言不需要存在的事务的所有细节都可以被延迟加密。然而,许多证券交易所和其他服务需要比这更大的透明度,这意味着可能需要在交易中记录诸如受益所有者(交易之前和之后)之类的事情。在目前的交易所中,可以包括这些信息,但仅限于某些方,或者仅在交易后30分钟(例如)提供。当区块链中所有信息都是公开的情况下,如何将这些信息与区块链保持一致,目前可以寻求在后续访问不会随着时间的推移而增加,以及精确的延迟加密可以实现的地方,使用加密,精确的延时加密实现的地方可能存在普通加密。这种加密可以隐藏发生交易的双方的信息,但不能隐瞒某些安全交易正在发生的事实。然而,真实交易在某种程度上可以被伪装,如任何拥有某物的人都可以在他拥有的两个身份之间转移它,并且在延迟信息公开之前,它看起来与真实交易完全相同。因此提出了时间锁加密细化的技术,这一概念最早出现在1990年代,通常隐含的假设以及所实施的加密技术是延迟很长的时间。所谓延迟delay(x,t),其表征一个值,任何人都可以在时刻t或之后的时间去解密它,但在此之前没有人可以解密。现有技术中存在用于创建协议和随机公平交换的机制,机制谨慎地拒绝可能会使欺骗发生的参与者信息,或者拒绝那些如果由这些参与者早些得到会更容易发生欺骗的信息。在这些技术中,没有对于延迟信息硬性和快速的时间表从而使延迟信息可用,一般来讲,所需协议在某个时刻t之前不可用,并且可以在时刻t之后的某个合理时刻被任何人提取,我们将这个时间定义为下限延迟。没有可信第三方(TTP)情况下实现的方式包括:创建它的一方应用具有公知的逆的函数,该函数需要较大的顺序计算量进行计算,该计算量足以使得没有人可以在t之前进行逆运算从而进行解密或者欺骗。然而,这种技术不涉及在没有TTP的情况下如何实现精确延迟,即任何人可以在t时刻立即获得x。存在TTP情况下的方案很多。如果我们有一个TTPSam,那么确切的延迟可以如下实现。Sam被编程为在t0,t1,t2,...系列中的每个时刻创建一个新的密钥对(pkr,skr)。在时刻tr很久之前,Sam签署证书,宣布pkr是时间tr的密钥。在精确的时刻tr,Sam发布了skr。现在Alice可以对任意时刻tr创建一个延迟X:她只需要读取pkr然后进行延迟(x,tr)从而获得{x}pkr,当然根据应用程序的需要,可能需要添加其他参数。显然,任何人都可以在超过指定时间后获得x。当然,如果Sam不值得信赖,他可能无法按时交付skr,提前发布,或者尽早告诉他的朋友。当然,这一方法存在问题,例如如果Alice在时刻t之前向某人颁发了延迟(x,t),那么在t时刻x变得可见可能不符合她的最佳利益,或者当时Alice可能处于脱机状态。因此,不能依靠Alice作为唯一可信的一方进行自身发布,即不采用单个进程(Alice代表的)创建密钥对,而是需要找到一种方法来保证在无需信任任何一方的情况在时刻t释放x,即如何在没有TTP的情况下实现精确的延迟加密。对于区块链的一个描述是它代表了一个由许多不值得信任的个体组成的可信第三方。然而,该可信第三方并不是那种显然可用于创建精确延迟的TTP。精确的延迟加密在智能合约中应用最为显著,智能合约是代表两方或多方之间合同的一段代码。智能合约放置在区块链上,确定何时执行智能合约后执行交易。因为区块链可以被所有用户读取,所以任何人都可以检查代码。即一旦代码出现在区块链中,执行合同的条件以及它将执行的交易的性质就会公开;其他方可以自由地寻找合同中的弱点,弱点可能是由于交易员犯了错误或作出了错误的判断或者在智能合约中引入了错误,其他人可以在闲暇时发现并思考这些错误并影响市场或占据利用弱点的位置,该位置最有可能是他们自己的优势并且损害参与其中的一方或多方的位置。智能合约中最著名的实际安全漏洞,即DAO攻击就属于这一类。如果合同只是说明它将被执行的时间,那么就可以直接防止出现这种问题:只需延迟加密合同代码直到那个时间。负责执行它的节点然后解密它并在这样的t运行它。精确的延迟加密显然在分布式密封拍卖和招标协议中也有很大的用途:投标必须通过延迟交易来密封,直到它们被打开时(在投标结束后),这实际上是一种有效的反腐措施。此外,它也可能用于电子投票协议,以防止任何人在民意调查结束前计票。
技术实现思路
鉴于上述技术问题,本公开内容提出了如何在没有TTP的情况下实现精确的延迟加密的方法和系统,专利技术构思在于构建了一个区块链系统模型,形成对可信任并后续加密使用的抽象,该区块链系统模型利用区块链中假设的相同信任模型,并为参与过程提供假设在同一信任模型中执行的附加功能。在本公开内容的一个方面,提供了一种区块链精确延时加密方法,包括:第一步,选择N个参与者,所述N个参与者具有如下性质:存在某个k,使得2(k-1)<N,并且其中不超过k-1个选中的参与者是不值得信任的;第二步,N个参与者对应N个进程,所有N个进程Pj为每个时间ti创建密钥对(pkji,skji),并且单独地按照与上述相同的时间ti构成的时间表发布密钥pkji和skji;第三步,创建延迟delay(x,ti),提供x的N份sj,使得其中k份可以重组x而k-1不会显示任何内容;pkjr可用情况下使用pkjr加密sj,其中delay(x,tr)为所有{sj}pkjr的组合;第四步,任何具有延迟tr的一方得到k份额正确数值并推断x,并且tr时间前没有人能本文档来自技高网
...

【技术保护点】
1.一种区块链精确延时加密方法,其特征在于包括步骤:S101,选择N个参与者,所述N个参与者具有如下性质:存在某个k,使得2(k‑1)

【技术特征摘要】
1.一种区块链精确延时加密方法,其特征在于包括步骤:S101,选择N个参与者,所述N个参与者具有如下性质:存在某个k,使得2(k-1)<N,并且其中不超过k-1个选中的参与者是不值得信任的;S102,N个参与者对应N个进程,所有N个进程Pj为每个时间ti创建密钥对(pkji,skji),并且单独地按照与上述相同的时间ti构成的时间表发布密钥pkji和skji;S103,创建延迟delay(x,ti),提供x的N份sj,使得其中k份可以重组x而k-1不会显示任何内容;pkjr可用情况下使用pkjr加密sj,其中delay(x,tr)为所有{sj}pkjr的组合,采用阈值加密或者托管加密方式;S104,任何具有延迟tr的一方得到k份额正确数值并推断x,并且tr时间前没有人能够通过所述数值访问x。2.根据权利要求1所述的区块链精确延时加密方法,其特征在于:所述步骤S101中N个参与者为全部区块链方或部分区块链方。3.根据权利要求1所述的区块链精确延时加密方法,其特征在于:所述步骤S103中采用阈值加密方案来提供x的N份sj。4.根据权利要求1所述的区块链精确延时加密方法,其特征在于:所述步骤S101包括评估威胁模型,以确定每次需要生成秘钥的参与者的数量以及被认为可信任的参与者的数量。5.根据权利要求1所述的区块链精确延时加密方法,其特征在于:对履行角色发布密钥的参与者采用与挖矿相同的奖励机制,并且对没有发布密钥或者提前向另一个节点传递密钥的参与者节点进行惩罚。6.根据权利要求1所述的区块链精确延时加密方法,其特征在于:所述步骤102中发出密钥对的粒度时间大于区块链传递区块的时间,并且在规则的间隔处可验证地释放的密钥之间的时间间隔比连接节点的网络的延迟时间大几倍。7.根据权利要求1所述的一种区块链精确延时加密方法,其特征在于:采用广义延迟算子escrow(x,r)进行托管从而进行精确延迟加密,使得其在一个特定时间到达后释放其内容,任何创建所述广义延迟算子escrow(x,r)的人从足够数量的各参与方获取密钥并将它们绑定到r,以便它可以创建所需的x的加密份额,所述r表示基于时刻t的条件,并且具有状态s,所述状态s的特征为在任何地方确定性地观察到相同的结果;以及一旦为真则状态s保持为真。8.根据权利要求7所述的区块链精确延时加密方法,其特征在于:建立密钥市场,它可以从准备释放与r相关联的公钥的其他方获取所述密钥并监视r以确定何时释放所述密钥,所述公钥通过签名获得。9.根据权利要求7所述的区块链精确延时加密方法,其特征在于:如果多个x被同一个r托管,则可以重复使用所述密钥。10.根据权利要求1所述的区块链精确延时加密方法,其特征在于:将所述密钥的释放或至少确定Rs是否为真与对区块的投票进行绑定,即将r的计算基于一个经过投票的给定的历史,并且所选择的参数必须确保对所述给定的历史有足够的投票支持以确保其可以作为密钥释放的条件。11.根据权利要求1所述的区块链精确延时加密方法,其特征在于:对于智能合约的精密延时加密,所述智能合约分成触发所述智能合约的公开事件和所述智能合约执行的托管代码,所述智能合约的行为包括执行另一个被延迟的智能合约,从而所述托管代码对应的托管支持所述智能合约的任意嵌套。12.一种区块链精确延时加密系统,其特征在于包括系统处理器,所述系统处理器可以用于:选择N个参与者,所述N个参与者具有如下性质:存...

【专利技术属性】
技术研发人员:安德鲁威廉罗斯科陈邦道
申请(专利权)人:克洛斯比尔有限公司
类型:发明
国别省市:英国,GB

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

1