CN112258326A - 一种随机出块方法及系统 - Google Patents

一种随机出块方法及系统 Download PDF

Info

Publication number
CN112258326A
CN112258326A CN202011543262.4A CN202011543262A CN112258326A CN 112258326 A CN112258326 A CN 112258326A CN 202011543262 A CN202011543262 A CN 202011543262A CN 112258326 A CN112258326 A CN 112258326A
Authority
CN
China
Prior art keywords
voting
node
block
nodes
election
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.)
Granted
Application number
CN202011543262.4A
Other languages
English (en)
Other versions
CN112258326B (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.)
Bubi Beijing Network Technology Co ltd
Original Assignee
Bubi Beijing Network 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 Bubi Beijing Network Technology Co ltd filed Critical Bubi Beijing Network Technology Co ltd
Priority to CN202011543262.4A priority Critical patent/CN112258326B/zh
Publication of CN112258326A publication Critical patent/CN112258326A/zh
Application granted granted Critical
Publication of CN112258326B publication Critical patent/CN112258326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种随机出块方法及系统,包括:确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点;根据前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至投票竞选节点中,以使得任意一个投票竞选节点确定可选标识;获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点;根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。

Description

一种随机出块方法及系统
技术领域
本发明涉及区块链技术领域 ,并且更具体地,涉及一种随机出块方法及系统。
背景技术
区块链网络中的每一个节点,就相当于存储所有区块数据的每一台电脑或者服务器终端,所有新区块的生产以及交易的验证与记账,并将其广播给全网同步,这些都由节点来完成。
区块链第一代共识机制叫POW,也就是工作量证明共识机制,区块链第二代共识机制叫POS,即权益证明共识机制。PoW本质上是通过算力无法预测实现共识结果不可控,PoS则是通过权益证明选择出块者。传统比如EOS使用的DPOS算法是通过持币者投票从区块链的所有节点中选出一组候选出块节点,之后在一定时间内,当需要上链时,这组候选出块节点按照规定顺序轮流进行出块,即按照一定的顺序轮流产生区块,出块顺序确定后容易被恶意定位攻击,会给整个区块链带来安全性问题。
因此,需要一种高效、安全地实现区块链出块的方法。
发明内容
本发明提出一种随机出块方法及系统,以解决如何高效、安全地实现区块链出块的问题。
为了解决上述问题,根据本发明的一个方面,提供了一种随机出块方法,所述方法包括:
确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点;
获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识;
获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点;
获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
优选地,其中任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure 100002_DEST_PATH_IMAGE001
其中,
Figure 100002_DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure 100002_DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
优选地,其中所述方法还包括:
在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
优选地,其中所述根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
优选地,其中所述方法通过计算哈希值和
Figure 100002_DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
优选地,其中所述方法还包括:
在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
根据本发明的另一个方面,提供了一种随机出块系统,所述系统包括:
投票竞选节点确定单元,用于确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点;
可选标识请求发送单元,用于获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识;
第一投票单元,用于获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点;
第二投票单元,用于获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
优选地,其中在所述第一投票单元,任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure 848034DEST_PATH_IMAGE001
其中,
Figure 193565DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure 547186DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
优选地,其中所述系统还包括:
数据存储单元,用于在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
优选地,其中所述第二投票单元,根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
优选地,其中所述系统通过计算哈希值和
Figure 548640DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
优选地,其中所述系统还包括:
出块验证单元,用于在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
本发明提供了一种随机出块方法及系统,通过哈希计算快速地确定出块节点,本发明的方法及系统采用类彩票的机制进行区块链的随机出块,在这种机制中,任何人无法控制彩票,同时,没人能够预测彩票的结果,即使几乎所有节点同谋,能够随机、高效且安全的实现区块链的出块。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的随机出块方法100的流程图;
图2为根据本发明实施方式的随机出块系统200的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的随机出块方法100的流程图。如图1所示,本发明实施方式提供的随机出块方法,通过哈希计算快速地确定出块节点,本发明的方法采用类彩票的机制进行区块链的随机出块,在这种机制中,任何人无法控制彩票,同时,没人能够预测彩票的结果,即使几乎所有节点同谋,能够随机、高效且安全的实现区块链的出块。本发明实施方式提供的随机出块方法100,从步骤101处开始,在步骤101确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点。
在步骤102,获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识。
在步骤103,获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点。
优选地,其中任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure 29431DEST_PATH_IMAGE001
其中,
Figure 495047DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure 19570DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
优选地,其中所述方法通过计算哈希值和
Figure 305057DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
优选地,其中所述方法还包括:
在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
在本发明的实施方式中,确定一个块的出块者需要进行两轮投票。首先,需要确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点。然后,每个投票竞选节点根据可选标识选取请求选取前一区块的第一轮投票的所有获胜节点的唯一加密标识LID中的多个,并根据选取的唯一加密标识确定可选标识。然后,每个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,并对经过归一化处理的哈希值进行排序。最后,根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点。
在进行第一轮投票时,每个投票竞选节点基于前一区块信息、本节点加密ID、阈值参数N、全网当前节点数Num、时间周期参数T、时间戳参数TS进行哈希计算,获胜者进入下一轮投票。具体第,第一轮投票的步骤包括:
步骤S1,每个投票竞选节点有唯一的标识ID,基于标识ID进行数字签名可以创建加密标识EID;
步骤S2,确定当前全网节点数量Num,Num这个数量是动态变化的;确定阈值参数N,N是调节第一轮获胜最大节点数量的因子,由系统生成,比如系统允许第一轮获胜的最大节点数量为5;确定时间参数T,第一轮中各个节点的投票计算时间,TS小于T。
步骤S3,开始第一轮投票竞选,投票竞选节点j如果想要参与竞争,则进行如下哈希计算:
Figure 100002_DEST_PATH_IMAGE005
,假设哈希长度为len,则
Figure DEST_PATH_IMAGE006
计算结果通过除以
Figure DEST_PATH_IMAGE007
,以被归一化到区间[0,1],得到归一化的哈希值。
其中,哈希计算的方法有很多,不限于单一算法,LID为前一区块的第一轮投票获胜者的EID,可以有多个,比如
Figure DEST_PATH_IMAGE008
为按照从低到高排序后的第i个LID。
步骤S4,根据据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点,被认为赢得了第一轮投票,具备进入下一轮投票的资格。
另外,第一轮投票的节点竞选信息,包括节点EID、使用的LID等均会被区块链记录,供其他用户查询使用。
在步骤104,获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
优选地,其中所述根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
在完成第一轮投票后,进行第二轮投票,投票完成后选出最终出块者。具体步骤包括:
步骤S1,第一轮投票结束后,获胜者们首先比较各自使用的LID数量,若果使用的LID数量最多的节点如果只有一个,则该节点直接成为最终出块者。当然,获胜者们展示自己使用的LID时,其他节点均可以通过区块链历史信息进行验证,因为这些信息都会在区块链记录。
如果LID数量最多的节点有多个,则进入步骤S2,每个投票资格节点利用自身掌握的m个LID信息,进行如下计算:
Figure DEST_PATH_IMAGE009
,将以上计算结果归一化到区块间[0,1],并选取最终结果最大的节点为出块节点(即出块者)。
优选地,其中所述方法还包括:
出块验证单元,用于在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
在本发明中,最终出块者成为本轮区块打包者,创建生成区块后,进行全网共识验证,完成本轮区块共识过程。当收到区块后,每个节点会验证当前区块中存在的每一个LID,将每一个LID和使用的在上一个区块中的正确的LID进行比对,进行全网验证。并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识EID对出块节点的ID进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
本发明的方法使用最多两个哈希计算,与PoW相比,它大大减少了处理量,而PoW则需要数千万亿的哈希计算;此外,即使存在节点合谋也无法控制输入值,无法控制获胜的可能性;与PoW和PoS相比,可以在短时间内以很高的准确性估算共识的可靠性。
图2为根据本发明实施方式的随机出块系统200的结构示意图。如图2所示,本发明实施方式提供的随机出块系统200,包括:投票竞选节点确定单元201、可选标识请求发送单元202、第一投票单元203和第二投票单元204。
优选地,所述投票竞选节点确定单元201,用于确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点。
优选地,所述可选标识请求发送单元202,用于获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识。
优选地,所述第一投票单元203,用于获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点。
优选地,其中在所述第一投票单元203,任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure 930817DEST_PATH_IMAGE001
其中,
Figure 250940DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure 211943DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
优选地,所述第二投票单元204,用于获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
优选地,其中所述第二投票单元204,根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
优选地,其中所述系统通过计算哈希值和
Figure 187989DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
优选地,其中所述系统还包括:
数据存储单元,用于在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
优选地,其中所述系统还包括:
出块验证单元,用于在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
本发明的实施例的随机出块系统200与本发明的另一个实施例的随机出块方法100相对应,在此不再赘述。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (12)

1.一种随机出块方法,其特征在于,所述方法包括:
确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点;
获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识;
获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点;
获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
2.根据权利要求1所述的方法,其特征在于,任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure DEST_PATH_IMAGE001
其中,
Figure DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
4.根据权利要求1所述的方法,其特征在于,所述根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
5.根据权利要求2或4所述的方法,其特征在于,所述方法通过计算哈希值和
Figure DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
7.一种随机出块系统,其特征在于,所述系统包括:
投票竞选节点确定单元,用于确定用于创建当前区块的参与第一轮投票的至少两个投票竞选节点;
可选标识请求发送单元,用于获取前一区块的第一轮投票的所有获胜节点的唯一加密标识,根据所述前一区块的第一轮投票的所有获胜节点的唯一加密标识发送可选标识选取请求至所述至少两个投票竞选节点中的任意一个,以使得该任意一个投票竞选节点根据所述可选标识选取请求确定可选标识;
第一投票单元,用于获取所述至少两个投票竞选节点中的任意一个投票竞选节点,基于该任意一个投票竞选节点对应的自身加密标识、可选标识和动态标识进行哈希计算得到的哈希值,对经过归一化处理的哈希值进行排序,并根据归一化处理的哈希值排序结果按照哈希值递减的顺序依次选取预设量的投票竞选节点为投票资格节点;
第二投票单元,用于获取每个投票资格节点在确定可选标识时选取的唯一加密标识的数量,并根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,以使得所述出块节点创建所述当前区块。
8.根据权利要求7所述的系统,其特征在于,在所述第一投票单元,任意一个投票竞选节点对应的哈希值需要满足如下约束条件,包括:
Figure DEST_PATH_IMAGE005
其中,
Figure 332989DEST_PATH_IMAGE002
为投票竞选节点j的自身加密标识;
Figure 781288DEST_PATH_IMAGE003
为前一区块的第一轮投票的所有获胜节点的自身加密标识EID按照从低到高排序后的第i个唯一加密标识;Num为当前全网节点数量,这个数量是动态变化的;N为预设的允许第一轮获胜的最大节点数量;T为时间参数,为第一轮投票中各个投票竞选节点的投票计算时间,TS小于T;m为前一区块的第一轮投票的所有获胜节点的数量。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括:
数据存储单元,用于在区块链中存储用于创建当前区块的参与投票的每个投票竞选节点的竞选信息,以使得不是投票资格节点的投票竞选节点能够对投票资格节点使用的唯一加密标识进行验证;其中,所述竞选信息包括:自身加密标识EID和使用的用于确定可选标识的唯一加密标识LID。
10.根据权利要求7所述的系统,其特征在于,所述第二投票单元,根据每个投票资格节点选取的唯一加密标识的数量确定出块节点,包括:
确定选取的唯一加密标识的数量最多的投票资格节点为备选节点;
其中,若只有一个备选节点,则确定所述备选节点即为出块节点;
若存在至少两个备选节点,则计算每个备选节点的基于可选标识的哈希值,并选取基于可选标识的哈希值归一化处理后的最大值对应的备选节点为出块节点。
11.根据权利要求8或10所述的系统,其特征在于,所述系统通过计算哈希值和
Figure 357763DEST_PATH_IMAGE004
的比值,对哈希值进行归一化处理;其中,len为哈希长度。
12.根据权利要求7所述的系统,其特征在于,所述系统还包括:
出块验证单元,用于在所述出块节点创建所述当前区块后,每个节点根据当前区块中存在的每一个唯一加密标识和使用的前一区块中正确的唯一加密标识进行全网验证,并在当验证通过后利用出块节点的公钥、出块节点的自身加密标识对出块节点进行身份验证,若验证通过,则确定出块的合法性为合法,接受出块结果。
CN202011543262.4A 2020-12-24 2020-12-24 一种随机出块方法及系统 Active CN112258326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011543262.4A CN112258326B (zh) 2020-12-24 2020-12-24 一种随机出块方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011543262.4A CN112258326B (zh) 2020-12-24 2020-12-24 一种随机出块方法及系统

Publications (2)

Publication Number Publication Date
CN112258326A true CN112258326A (zh) 2021-01-22
CN112258326B CN112258326B (zh) 2021-03-16

Family

ID=74224992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011543262.4A Active CN112258326B (zh) 2020-12-24 2020-12-24 一种随机出块方法及系统

Country Status (1)

Country Link
CN (1) CN112258326B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583953A (zh) * 2021-02-25 2021-03-30 布比(北京)网络技术有限公司 一种基于区块链对域间路由进行保护的方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743173A (zh) * 2018-12-20 2019-05-10 弗洛格(武汉)信息科技有限公司 区块链中出块节点确定方法、区块验证方法及区块链系统
CN109784885A (zh) * 2018-12-29 2019-05-21 杨鉴 一种基于权益的区块链投票共识方法及系统
CN110224813A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 基于区块链的出块方法及装置
CN110233722A (zh) * 2019-06-17 2019-09-13 北京艾摩瑞策科技有限公司 在区块链上的出块方法及装置
CN110247753A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 基于区块链节点网络的出块方法及装置
CN111130790A (zh) * 2019-12-09 2020-05-08 四川星际荣威科技有限公司 基于区块链节点网络的共识出块方法
CN111506656A (zh) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 区块链系统的共识处理方法、装置及智能设备、存储介质
KR102143530B1 (ko) * 2019-05-23 2020-08-11 (주)엔티시스 블록체인 기반의 온라인 비밀 투표 시스템을 구축하는 전자투표 서버 및 이의 동작 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743173A (zh) * 2018-12-20 2019-05-10 弗洛格(武汉)信息科技有限公司 区块链中出块节点确定方法、区块验证方法及区块链系统
CN109784885A (zh) * 2018-12-29 2019-05-21 杨鉴 一种基于权益的区块链投票共识方法及系统
KR102143530B1 (ko) * 2019-05-23 2020-08-11 (주)엔티시스 블록체인 기반의 온라인 비밀 투표 시스템을 구축하는 전자투표 서버 및 이의 동작 방법
CN110224813A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 基于区块链的出块方法及装置
CN110233722A (zh) * 2019-06-17 2019-09-13 北京艾摩瑞策科技有限公司 在区块链上的出块方法及装置
CN110247753A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 基于区块链节点网络的出块方法及装置
CN111130790A (zh) * 2019-12-09 2020-05-08 四川星际荣威科技有限公司 基于区块链节点网络的共识出块方法
CN111506656A (zh) * 2020-04-20 2020-08-07 腾讯科技(深圳)有限公司 区块链系统的共识处理方法、装置及智能设备、存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583953A (zh) * 2021-02-25 2021-03-30 布比(北京)网络技术有限公司 一种基于区块链对域间路由进行保护的方法及系统
CN112583953B (zh) * 2021-02-25 2021-05-14 布比(北京)网络技术有限公司 一种基于区块链对域间路由进行保护的方法及系统

Also Published As

Publication number Publication date
CN112258326B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN107220130B (zh) 一种在区块链的节点处实现的信息共识方法、装置及系统
CN107566124B (zh) 基于哈希运算的共识建立方法、区块链系统及存储介质
CN109842606B (zh) 基于一致性哈希算法的区块链共识算法和系统
CN110580653B (zh) 一种基于交易的区块链共识机制
CN108512652B (zh) 基于时间证明的去中心化共识方法、系统及区块链系统
US20200162261A1 (en) System and method of blockchain consensus mechanism with custom hardware based on geographic distribution, density, node asset and reputation
CN110855432B (zh) 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
CN110602217B (zh) 基于区块链的联盟管理方法、装置、设备及存储介质
KR20190093012A (ko) 블록 체인 시스템에서의 블록 생성 및 검증 방법
KR20220091560A (ko) 블록체인 기반 데이터 검출 방법 및 디바이스, 및 컴퓨터 판독가능 저장 매체
WO2018104728A1 (en) Random number generation
CN110298641B (zh) 区块链的规则更新方法、装置、区块链节点及网络
CN111988137A (zh) 一种基于门限签名和公平奖励的DPoS共识方法及其系统
WO2020102456A1 (en) Gambling systems and methods based on blockchain technology
CN112258326B (zh) 一种随机出块方法及系统
CN107679149A (zh) 一种数据处理方法及服务器
CN111130875B (zh) 一种区块链的共识方法、装置、设备及存储介质
CN111223227B (zh) 一种目标用户筛选方法及装置
CN111431908A (zh) 一种访问处理方法、装置及可读存储介质
WO2021114889A1 (zh) 计算任务的处理方法和装置、存储介质及处理器
CN114422146A (zh) 一种区块链主节点匿名排序方法
CN111865595A (zh) 一种区块链的共识方法及装置
CN108334553B (zh) 基于区块链的数据筛选方法和装置
US20220278854A1 (en) Unity Protocol Consensus
Hsueh et al. EPoW: Solving blockchain problems economically

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