一种不可逆的动态失效重验重建的区块链加密方法与流程

文档序号:18471373发布日期:2019-08-20 20:20阅读:222来源:国知局
一种不可逆的动态失效重验重建的区块链加密方法与流程

本申请涉及区块链技术领域,具体而言,涉及一种不可逆的动态失效重验重建的区块链加密方法。



背景技术:

multipleatomicchain(简称mac,多原链)是开发在区块链和以太坊之外的第三种区块链底层生态系统,致力于拓展区块链技术的商业应用边界和技术边界,让大众用户用户能够真实的感受到区块链技术的价值,让区块链不在停滞于学术理论层面而是更加直接的应用到开发应用的实践中去,多原链的开发将是商业应用和区块链技术碰撞的火花,也是对区块链现有技术的一种挑战,跳跃出了现有技术领域思维,为区块链3。0生态应用体系的开创先锋。多原链系统中,可以通过价值传输协议来实现点对点的价值转移,高性能、高吞吐量、快速安全是多原链的特性,从而用多原链的底层构建出一个支持多个行业领域(金融、物联网、供应链、社交、游戏、电商、溯源、交易等)的去中心化的场景应用开发生态平台。

在多原链的公链(publicblockchain系统中,全世界任何人都可读取、任何人都能发送交易且交易能获得有效确认、任何人都能参与其中共识过程的区块链(共识过程决定哪个区块可被添加到区块链中和明确当前状态)。作为中心化或者准中心化信任的替代物,公共区块链的安全由“加密数字经济”采取工作量证明机制或权益证明机制等方式,将经济奖励和加密数字校验结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励,与对共识过程作出的贡献成正比。这些区块链通常被认为是“完全去中心化”的。

与任何分布式数据库的分片机制类似,ndpos的分片机制基于dht模式,根据分区键的散列值进行切分。在这种模式下,指定分区键的精确查询操作性能极高,同时一般来说针对均匀分布的分区键能够做到整个集群的数据均匀分布。但是,如果查询条件中并不包含分区键,查询必须向所有分片中进行广播以得到全部分区中符合条件的记录。不同于dag结构对交易确认时间无法预测的最终一致性,ndpos通过区块链的对等多活机制,提供了跨链间交易的强一致性。同时,ndpos通过分层代理的机制,实现了整个网络分片数量的无限弹性扩张,从根本上解决了单链账本数量无法过多的性能与扩展性问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种不可逆的动态失效重验重建的区块链加密方法。

本发明请求保护一种不可逆的动态失效重验重建的区块链加密方法,其特征在于,包括:

采用加密函数对区块链节点进行加密,使用公钥对加密函数进行,用私钥设定为解密数据信息;

若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息;

识别所述解密结果其是否由区块链上的节点发送,若是,则向在路径节点间创建带条件余额,然后交易发起方发送给交易接收方交易凭证即补充中的参数字段;

根据客户端的请求访问文件,通过一个对等节点检索加密块以重建加节点件,并检索至少一些私密共享用于重建私密密钥,并用重建的私密密钥解密加节点件;

将所述发起者签名和各份经过加密的广播至区块链中;

发送方使用密钥对消息明文进行加密算法处理,得到节点后发送出去,接收方收到节点后,使用与发送方相同的密钥,并且运用发送方所使用加密算法的逆算法,对节点进行解密,得到明文;

当前区块打包的所有交易是以默克尔树的方式记录的,该字段记录该交易树的树根哈希值,当每一笔交易进入来区块被打包的时候,该字段需要重新计算更新一次,默克尔树的根值为该区块中所有被记录交易的根节点哈希值。

本发明所涉及的一种不可逆的动态失效重验重建的区块链加密方法通过加密函数的保密性与区块链技术的抗篡改性,实现身份认证中有关数字证书管理的各项功能,并且将密钥、证书以及执行记录写入区块链中,大大降低身份认证系统对原有认证中心的依赖,实现身份认证全过程公开、透明、可审计。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了根据本发明一种不可逆的动态失效重验重建的区块链加密方法的流程示意图;

图2示出了根据本发明一个实施例的不可逆的动态失效重验重建的区块链加密方法的一实施例的流程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照附图1示出了根据本发明一种不可逆的动态失效重验重建的区块链加密方法的流程示意图。

本发明请求保护一种不可逆的动态失效重验重建的区块链加密方法,其特征在于,包括:

采用加密函数对区块链节点进行加密,使用公钥对加密函数进行,用私钥设定为解密数据信息;

若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息;

识别所述解密结果其是否由区块链上的节点发送,若是,则向在路径节点间创建带条件余额,然后交易发起方发送给交易接收方交易凭证即补充中的参数字段;

根据客户端的请求访问文件,通过一个对等节点检索加密块以重建加节点件,并检索至少一些私密共享用于重建私密密钥,并用重建的私密密钥解密加节点件;

将所述发起者签名和各份经过加密的广播至区块链中;

发送方使用密钥对消息明文进行加密算法处理,得到节点后发送出去,接收方收到节点后,使用与发送方相同的密钥,并且运用发送方所使用加密算法的逆算法,对节点进行解密,得到明文;

当前区块打包的所有交易是以默克尔树的方式记录的,该字段记录该交易树的树根哈希值,当每一笔交易进入来区块被打包的时候,该字段需要重新计算更新一次,默克尔树的根值为该区块中所有被记录交易的根节点哈希值。

进一步地,所述采用加密函数对区块链节点进行加密,使用公钥对加密函数进行,用私钥设定为解密数据信息,具体包括:

只有子公钥和子私钥的分享都是各参与者独立生成的,参与者自己知道各自的秘密分享,从而满足在公钥下加密数据任何攻击者只要无法获得主密钥的秘密分享就无法获得任何子密钥分享的信息;

加密函数采用圆锥曲线数字加密算法,首先使用函数(1)表示有限域上的曲线e;

(1)

其中,令集合表示满足函数(1)的所有点(x,y)组成的集合,其中;此外,还包含一个特殊点o;初始化时,需要确定系统的公共变量;选择根节点,g的阶为n,圆锥曲线数字加密算法的主要参数为,算法具体描述如下:

密钥生成算法:随机选择整数,计算,则公钥是q,私钥是d;

加密算法:输入消息m和私钥d,随机选择,计算,将x转换成整数,计算,如果r=0,重新选择k,计算,为选定的哈希函数,计算,如果s=0,重新选择k,输出加密结果对(r,s);

校验算法:输入加密结果对(r,s),消息m,公钥g,如果下式成立,则输出合法,否则输出不合法。

优选的,上述若所述解密结果携带所述用户标识,则确定所述数据条目为与所述用户标识相对应的用户的数据信息,具体包括:

公钥的哈希值作为账户地址是账户在网络中的唯一公开标识,通过签发中心私钥,生成签发中心证书,用于签发用户证书,根证书是epid格式作为交易签名等操作的重要工具;

采用由监视器提供的证书作为输入,并根据域证书策略检查此证书,该域证书策

略指定允许为该特定域颁发证书的重建列表。如果证书由不在此列表中的重建颁发,则会执行一个响应策略,该策略执行操作,将异常重建的区块链货币转移给受影响的用户和报告违规的监视器。

本地存储是最简单的存储私钥的方法,比较典型的方式是将私钥以文件格式存储在本地磁盘或者存储在本地数据库中。需要创建交易时,区块链客户端软件读取私钥数据,对交易签名并广播到网络中,用户的区块链公钥及对应的私钥都是由客户端定期自动生成并备份。本地存储有很多优势,首先,由于只有区块链客户端能访问私钥的文件目录,因此用户只需登录一次客户端,而不用额外进行身份验证就可进行操作。其次,本地磁盘的存储空间比较大,因此可以存储大量的私钥。最后,用户只需使用区块链客户端进行一些简单的操作就可以生成交易。然而,这种简单便利的模式也带来了一定的威胁,比如私钥文件的数据可能会被

恶意软件读取,特别是用户使用网络或者分享数据时,要避免泄露私钥文件目录。此外,也要避免本地设备发生物理性意外,如损坏、被窃等。为了提高本地存储的安全性,加密钱包被提出,它是一种特殊的本地存储方式,与直接将私钥存储在磁盘上不同,加密钱包对私钥文件加密后存储在本地,加密的密

钥是根据用户选择的口令衍生得到的。相较于本地存储,加密钱包可以抵御物理偷窃:即便是钱包设备被偷走,没有口令依然无法使用私钥,但是对于数字偷窃意义不大,比如说,如果攻击者事先将恶意软件植入钱包设备并跟踪获取用户的输入口令,此时的口令保护不再起作用。

参照附图2,示出了根据本发明一个实施例的不可逆的动态失效重验重建的区块链加密方法的一实施例的流程示意图。

进一步地,发送方使用密钥对消息明文进行加密算法处理,得到节点后发送出去,接收方收到节点后,使用与发送方相同的密钥,并且运用发送方所使用加密算法的逆算法,对节点进行解密,得到明文,具体包括;

新节点会向网路中的随机完全节点请求区块链的完整信息,在收到区块时,新节点会根据区块链上的顺序依次校验区块的正确性;

如果区块链的区块数据迟迟未能同步完成,新节点会耐心等待一段时间,超过一定时间阈值后,就转向其他节点获取区块链数据,当节点从区块链网络上离线时间太长后,再度上线时,也需要进行区块链同步重建;

如果参与者同意签署,可对内容进行哈希运算得到第二哈希值,使用参与者私钥对第二哈希值进行加密得到参与者签名,并将参与者签名广播至区块链中;

发起者可从区块链中获取各个参与者广播的参与者签名,分别使用各个参与者的参与者公钥解密对应的参与者签名,若解密成功,则证明该签名是对应的参与者的签名,解密失败,则证明该签名并非是参与者的签名。

在实现失效重建时,设计了一些数据结构,这些数据结构主要是为了方便使用,在存储时通过序列化方法,以二进制的形式存放在数据库中,在读取时通过反序列化的方法,读入内存中。

重建证书链表

初始时,将重建证书添加至链表,这时只有一个元素。当更换重建密钥时,对应的新的重建证书也会被请求存储,这时将新的重建证书添加至单链表末尾。

校验证书

当用户在查询校验某个证书的有效性时,根据分析该证书获得签发者信息,然后在重建证书链表中遍历,找了后进行校验证书签名是否为对应重建证书所签发。如果校验签名失败或找不到即为无效证书。

身份认证

当接收到新的证书签发请求时,需使用最新的重建证书,也就是该链表末尾的证书进行校验。如果校验成功,即为有效证书,进行后续的存储。否则,认为是非法的证书,返回失败。

进一步地,所述当前区块打包的所有交易是以默克尔树的方式记录的,该字段记录该交易树的树根哈希值,当每一笔交易进入来区块被打包的时候,该字段需要重新计算更新一次,默克尔树的根值为该区块中所有被记录交易的根节点哈希值,具体包括:

全节点根据交易的特征来确定可能包括该交易的所有区块,这时可以根据交易时间戳来确定附近时间的区块,全节点从可能的区块中搜索该交易信息,并生成本区块全部交易的merkle树,并计算该信息merkle认证路径,并将认证路径返回给spv节点,这时用到的是merkle技术;

区块链系统的通信网络是一个无中心,点对点的广播式网络,它被用于广播新生成的交易和区块。网络中所有节点都是平等的,网络的拓扑结构也是随机的。新节点想要加入网络时,只需与一个已知节点通信,该节点被称为种子节点,种子节点将自己已知的节点广播给新接入节点,重复多次后,新接入节点就可以与许多节点通信。各节点发布消息时也是通过这种机制:节点发出连接请求时同时将自己的连接信息转播出去,当节点收到连接请求时也会询问连接信息。这种机制建立了一个有效的随机网络,能够快速地广播信息;

用户在区块链上进行通信等其他需要安全要求的行为时,用户的数据条目是加密的,在索引和数据密钥未丢失的情况下,每一用户具备所有自己的数据的完整明文状态;

merkle树被用来归纳一个区块中的所有交易,同时生成整个交易集合的数字指纹,且提供了一种校验区块是否存在某交易的高效途径。生成一棵完整的merkle树需要递归地对一对节点进行哈希,并将新生成的哈希节点插入到merkle树中,直到只剩一个哈希节点,该节点就是merkle树的根;

当区块链上用户想要获取其他用户的明文数据时,必须经过授权才能获取。需要说明的是,每一数据条目的索引包括用户标识中的用户标识不是明文状态,需要对数据条目的索引进行解密后才能得到用户标识。

为了抵御恶意软件的攻击,可将私钥存储在离线的便携式设备上。例如可以将私钥打印在纸上,存储在usb设备上等。此时对私钥的保护就成了一个物理安全的问题,可使用传统的方式来保护私钥,比如将便携式设备放入保险箱。离线存储也有弊端,它不能创建交易,每次使用私钥签名时要借助于可计算设备生成签名并发布到网络。离线存储适用于备份私钥,这种情况下,离线设备为了保持与其他区块链钱包的同步,需要定期更新私钥。

区块链网络中的动态节点会收集最近一段时间网络中新产生的交易,首先动态节点会检验接收到的交易是否合法,检验成功之后动态节点就会将该交易加入到确认交易队列中等待确认。动态将待确认的交易组合成一个区块数据,然后通过竞争计算工作量证明问题来确定谁能确认交易,第一个解决工作量证明问题的节点被认为付出了足够的算力来进行交易确认。然后该节点将自己的区块向整个网络广播,通知网络中的其他节点将自己的区块加入到原有区块链的后面。

基于密码学理论中的对称与非称双重加密算法基础上,融入了多原链技术团队独创的不可逆四重加密(token+公钥+私钥+动态失效重验重建)+独有核心算法,使合约传输、交易、数据更安全,让破解成为历史。多原链技术团队独创全点互通通讯协议,权限diy,在遵循多原链平台协议前提下可自己制定应用内部点对点通讯、应用包之间直线通讯、应用a内部与应用b内部直线通讯、通过公链桥接通讯。以实现合约、代币及业务流程的多样性和灵活性。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1