CN112100690B - 基于区块链的出块方法、装置和可读存储介质 - Google Patents

基于区块链的出块方法、装置和可读存储介质 Download PDF

Info

Publication number
CN112100690B
CN112100690B CN202011316633.5A CN202011316633A CN112100690B CN 112100690 B CN112100690 B CN 112100690B CN 202011316633 A CN202011316633 A CN 202011316633A CN 112100690 B CN112100690 B CN 112100690B
Authority
CN
China
Prior art keywords
block
pending
undetermined
account book
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011316633.5A
Other languages
English (en)
Other versions
CN112100690A (zh
Inventor
陈垚亮
黄胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Rootcloud Technology Co ltd
Rootcloud Technology Co Ltd
Original Assignee
Changsha Rootcloud Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Rootcloud Technology Co ltd filed Critical Changsha Rootcloud Technology Co ltd
Priority to CN202011316633.5A priority Critical patent/CN112100690B/zh
Publication of CN112100690A publication Critical patent/CN112100690A/zh
Application granted granted Critical
Publication of CN112100690B publication Critical patent/CN112100690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种基于区块链的出块方法、装置和可读存储介质,应用于区块链网络中的区块链节点,所述区块链节点与终端设备通信连接,所述区块链网络存储有账本,所述账本包括当前区块,基于区块链的出块方法包括:在所述终端设备发送的待定区块有效的条件下,将所述待定区块作为所述当前区块的后代区块写入所述账本;判断所述账本中是否出现分叉区块;若是,则在所述账本中生成第一同步区块,并将所述待定区块和所述分叉区块指向所述第一同步区块,并将所述第一同步区块作为所述当前区块;若否,则将所述待定区块作为所述当前区块,通过上述步骤能够实现高效的区块链的出块。

Description

基于区块链的出块方法、装置和可读存储介质
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种基于区块链的出块方法、装置和可读存储介质。
背景技术
随着区块链技术的发展,区块链已经应用到了多个领域中。而“账本”作为区块链的重要组成部分,其核心数据是“区块(block)”,用户想要处理的事务等相关内容都包含于每个“区块”中,这使得如何获取用户当前需求的区块,即出块的过程成为了处理相关事务的关键。而在现有技术中,区块链的出块效率较低,无法满足日益增长的事务量的需求。
有鉴于此,如何提供一种高效的基于区块链的出块方案,是本领域技术人员需要解决的。
发明内容
本申请提供了一种基于区块链的出块方法、装置和可读存储介质。
本申请的实施例可以这样实现:
第一方面,本申请提供一种基于区块链的出块方法,应用于区块链网络中的区块链节点,区块链节点与终端设备通信连接,区块链网络存储有账本,账本包括当前区块,方法包括:
在终端设备发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本;
判断账本中是否出现分叉区块;
若是,则在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块;
若否,则将待定区块作为当前区块。
在可选的实施方式中,待定区块包括待定用户签名和待定服务器证书,区块链节点存储有用户签名表和服务器证书;
判断待定区块是否有效的步骤,包括:
判断待定用户签名是否存在于用户签名表,以及判断待定服务器证书和服务器证书是否一致;
若待定用户签名存在于用户签名表、以及待定服务器证书和服务器证书一致,则判定待定区块有效;
若待定用户签名不存在于用户签名表、或者待定服务器证书和服务器证书不一致,则判定待定区块无效。
在可选的实施方式中,待定区块为多个,当前区块包括当前哈希值;
将待定区块作为当前区块的后代区块写入账本的步骤,包括:
将当前哈希值写入每个待定区块,以使每个待定区块根据当前哈希值、待定用户签名和待定服务器证书生成对应的待定哈希值;
在生成每个待定区块对应的待定哈希值后,将每个待定区块作为当前区块的后代区块并发写入账本。
在可选的实施方式中,将待定区块作为当前区块的后代区块写入账本的步骤,包括:
按照有向无环图的形式将待定区块作为当前区块的后代区块写入账本,其中,当前区块为待定区块的父区块。
在可选的实施方式中,账本还包括多个已有区块,已有区块为将待定区块加入之前账本中已有的区块;
方法还包括:
按照预设周期扫描账本;
在账本中存在无后代区块的条件下,生成第二同步区块,其中,无后代区块为多个已有区块中仅与任一个已有区块存在关联的区块;
将第二同步区块作为所有无后代区块的后代区块、以及将第二同步区块作为当前区块。
在可选的实施方式中,按照预设周期扫描账本的步骤,包括:
判断在前次扫描的过程中,是否确定出第二同步区块;
若是,则扫描多个已有区块中第二同步区块的所有父区块;
若否,则扫描前次父区块,其中,前次父区块为前次扫描中当前区块的父区块。
第二方面,本申请提供一种基于区块链的出块装置,应用于区块链网络中的区块链节点,区块链节点与终端设备通信连接,区块链网络存储有账本,账本包括当前区块,装置包括:
区块链账本管理模块,用于在终端设备发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本;
账本管理模块,用于判断账本中是否出现分叉区块;若是,则在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块;若否,则将待定区块作为当前区块。
在可选的实施方式中,待定区块包括待定用户签名和待定服务器证书,区块链节点存储有用户签名表和服务器证书;
区块链账本管理模块具体用于:
判断待定用户签名是否存在于用户签名表,以及判断待定服务器证书和服务器证书是否一致;若待定用户签名存在于用户签名表、以及待定服务器证书和服务器证书一致,则判定待定区块有效;若待定用户签名不存在于用户签名表、或者待定服务器证书和服务器证书不一致,则判定待定区块无效。
第三方面,本申请提供一种计算机设备,计算机设备包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备执行前述实施方式中任意一项的基于区块链的出块方法。
第四方面,本申请提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备执行前述实施方式中任意一项的基于区块链的出块方法。
本申请实施例的有益效果包括,例如:采用本申请实施例提供的一种基于区块链的出块方法、装置和可读存储介质,通过在终端设备发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本;再判断账本中是否出现分叉区块;若是,则在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块;若否,则将待定区块作为当前区块,通过上述步骤,巧妙地利用第一同步区块实现了区块链的高效率出块。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的基于区块链的出块系统的交互示意图;
图2为本申请实施例提供的基于区块链的出块方法的步骤流程示意图;
图3为本申请实施例提供的账本的局部示意图;
图4为本申请实施例提供的基于区块链的出块装置的结构示意框图;
图5为本申请实施例提供的计算机设备的结构示意框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
随着区块链技术的发展,各个领域都开始涉及区块链,而作为区块链中的重要组成部分的账本,其核心构成为区块,用户想要处理的事务则存储在不同的区块中,而这些区块以适当的形式组合在一起,便可以构成不可随意篡改、可追溯的账本,而在现有技术中,区块链的出块效率低,普遍在秒级甚至更慢,面对日益增加的数据量已经无法满足用户的需求。
基于此,请参考图1,图1提供了一种基于区块链的出块系统的交互示意图,基于区块链的出块系统可以包括区块链网络10,以及与区块链网络10中包括的区块链节点11通信连接的终端设备12,区块链节点11存储有账本,账本包括当前区块。在本申请实施例的其他实施方式中,基于区块链的出块系统也可以由更多或者更少的部件实现。
为了解决前述提出的问题,请结合参考图2,图2为本申请实施例提供的基于区块链的出块方法的步骤流程示意图,该基于区块链的出块方法由图1中的区块链节点11作为执行主体实施,下面对该基于区块链的出块方法进行详细的描述。
步骤201,在终端设备12发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本。
步骤202,判断账本中是否出现分叉区块。
若是,则执行步骤203。
若否,则执行步骤204。
步骤203,在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块。
步骤204,将待定区块作为当前区块。
在本申请实施例中,区块链网络10可以是私有化区块链,具备中心化特征的特点,通过上述步骤,巧妙地设置了第一同步区块,以此来将可能出现的分叉区块和待定区块写入在同一第一同步区块中,能够快速地确定用户需求的当前区块,极大的提高了出块速度。
在此基础上,待定区块包括待定用户签名和待定服务器证书,区块链节点11存储有用户签名表和服务器证书。作为一种可替换的实施例,上述步骤201可以由以下的具体实施方式实施。
子步骤201-1,判断待定用户签名是否存在于用户签名表,以及判断待定服务器证书和服务器证书是否一致。
子步骤201-2,若待定用户签名存在于用户签名表、以及待定服务器证书和服务器证书一致,则判定待定区块有效。
子步骤201-3,若待定用户签名不存在于用户签名表、或者待定服务器证书和服务器证书不一致,则判定待定区块无效。
在本申请实施例中,每个待定区块在生成包含于该待定区块的事务时,会记录对应的操作者的信息,即用户的待定用户签名,而在区块链节点11存储的用户签名表,则是记录了许可进行相关操作的用户签名,可以判断来自终端设备12的待定区块携带的待定用户签名是否为合法用户,即该待定用户签名是否存在于区块链节点11存储的用户签名表中,以此来判断该待定区块是否为有效区块。
除此之外,待定区块在发送至该区块链节点11时,应该同步获取该区块链节点11的服务器证书,服务器证书的形式可以是数字证书,因此包含于待定区块中的待定服务器证书应该与区块链节点11的服务器证书一致,若不一致,则说明该待定区块不应该由该区块链节点11处理,基于此,在同时满足上述两个条件,即待定用户签名存在于用户签名表中且待定服务器签名与服务器签名一致时,可以认为待定区块是有效地,反之其他情况均可以认为待定区块无效。通过上述步骤,能够准确地判断出待定区块是否有效。
在前述基础上,待定区块为多个,当前区块包括当前哈希值。为了能够更加清楚的表达本申请的方案,前述步骤201还可以包括以下的具体步骤。
子步骤201-4,将当前哈希值写入每个待定区块,以使每个待定区块根据当前哈希值、待定用户签名和待定服务器证书生成对应的待定哈希值。
子步骤201-5,在生成每个待定区块对应的待定哈希值后,将每个待定区块作为当前区块的后代区块并发写入账本。
在进行待定区块的写入时,需要知道当前区块的哈希值,以便待定区块在作为后代区块时,可以基于当前哈希值、待定用户签名和待定服务器证书生成对应的待定哈希值作为自己的哈希值。值得说明的是,在本申请实施例中可以存在多个待定区块,而每个待定区块作为当前区块的后代区块采取并发写入的形式写入账本,采用并发写入的方式,能够极大地提高区块链网络10的出块效率。
在此基础上,作为一种可替换的具体实施方式,前述步骤201还可以由以下的步骤实施实现。
子步骤201-6,按照有向无环图的形式将待定区块作为当前区块的后代区块写入账本,其中,当前区块为待定区块的父区块。
在本申请实施例中,在采取并发写入的基础上,可以采取向无环图的形式将待定区块作为当前区块的后代区块写入账本,除此之外,也可以采取其他树状形式对待定区块进行写入。通过这种形式的写入,能够使得待定区块能够更快地实现并发写入。
在此基础上,账本还包括多个已有区块,已有区块为将待定区块加入之前账本中已有的区块。除了前述提出的方案,本申请实施例还提供了如下方案。
步骤301,按照预设周期扫描账本。
步骤302,在账本中存在无后代区块的条件下,生成第二同步区块。
其中,无后代区块为多个已有区块中仅与任一个已有区块存在关联的区块。
步骤303,将第二同步区块作为所有无后代区块的后代区块、以及将第二同步区块作为当前区块。
除了前述提出的方案,为了能够进一步地提高区块链的篡改难度以保障账本的安全性,可以按照预设周期对账本进行扫描,查看是否存在无后代区块,若存在,可以生成第二同步区块,并将所有仅与任一个已有区块存在关联的区块均引向第二同步区块,即将第二同步区块作为所有无后代区块的后代区块,以此对整个账本进行“收束”,以此在提高账本的安全性的基础上为后续待定区块写入账本提供便利,即保证账本只存在一个当前区块,实现了提高出块效率的目的。
在此基础上,作为一种可替换的实施例,前述步骤301可以由以下详细步骤实施实现。
子步骤301-1,判断在前次扫描的过程中,是否确定出第二同步区块。
若是,则执行子步骤301-2。
若否,则执行子步骤301-3。
子步骤301-2,扫描多个已有区块中第二同步区块的所有父区块。
子步骤301-3,扫描前次父区块,其中,前次父区块为前次扫描中当前区块的父区块。
为了能够减少计算量,在对账本进行周期扫描的时候,可以先判断在前次扫描的过程中,是否确定出第二同步区块,即在前次扫描中,是否出现过有多个无后代区块的情况,在有的情况下,仅需扫描多个已有区块中第二同步区块的所有父区块,而没有的情况下,则说明前次扫描没有出现有多个无后代区块的情况,仅需扫描前次父区块,由于预设周期的扫描是随着账本的完善逐步推进的,因此仅需根据前次扫描结果对部分的已有区块进行扫描,便可以实现对账本中分叉区块的筛查,以此来提高扫描的效率。
为了能够更加清楚地描述本申请提供的方案,请结合参考图3,图3为本申请实施例提供的一种账本示意图,其中,“Block6”为待定区块,在加入该账本之后如前所描述的成为当前区块,而“SyncBlk”则是“Block6”的父区块,在“Block6”还未加入账本之前,“SyncBlk”则是当前区块,可以清楚的看出,对于“Block4”和“Block5”来说,它们属于分叉区块,因此会生成同步区块“SyncBlk”,而“Block1与“Block2以及“Block3和“Block5之间则是如前述判定建立的父区块和后代区块的关系,应当理解的是,在本申请实施例中,每个区块“Block”以全局状态存储。通过上述示例,能够清楚地体现出较高的出块效率。
本申请实施例提供一种基于区块链的出块装置110,应用于区块链网络10中的区块链节点11,区块链节点11与终端设备12通信连接,区块链网络10存储有账本,账本包括当前区块,请结合参考图4基于区块链的出块装置110包括:
区块链账本管理模块1101,用于在终端设备12发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本。
账本管理模块1102,用于判断账本中是否出现分叉区块;若是,则在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块;若否,则将待定区块作为当前区块。
进一步地,待定区块包括待定用户签名和待定服务器证书,区块链节点11存储有用户签名表和服务器证书;
区块链账本管理模块1101具体用于:
判断待定用户签名是否存在于用户签名表,以及判断待定服务器证书和服务器证书是否一致;若待定用户签名存在于用户签名表、以及待定服务器证书和服务器证书一致,则判定待定区块有效;若待定用户签名不存在于用户签名表、或者待定服务器证书和服务器证书不一致,则判定待定区块无效。
进一步地,待定区块为多个,当前区块包括当前哈希值;
区块链账本管理模块1101具体用于:
将当前哈希值写入每个待定区块,以使每个待定区块根据当前哈希值、待定用户签名和待定服务器证书生成对应的待定哈希值;在生成每个待定区块对应的待定哈希值后,将每个待定区块作为当前区块的后代区块并发写入账本。
进一步地,区块链账本管理模块1101具体用于:
按照有向无环图的形式将待定区块作为当前区块的后代区块写入账本,其中,当前区块为待定区块的父区块。
进一步地,账本还包括多个已有区块,已有区块为将待定区块加入之前账本中已有的区块;
基于区块链的出块装置110还包括周期账本同步模块1103,周期账本同步模块1103用于:
按照预设周期扫描账本;在账本中存在无后代区块的条件下,生成第二同步区块,其中,无后代区块为多个已有区块中仅与任一个已有区块存在关联的区块;将第二同步区块作为所有无后代区块的后代区块、以及将第二同步区块作为当前区块。
进一步地,周期账本同步模块1103具体用于:
判断在前次扫描的过程中,是否确定出第二同步区块;若是,则扫描多个已有区块中第二同步区块的所有父区块;若否,则扫描前次父区块,其中,前次父区块为前次扫描中当前区块的父区块。
本申请实施例提供一种计算机设备100,计算机设备100包括处理器及存储有计算机指令的非易失性存储器,计算机指令被处理器执行时,计算机设备100执行前述的基于区块链的出块方法。如图5所示,图5为本申请实施例提供的计算机设备100的结构框图。计算机设备100包括基于区块链的出块装置110、存储器111、处理器112及通信单元113。
为实现数据的传输或交互,存储器111、处理器112以及通信单元113各元件相互之间直接或间接地电性连接。例如,可通过一条或多条通讯总线或信号线实现这些元件相互之间电性连接。基于区块链的出块装置110包括至少一个可以软件或固件(firmware)的形式存储于存储器111中或固化在计算机设备100的操作系统(operating system,OS)中的软件功能模块。处理器112用于执行存储器111中存储的可执行模块,例如基于区块链的出块装置110所包括的软件功能模块及计算机程序等。
本申请实施例提供一种可读存储介质,可读存储介质包括计算机程序,计算机程序运行时控制可读存储介质所在计算机设备100执行前述的基于区块链的出块方法。
综上,本申请实施例提供了一种基于区块链的出块方法、装置和可读存储介质,通过在终端设备发送的待定区块有效的条件下,将待定区块作为当前区块的后代区块写入账本;再判断账本中是否出现分叉区块;若是,则在账本中生成第一同步区块,并将待定区块和分叉区块指向第一同步区块,并将第一同步区块作为当前区块;若否,则将待定区块作为当前区块,通过上述步骤,巧妙地利用第一同步区块实现了区块链的高效率出块。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种基于区块链的出块方法,其特征在于,应用于区块链网络中的区块链节点,所述区块链节点与终端设备通信连接,所述区块链网络存储有账本,所述账本包括当前区块,所述区块链节点存储有用户签名表和服务器证书,所述方法包括:
在所述终端设备发送的待定区块有效的条件下,将所述待定区块作为所述当前区块的后代区块写入所述账本,所述待定区块包括待定用户签名和待定服务器证书;
判断所述账本中是否出现分叉区块;
若是,则在所述账本中生成第一同步区块,并将所述待定区块和所述分叉区块指向所述第一同步区块,并将所述第一同步区块作为所述当前区块,以供后续区块的写入;
若否,则将所述待定区块作为所述当前区块,以供后续区块的写入;
所述方法还包括判断所述待定区块是否有效的步骤,该步骤包括:
判断所述待定用户签名是否存在于所述用户签名表,以及判断所述待定服务器证书和所述服务器证书是否一致;
若所述待定用户签名存在于所述用户签名表、以及所述待定服务器证书和所述服务器证书一致,则判定所述待定区块有效;
若所述待定用户签名不存在于所述用户签名表、或者所述待定服务器证书和所述服务器证书不一致,则判定所述待定区块无效。
2.根据权利要求1所述的方法,其特征在于,所述待定区块为多个,所述当前区块包括当前哈希值;
所述将所述待定区块作为所述当前区块的后代区块写入所述账本的步骤,包括:
将所述当前哈希值写入每个所述待定区块,以使每个所述待定区块根据所述当前哈希值、所述待定用户签名和所述待定服务器证书生成对应的待定哈希值;
在生成每个所述待定区块对应的待定哈希值后,将每个所述待定区块作为所述当前区块的后代区块并发写入所述账本。
3.根据权利要求1所述的方法,其特征在于,所述将所述待定区块作为所述当前区块的后代区块写入所述账本的步骤,包括:
按照有向无环图的形式将所述待定区块作为所述当前区块的后代区块写入所述账本,其中,所述当前区块为所述待定区块的父区块。
4.根据权利要求1所述的方法,其特征在于,所述账本还包括多个已有区块,所述已有区块为将所述待定区块加入之前所述账本中已有的区块;
所述方法还包括:
按照预设周期扫描所述账本;
在所述账本中存在无后代区块的条件下,生成第二同步区块,其中,所述无后代区块为所述多个已有区块中仅与任一个所述已有区块存在关联的区块;
将所述第二同步区块作为所有所述无后代区块的后代区块、以及将所述第二同步区块作为所述当前区块。
5.根据权利要求4所述的方法,其特征在于,所述按照预设周期扫描所述账本的步骤,包括:
判断在前次扫描的过程中,是否确定出所述第二同步区块;
若是,则扫描所述多个已有区块中所述第二同步区块的所有父区块;
若否,则扫描前次父区块,其中,所述前次父区块为前次扫描中所述当前区块的父区块。
6.一种基于区块链的出块装置,其特征在于,应用于区块链网络中的区块链节点,所述区块链节点与终端设备通信连接,所述区块链网络存储有账本,所述账本包括当前区块,所述区块链节点存储有用户签名表和服务器证书,所述装置包括:
区块链账本管理模块,用于在所述终端设备发送的待定区块有效的条件下,将所述待定区块作为所述当前区块的后代区块写入所述账本,所述待定区块包括待定用户签名和待定服务器证书;
账本管理模块,用于判断所述账本中是否出现分叉区块;若是,则在所述账本中生成第一同步区块,并将所述待定区块和所述分叉区块指向所述第一同步区块,并将所述第一同步区块作为所述当前区块,以供后续区块的写入;若否,则将所述待定区块作为所述当前区块,以供后续区块的写入;
所述区块链账本管理模块具体用于:
判断所述待定用户签名是否存在于所述用户签名表,以及判断所述待定服务器证书和所述服务器证书是否一致;若所述待定用户签名存在于所述用户签名表、以及所述待定服务器证书和所述服务器证书一致,则判定所述待定区块有效;若所述待定用户签名不存在于所述用户签名表、或者所述待定服务器证书和所述服务器证书不一致,则判定所述待定区块无效。
7.一种计算机设备,其特征在于,所述计算机设备包括处理器及存储有计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述计算机设备执行权利要求1-5中任意一项所述的基于区块链的出块方法。
8.一种可读存储介质,其特征在于,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在计算机设备执行权利要求1-5中任意一项所述的基于区块链的出块方法。
CN202011316633.5A 2020-11-23 2020-11-23 基于区块链的出块方法、装置和可读存储介质 Active CN112100690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011316633.5A CN112100690B (zh) 2020-11-23 2020-11-23 基于区块链的出块方法、装置和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011316633.5A CN112100690B (zh) 2020-11-23 2020-11-23 基于区块链的出块方法、装置和可读存储介质

Publications (2)

Publication Number Publication Date
CN112100690A CN112100690A (zh) 2020-12-18
CN112100690B true CN112100690B (zh) 2021-02-23

Family

ID=73785498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011316633.5A Active CN112100690B (zh) 2020-11-23 2020-11-23 基于区块链的出块方法、装置和可读存储介质

Country Status (1)

Country Link
CN (1) CN112100690B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218348A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种区块链中区块的确定方法及节点设备
CN110598463A (zh) * 2019-04-19 2019-12-20 腾讯科技(深圳)有限公司 基于区块链的信息处理方法、装置和计算机可读存储介质
CN111444215A (zh) * 2020-06-12 2020-07-24 支付宝(杭州)信息技术有限公司 一种块链式账本中的成块方法、装置及设备
CN111611315A (zh) * 2020-05-25 2020-09-01 辽宁大学 面向金融大数据的多叉树结构区块链集成优化存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869151B2 (en) * 2010-05-18 2014-10-21 Lsi Corporation Packet draining from a scheduling hierarchy in a traffic manager of a network processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218348A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种区块链中区块的确定方法及节点设备
CN110598463A (zh) * 2019-04-19 2019-12-20 腾讯科技(深圳)有限公司 基于区块链的信息处理方法、装置和计算机可读存储介质
CN111611315A (zh) * 2020-05-25 2020-09-01 辽宁大学 面向金融大数据的多叉树结构区块链集成优化存储方法
CN111444215A (zh) * 2020-06-12 2020-07-24 支付宝(杭州)信息技术有限公司 一种块链式账本中的成块方法、装置及设备

Also Published As

Publication number Publication date
CN112100690A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
US20180308091A1 (en) Fairness preserving byzantine agreements
CN110377462B (zh) 接口测试方法、装置及终端设备
CN110837505B (zh) 状态数据存储方法、状态数据同步方法、设备和存储介质
CN112070608B (zh) 信息处理方法、装置、介质及电子设备
CN112966311A (zh) 智能合约校验方法及装置和电子设备
CN108536489B (zh) 匹配资源环境的方法、装置和计算机可读存储介质
CN111931220A (zh) 区块链网络的共识处理方法、装置、介质及电子设备
CN110766410A (zh) 基于默克尔树的可信跨链事件构造与验证方法和设备
CN109271564A (zh) 保单查询方法及设备
CN104462342B (zh) 数据库快照同步处理方法及装置
CN111291443B (zh) 整车控制器软件的i/o模块模型自动生成方法、装置及设备
CN108459960A (zh) 测试环境的自动配置方法、装置、设备及存储介质
CN114416883A (zh) 区块链轻节点数据同步方法、装置、设备及可读存储介质
CN112100690B (zh) 基于区块链的出块方法、装置和可读存储介质
CN110119429B (zh) 数据处理方法、装置、计算机设备和存储介质
CN116957560A (zh) 预言机用于预付费交易资金监管的方法
CN110990360A (zh) 基于网络存储设备的文件同步方法及相关组件
CN108322542B (zh) 数据更新方法、系统、装置以及计算机可读存储介质
CN108304569B (zh) 一种测试数据积累方法及装置
CN110362294A (zh) 开发任务执行方法、装置、电子设备及存储介质
CN115543837A (zh) 软件测试方法、装置、电子设备及存储介质
CN109558064A (zh) 一种电子发票数据链的同步方法、装置、介质及电子设备
CN114202425A (zh) 预言机多主链跨链方法、设备和存储介质
CN109815145B (zh) 一种批量程序测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210430

Address after: No.1, 3rd floor, R & D building, Sany industrial city, No.1, Sany Road, Changsha Economic and Technological Development Zone, Changsha, Hunan 410000

Patentee after: CHANGSHA ROOTCLOUD TECHNOLOGY Co.,Ltd.

Patentee after: Shugen Internet Co.,Ltd.

Address before: No.1, 3rd floor, R & D building, Sany industrial city, No.1, Sany Road, Changsha Economic and Technological Development Zone, Changsha, Hunan 410000

Patentee before: CHANGSHA ROOTCLOUD TECHNOLOGY Co.,Ltd.