发明内容
本发明提供一种区块链单链转换为主次双链的方法、装置及存储介质,旨在解决区块链单链存在的问题以及控制区块链上的有害信息,增加区块链的稳定性和可靠性。
本发明提供一种区块链单链转换为主次双链的方法,所述方法包括:
步骤S10:在原生区块链接入能完成单双链转换的智能合约;
步骤S20:设置智能合约的触发条件;
步骤S30:判断所述触发条件是否满足,如果是则执行步骤S40,否则结束;
步骤S40:所述触发条件触发所述智能合约派生所述原生区块链区块对应的次链区块;此时,所述原生区块链转换为主链;
步骤S50:所述智能合约设置所述主链区块的权限属性为可读取可显示,同时,所述智能合约设置对应于所述主链区块的次链区块的权限属性为不可读取不可显示;
步骤S60:设置次链区块取代主链区块的取代条件;
步骤S70:判断是否满足所述取代条件,当满足所述取代条件时,执行步骤S60;否则结束;
步骤S80:所述智能合约改变所述主链区块的权限属性为不可读取不可显示,改变所述主链区块对应的次链区块的权限属性为可读取可显示;
步骤S90:所述智能合约控制所述次链区块取代所述主链区块。
进一步地,所述触发条件是指预设的所述原生区块链的标志事件出现。
进一步地,所述步骤S40包括:
步骤S410:滤除所述主链区块的文字数据并仅保留纯事务或者交易数据,以生成所述主链区块对应的次链区块;
步骤S420:在所述次链区块的区块头中加入根哈希、上一个次链区块哈希、对应的主链区块哈希、对应主链区块的上一个区块哈希以及时间戳;
步骤S430:生成所述次链区块哈希。
进一步地,所述智能合约记录所述派生过程的派生信息;所述派生信息包括派生事件发生时间、主链区块高度、次链区块大小以及次链区块是对应所属的主链区块的派生区块的属性。
进一步地,所述步骤S90包括:
步骤S910:所述智能合约控制读取所述次链区块的数据取代原主链区块的数据;
步骤S920:所述智能合约改变哈希指向关系;所述哈希指向关系是指将所述次链区块的区块头中包含的对应主链区块的上一区块哈希指向对应主链区块的上一区块的区块哈希,而次链区块的区块头中包含的对应主链区块的区块哈希再被下一个主链或次链区块的区块头中含有的该区块哈希所指向。
进一步地,所述主链和所述次链为并行结构。
进一步地,当智能合约控制派生出第一个次链区块后,每一主链区块均派生对应的次链区块,所述次链区块形成区块链次链。
为实现上述目的,本发明还提供了一种区块链单链转换为主次双链的装置,所述区块链单链转换为主次双链的装置包括存储器模组和处理器模组,所述存储器模组上存储有可在所述处理器模组上运行的区块链单链转换为主次双链的程序,所述区块链单链转换为主次双链的程序被所述处理器模组执行时实现上述区块链单链转换为主次双链的方法的步骤。
此外,为实现上述目的,本发明还提供了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链单链转换为主次双链的程序,所述区块链单链转换为主次双链的程序可被一个或者多个处理器模组执行,以实现上述区块链单链转换为主次双链的方法的步骤。
本发明提供一种区块链单链转换为主次双链的方法、装置及存储介质,通过主链派生次链的主次链并行结构以及智能合约进行主链和次链的取代控制,实现对区块链有害信息的控制,确保区块链的信息真实健康,增加区块链的稳定性和可靠性。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明一实施例提供的区块链单链转换为主次双链的方法流程示意图,该方法包括:
步骤S10:在原生区块链接入能完成单双链转换的智能合约。
步骤S20:设置智能合约的触发条件;所述触发条件是指预设的所述原生区块链的标志事件出现,具体在一实施例中,预设的标志事件是完成了挖矿计算,生成了区块哈希和随机数,即触发智能合约;在另一实施例中,预设的标志事件是在所述原生区块链的区块中发现了有害信息,当首次在所述原生区块的区块中发现有害信息时,触发智能合约。
步骤S30:判断是否满足所述触发条件,如果是则执行步骤S40,否则结束。
步骤S40:所述触发条件触发所述智能合约派生所述原生区块链区块对应的次链区块;此时,所述原生区块链转换为主链。
步骤S50:所述智能合约设置所述主链区块的权限属性为可读取可显示,同时,所述智能合约设置对应于所述主链区块的次链区块的权限属性为不可读取不可显示。
步骤S60:设置次链区块取代主链区块的取代条件;具体在一实施例中,设置在主链区块发现有害信息作为次链区块取代主链区块的取代条件。
步骤S70:判断是否满足所述取代条件,当满足所述取代条件时,执行步骤S60;否则结束。
步骤S80:所述智能合约改变所述主链区块的权限属性为不可读取不可显示,改变所述主链区块对应的次链区块的权限属性为可读取可显示。
步骤S90:所述智能合约控制所述次链区块取代所述主链区块。
请参阅图2,具体在一实施例中,将智能合约嵌入区块链主链A,智能合约为控制区块链单链转换为主次双链的智能合约,通过智能合约将原来的主链A派生出不含文字信息的次链B,文字信息中可能会包含有害信息,而事务或交易数据中不包含有害信息,当发现某区块文字信息中包含有害信息、满足预设的触发条件时,开始触发智能合约工作。具体在一实施例中,主链A呈单链工作,当满足预设的标志事件时,触发智能合约工作,此时主链A区块n开始派生对应的派生区块n’,主链A区块(n+1)对应派生区块(n+1)’,主链A区块(n+2)对应派生区块(n+2)’,主链A区块(n+m)对应派生区块(n+m)’,其中,n、m均为自然数。当智能合约控制派生出第一个次链区块后,每一主链区块均派生对应的次链区块,所述次链区块形成区块链次链;次链B与主链A呈并行结构。
请结合参阅图3和图4,具体地,所述步骤S40包括:
步骤S410:滤除所述主链区块的文字数据并仅保留纯事务或者交易数据,以生成所述主链区块对应的次链区块;
步骤S420:在所述次链区块的区块头中加入根哈希、上一个次链区块哈希、对应的主链区块哈希、对应主链区块的上一个区块哈希以及时间戳;
步骤S430:生成所述次链区块哈希。
具体在一实施例中,如图4所示,主链区块n通过智能合约派生次链区块n’,其中,n为自然数。主链区块n包括区块头10和事务,事务包括事务0、事务1至事务m,在每一事务中均存有事务数据和文字数据,所述区块头10包括本区块哈希A2、上一区块哈希A1和根哈希A,通过智能合约派生次链区块n’,智能合约自动滤除文字数据,将所述主链区块的事务数据派生到所述次链区块中,并在次链区块的区块头20中加入根哈希A’、上一个区块哈希B1、对应的主链区块哈希A1、对应主链区块的上一个区块的主区块链哈希A2以及时间戳,生成所述次链区块的区块哈希B2,完成所述次链区块的生成。在主链区块派生次链的同时,所述智能合约记录所述派生过程的派生信息;所述派生信息包括派生事件发生时间、主链区块高度、次链区块大小以及次链区块是对应所属的主链区块的派生区块的属性。
在所述主链区块派生生成次链区块时,所述智能合约设置所述主链区块的权限属性为可读取可显示,同时,所述智能合约设置对应于所述主链区块的次链区块的权限属性为不可读取不可显示。
进一步地,设置次链区块取代主链区块的取代条件;具体在一实施例中,将在主链区块中发现有害信息作为取代条件,当在所述主链区块内发现有害信息时,标记该区块为有害信息区块。例如当在主链区块(n+m)生成期间,其中,n、m均为自然数,发现主链区块(n+1)中存在有害信息,所述有害信息指存在多次举报在主链的区块中存在有害信息的举报信息,或者由联盟链的主导机构确认在主链的区块中存在有害信息。具体地,例如有5次以上或者5人次以上举报区块(n+1)存在有害信息,或者由联盟链的主导机构确认在主链的区块(n+1)中存在有害信息。当发现区块(n+1)中存在有害信息时,该区块(n+1)即为有害信息区块,所述智能合约改变所述有害信息区块(n+1)的权限属性为不可读取不可显示,同时改变所述有害信息区块(n+1)对应的次链区块(n+1)’的权限属性为可读取可显示。进一步地,所述智能合约控制所述次链区块取代所述有害信息区块。
请参阅图5,步骤S90包括:
步骤S910:所述智能合约控制读取所述次链区块的数据取代原主链区块的数据;
步骤S920:所述智能合约改变哈希指向关系;所述哈希指向关系是指将所述次链区块的区块头中包含的对应主链区块的上一区块哈希指向对应主链区块的上一区块的区块哈希,而次链区块的区块头中包含的对应主链区块的区块哈希再被下一个主链或次链区块的区块头中含有的该区块哈希所指向。
请参阅图6,具体在上述的实施例中,智能合约控制次链区块(n+1)’取代原主链有害信息区块(n+1),所述智能合约控制读取所述次链区块(n+1)’的数据取代原主链有害信息区块(n+1)的数据,此时,用户读取次链区块(n+1)’的数据,同时,所述智能合约改变哈希指向关系;所述哈希指向关系是指将所述次链区块(n+1)’的哈希指向取代原有害信息区块(n+1)的哈希指向。具体地,次链区块(n+1)’区块头中有对应主链区块(n+1)上一区块n的哈希值,由智能合约控制指向主链区块n的区块哈希;而在次链区块(n+1)’区块头中也包含对应主链区块(n+1)的区块哈希,它将被下一个区块(n+2)或(n+2)’中对应哈希指向,完成区块的取代过程。需要说明的,由于智能合约记录了次链区块(n+1)’是主链区块(n+1)的派生区块,当主链区块(n+1)被发现存在有害信息时,只能由次链区块(n+1)’替代主链区块(n+1)。从而通过主链派生次链的主次链并行结构以及智能合约进行主链和次链的取代控制,同时实现对区块链有害信息的控制,确保区块链的信息真实健康,增加区块链的稳定性和可靠性。
此外,本发明还提供一种区块链单链转换为主次双链的装置。
请参阅图7,是本发明实施例提供的一种区块链单链转换为主次双链的装置的内部结构示意图,所述区块链单链转换为主次双链的装置至少包括存储器模组11、处理器模组12、通信总线13,以及网络接口14。优选地,所述区块链单链转换为主次双链的装置包括在计算机网络上存在的一组或多台云计算设备或计算机设备。
其中,存储器模组11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器模组(例如,SD或DX存储器模组等)、磁性存储器模组、磁盘、光盘等。存储器模组11在一些实施例中可以是区块链单链转换为主次双链的装置的内部存储单元,例如该区块链单链转换为主次双链的装置的硬盘。存储器模组11在另一些实施例中也可以是区块链单链转换为主次双链的装置的外部存储设备,例如区块链单链转换为主次双链的装置上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器模组11还可以既包括区块链单链转换为主次双链的装置的内部存储单元也包括外部存储设备,优选地,存储器模组11还可以是在计算机网络中存在的网络存储装置或云存储装置。存储器模组11不仅可以用于存储安装于区块链单链转换为主次双链的装置的应用软件及各类数据,例如区块链单链转换为主次双链的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器模组12在一些实施例中可以是中央处理器模组(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器模组或其他数据处理芯片,或者其他用于运行存储器模组11中存储的程序代码或处理数据的任何计算装置,优选地,处理器模组11还可以是在计算机网络中存在的一个计算机处理群组或者云计算装置,所述运行的程序代码可以是执行区块链单链转换为主次双链的程序等。
通信总线13是用于实现这些组件之间的连接通信的任何通信装置。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该区块链单链转换为主次双链的装置与其他电子设备之间建立通信连接。
可选地,该区块链单链转换为主次双链的装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在区块链单链转换为主次双链的装置中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及区块链单链转换为主次双链的程序的区块链单链转换为主次双链的装置,本领域技术人员可以理解的是,图7示出的结构并不构成对区块链单链转换为主次双链的装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置,或者是计算机网络中的一组或多台计算机设备或云计算设备。
在图7所示的区块链单链转换为主次双链的装置实施例中,存储器模组11中存储有区块链单链转换为主次双链的程序;处理器模组12执行存储器模组11中存储的区块链单链转换为主次双链的程序时实现如下步骤:
步骤S10:在原生区块链接入能完成单双链转换的智能合约;
步骤S20:设置智能合约的触发条件;
步骤S30:判断所述触发条件是否满足,如果是则执行步骤S40,否则结束;
步骤S40:所述触发条件触发所述智能合约派生所述原生区块链区块对应的次链区块;此时,所述原生区块链转换为主链;
步骤S50:所述智能合约设置所述主链区块的权限属性为可读取可显示,同时,所述智能合约设置对应于所述主链区块的次链区块的权限属性为不可读取不可显示;
步骤S60:设置次链区块取代主链区块的取代条件;
步骤S70:判断是否满足所述取代条件,当满足所述取代条件时,执行步骤S60;否则结束;
步骤S80:所述智能合约改变所述主链区块的权限属性为不可读取不可显示,改变所述主链区块对应的次链区块的权限属性为可读取可显示;
步骤S90:所述智能合约控制所述次链区块取代所述主链区块。
参照图8所示,为本发明区块链单链转换为主次双链的装置一实施例中的区块链单链转换为主次双链的程序的程序模块示意图,该实施例中,区块链单链转换为主次双链的程序可以被分割为派生模块10、设置模块20、控制模块30和取代模块40,示例性地:
派生模块10,用于执行由主链区块派生出次链区块的任务;
设置模块20,用于执行触发条件和取代条件的任务;
控制模块30,用于执行对主链区块和次链区块的权限属性的控制任务;
取代模块40,用于执行所述次链区块取代所述主链区块任务。
上述派生模块10、设置模块20、控制模块30和取代模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链单链转换为主次双链的程序,所述区块链单链转换为主次双链的程序可被一个或多个处理器模组执行,以实现如下操作:
步骤S10:在原生区块链接入能完成单双链转换的智能合约;
步骤S20:设置智能合约的触发条件;
步骤S30:判断所述触发条件是否满足,如果是则执行步骤S40,否则结束;
步骤S40:所述触发条件触发所述智能合约派生所述原生区块链区块对应的次链区块;此时,所述原生区块链转换为主链;
步骤S50:所述智能合约设置所述主链区块的权限属性为可读取可显示,同时,所述智能合约设置对应于所述主链区块的次链区块的权限属性为不可读取不可显示;
步骤S60:设置次链区块取代主链区块的取代条件;
步骤S70:判断是否满足所述取代条件,当满足所述取代条件时,执行步骤S60;否则结束;
步骤S80:所述智能合约改变所述主链区块的权限属性为不可读取不可显示,改变所述主链区块对应的次链区块的权限属性为可读取可显示;
步骤S90:所述智能合约控制所述次链区块取代所述主链区块。
本发明的存储介质具体实施方式与上述区块链单链转换为主次双链的方法和装置各实施例基本相同,在此不作累述。
与现有技术相比,本发明提供的区块链单链转换为主次双链的方法、装置及存储介质,通过主链派生次链的主次链并行结构以及智能合约进行主链和次链的取代控制,实现对区块链有害信息的控制,确保区块链的信息真实健康,增加区块链的稳定性和可靠性。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用计算机网络硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得计算机网络的终端设备(可以是无人机、手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。