CN107424066B - 一种基于价值量建立共识机制的方法及其系统 - Google Patents

一种基于价值量建立共识机制的方法及其系统 Download PDF

Info

Publication number
CN107424066B
CN107424066B CN201710588193.0A CN201710588193A CN107424066B CN 107424066 B CN107424066 B CN 107424066B CN 201710588193 A CN201710588193 A CN 201710588193A CN 107424066 B CN107424066 B CN 107424066B
Authority
CN
China
Prior art keywords
node
nodes
accounting
list
module
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.)
Expired - Fee Related
Application number
CN201710588193.0A
Other languages
English (en)
Other versions
CN107424066A (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.)
Wuhan Phoenix Blockchain Technology Co ltd
Original Assignee
Wuhan Phoenix Blockchain 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 Wuhan Phoenix Blockchain Technology Co ltd filed Critical Wuhan Phoenix Blockchain Technology Co ltd
Priority to CN201710588193.0A priority Critical patent/CN107424066B/zh
Publication of CN107424066A publication Critical patent/CN107424066A/zh
Application granted granted Critical
Publication of CN107424066B publication Critical patent/CN107424066B/zh
Expired - Fee Related 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/12Accounting
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于价值量建立共识机制的方法及其系统。其从高价值的节点中随机的选出一些节点作为记账节点,然后记账节点将交易信息打包,共识后产生区块。本发明基于价值量建立共识机制的方法是应用在区块链系统中,该区块链系统包括记账节点和普通节点,二者之间通信连接。记账节点是区块链节点,用于从客户端接收用户请求,在区块链中对用户请求对应的结果达成共识,以产生新的区块,同时每个记账节点还用于独立选择新的记账节点,并在区块链中对选择的记账节点达成一致。本发明能够解决现有POW和POS共识机制中存在的能耗高、易产生中心化,以及POS机制易分叉、阻碍货币流通的技术问题。

Description

一种基于价值量建立共识机制的方法及其系统
技术领域
本发明属于区块链技术领域,更具体地,涉及一种基于价值量建立共识机制的方法及其系统。
背景技术
区块链(Blockchain)技术因为具有去中心化,交易过程透明、可追踪、且便于审计等优点,而被广泛的应用于金融领域,区块链中的共识是指不互信的多方对数据、行为或流程而达成一致的过程,而由此制定的共识机制则是保障区块链系统安全稳定运行的关键。
工作量证明(Proof of Work,简称POW)和权益证明(Proof of Stake,简称POS)是目前主流的共识机制,其中POW机制奖励算力高的群体,但其会在达成共识的过程中消耗大量能源;此外,该机制是具有中心化的问题;POS机制奖励币天高的群体,持币者会倾向于囤积货币以获得更多收益,从而阻碍货币流通;此外,该机制也易产生中心化的问题;另外,该机制无法对抗硬分叉问题;最后,该机制消耗能源。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于价值量建立共识机制的方法及其系统,其目的在于,解决现有POW和POS共识机制中存在的能耗高、易产生中心化,以及POS机制易分叉、阻碍货币流通的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于价值量建立共识机制的方法,包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中各个普通节点的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单。
(2)每个普通节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则该普通节点向区块链系统发送报名请求,同时向区块链系统缴纳保证金,并转入步骤(3),否则过程结束。
(3)每个记账节点根据来自普通节点的报名请求判断该普通节点是否不在黑名单中,且该普通节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则过程结束;
(4)每个记账节点根据该普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量。
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
按照本发明的另一方面,提供了一种基于价值量建立共识机制的方法,包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中所有节点的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单。
(2)所有节点中的每一个节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则判断其自身是记账节点还是普通节点,如果是记账节点则该记账节点向区块链系统发送报名请求,并转入步骤(3),如果是普通节点则该普通节点向区块链系统发送报名请求,并向区块链系统缴纳保证金,然后转入步骤(3),否则过程结束。
(3)每个记账节点根据来自该节点的报名请求判断该节点是否不在黑名单中,且该节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则过程结束;
(4)每个记账节点根据步骤(3)处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量。
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
优选地,步骤(2)中,如果该节点是普通节点,则发送报名请求后还需要向区块链系统缴纳保证金,如果该节点是记账节点,则无需缴纳保证金。
优选地,共识的过程具体为,取得每个待共识报名节点名单的并集,当前区块链系统中的全部I个记账节点自动进入报名节点名单,按照节点出现的顺序从1开始编号一直到M+I,其中M小于或等于N,其中N的取值是小于或等于区块链系统中所有节点总数。
优选地,预设阈值是大于或等于使节点自身的区块高度与获取的记账节点的区块高度一致所需的时间与出块速度的乘积。
优选地,在共识生成区块的过程中,如果出现不出块、同一时间段广播多个块、打包双花交易、或者从区块链上的旧块处尝试分叉系统,则可检测出恶意节点。
优选地,若检测出恶意节点,则扣除恶意节点缴纳的保证金作为惩罚,并给正常的记账节点发放奖励。
按照本发明的另一方面,提供了一种基于价值量建立共识机制的系统,包括以下:
第一模块,用于每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中各个普通节点的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单。
第二模块,用于每个普通节点持续监听第一模块中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则该普通节点向区块链系统发送报名请求,同时向区块链系统缴纳保证金,并转入第三模块,否则过程结束。
第三模块,用于每个记账节点根据来自普通节点的报名请求判断该普通节点是否不在黑名单中,且该普通节点是否处于第一模块广播的节点名单中,如果是,则进入第四模块,否则过程结束;
第四模块,用于每个记账节点根据该普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入第五模块,否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入第五模块,否则过程结束;
第五模块,用于每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
第六模块,每个记账节点从第五模块得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量。
第七模块,用于每个记账节点将第六模块中得到的入选节点名单广播给区块链系统中的所有其他节点;
第八模块,用于位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入第九模块,否则继续重复本步骤,直到二者一致为止;
第九模块,用于每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入第十模块,否则继续轮流生成区块,直到达到阈值为止,然后进入第十模块;
第十模块,用于不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
按照本发明的另一方面,提供了一种基于价值量建立共识机制的系统,包括:
第一模块,用于每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中所有节点的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单。
第二模块,用于所有节点中的每一个节点持续监听第十模块中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则判断其自身是记账节点还是普通节点,如果是记账节点则该记账节点向区块链系统发送报名请求,并转入第三模块,如果是普通节点则该普通节点向区块链系统发送报名请求,并向区块链系统缴纳保证金,然后转入第三模块,否则过程结束。
第三模块,用于每个记账节点根据来自该节点的报名请求判断该节点是否不在黑名单中,且该节点是否处于第一模块广播的节点名单中,如果是,则进入第四模块,否则过程结束;
第四模块,用于每个记账节点根据第三模块处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入第五模块,否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入第五模块,否则过程结束;
第五模块,用于每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
第六模块,用于每个记账节点从第五模块得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量。
第七模块,用于每个记账节点将第六模块中得到的入选节点名单广播给区块链系统中的所有其他节点;
第八模块,用于位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入第九模块,否则继续重复本步骤,直到二者一致为止;
第九模块,用于每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入,否则继续轮流生成区块,直到达到阈值为止,然后进入第十模块;
第十模块,用于不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(1)到步骤(8),记账节点在报名的高价值的节点中随机化的选出新的记账节点,采用轮流出块的方式而避免了竞争出块。因此能够解决POS和POW机制中存在的能耗高的技术问题;
(2)由于本发明采用了步骤(1)到步骤(6),采用完全随机的方式产生新的记账节点,避免记账权集中于部分节点,因此能够解决POS和POW机制中存在的易产生中心化的问题。
(3)由于本发明采用了步骤(1)到步骤(10),根据价值量产生记账节点,记账节点轮流出块,因此能够解决POS存在的易分叉的技术问题。
(4)由于本发明采用了步骤(1)到步骤(10),本系统是根据价值量排名而产生的记账节点,而价值量的高低与货币的流通程度成正比,因此能够解决POS存在的阻碍货币流通的技术问题。
附图说明
图1是本发明基于价值量建立共识机制的方法的系统架构图。
图2是根据本发明一个实施方式的基于价值量建立共识机制的方法的流程图。
图3是根据本发明另一个实施方式的基于价值量建立共识机制的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先对本发明的技术术语进行解释和说明:
出块:生成区块。
价值量:一件商品或一项服务的售出价与成本价的差值。
本发明的整体思路在于,从高价值的节点中随机的选出一些节点作为记账节点,然后记账节点将交易信息打包,共识后产生区块。
如图1所示,本发明基于价值量建立共识机制的方法是应用在区块链系统中,该区块链系统包括记账节点和普通节点,二者之间通信连接。
记账节点是区块链节点,用于从客户端接收用户请求,在区块链中对用户请求对应的结果达成共识,以产生新的区块,同时每个记账节点还用于独立选择新的记账节点,并在区块链中对选择的记账节点达成一致。
普通节点用于向记账节点查询对客户端的交易信息,并根据记账节点选择的新的记账节点名单查询其自身是否能够成为记账节点,并不参与区块链的出块。普通节点不是区块链的记账节点。
如图2所示,根据本发明的第一种实施方式,一种基于价值量建立共识机制的方法包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中各个普通节点的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位(其中N的取值小于或等于普通节点总数)的对应节点构成节点名单,并在区块链系统中广播该节点名单。
需要注意的是,本发明的步骤还包括在上述步骤(1)之前,指定区块链系统中的一部分节点用作记账节点,剩余的节点用作普通节点;
(2)每个普通节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则该普通节点向区块链系统发送报名请求,同时向区块链系统缴纳保证金,并转入步骤(3),否则表示该普通节点报名失败,过程结束。
(3)每个记账节点根据来自普通节点的报名请求判断该普通节点是否不在黑名单中,且该普通节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则表示该普通节点的报名失败,过程结束;
(4)每个记账节点根据该普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔(其与记账节点的出块时间成正比),若收到保证金,则进入步骤(5),否则过程结束;
(4’)每个记账节点根据步骤(3’)处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔(其与记账节点的出块时间成正比),若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
具体而言,在共识的过程中,是取得每个待共识报名节点名单的并集,当前区块链系统中的全部I个记账节点自动进入报名节点名单,按照节点出现的顺序从1开始编号一直到M+I,其中M小于或等于N。
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金。
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
在本实施方式中,阈值是大于或等于使节点自身的区块高度与获取的记账节点的区块高度一致所需的时间与出块速度的乘积。
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
在共识生成区块的过程中,如果出现以下情况,则能够检测出恶意节点,此时应扣除恶意节点缴纳的保证金作为惩罚,并给正常的记账节点发放奖励。
1、不出块,2、同一时间段广播多个块,3、打包双花交易,4、从区块链上的旧块处尝试分叉系统等。
如果检测到记账节点出现了这些情况,就认为它是恶意节点。奖励和惩罚并不是必须要有的,一般和保证金机制保持一致,视具体情况而定。
如图3所示,根据本发明的第二种实施方式,一种基于价值量建立共识机制的方法包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中所有节点(包括普通节点和记账节点)的价值量总和,将获取的结果按照进行排序,选择排序结果中价值量总和排名在前N位(其中N的取值小于或等于所有节点总数)的对应节点构成节点名单,并在区块链系统中广播该节点名单。
需要注意的是,本发明的步骤还包括在上述步骤(1)之前,指定区块链系统中的一部分节点用作记账节点,剩余的节点用作普通节点;
(2)所有节点中的每一个节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则判断其自身是记账节点还是普通节点,如果是记账节点则该记账节点向区块链系统发送报名请求,并转入步骤(3),如果是普通节点则该普通节点向区块链系统发送报名请求,并向区块链系统缴纳保证金,然后转入步骤(3);否则表示该节点报名失败,过程结束。
在本步骤中,如果该节点是普通节点,则发送报名请求后还需要向区块链系统缴纳保证金,如果该节点是记账节点,则无需缴纳保证金。
(3)每个记账节点根据来自该节点的报名请求判断该节点是否不在黑名单中,且该节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则表示该节点的报名失败,过程结束;
(4)每个记账节点根据步骤(3)处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔(其与记账节点的出块时间成正比),若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号。
具体而言,在共识的过程中,是取得每个待共识报名节点名单的并集,当前区块链系统中的全部I个记账节点自动进入报名节点名单,按照节点出现的顺序从1开始编号一直到M+I,其中M小于或等于N。
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金。
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度是否一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
在本实施方式中,阈值是大于或等于使节点自身的区块高度与获取的记账节点的区块高度一致所需的时间与出块速度的乘积。
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
在共识生成区块的过程中,如果出现以下情况,则能够检测出恶意节点,此时应扣除恶意节点缴纳的保证金作为惩罚,并给正常的记账节点发放奖励。
1、不出块,2、同一时间段广播多个块,3、打包双花交易,4、从区块链上的旧块处尝试分叉系统等。
如果检测到记账节点出现了这些情况,就认为它是恶意节点。奖励和惩罚并不是必须要有的,一般和保证金机制保持一致,视具体情况而定。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于价值量建立共识机制的方法,其特征在于,包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中各个普通节点的价值量总和,将获取的结果进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单;
(2)每个普通节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则该普通节点向区块链系统发送报名请求,同时向区块链系统缴纳保证金,并转入步骤(3),否则过程结束;
(3)每个记账节点根据来自普通节点的报名请求判断该普通节点是否不在黑名单中,且该普通节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则过程结束;
(4)每个记账节点根据该普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号;
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量;
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
2.一种基于价值量建立共识机制的方法,其特征在于,包括以下步骤:
(1)每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中所有节点的价值量总和,将获取的结果进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单;
(2)所有节点中的每一个节点持续监听步骤(1)中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则判断其自身是记账节点还是普通节点,如果是记账节点则该记账节点向区块链系统发送报名请求,并转入步骤(3),如果是普通节点则该普通节点向区块链系统发送报名请求,并向区块链系统缴纳保证金,然后转入步骤(3),否则过程结束;
(3)每个记账节点根据来自该节点的报名请求判断该节点是否不在黑名单中,且该节点是否处于步骤(1)广播的节点名单中,如果是,则进入步骤(4),否则过程结束;
(4) 每个记账节点根据步骤(3)处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入步骤(5),否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入步骤(5),否则过程结束;
(5)每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号;
(6)每个记账节点从步骤(5)得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量;
(7)每个记账节点将步骤(6)中得到的入选节点名单广播给区块链系统中的所有其他节点;
(8)位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度一致,如果是则进入步骤(9),否则继续重复本步骤,直到二者一致为止;
(9)每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入步骤(10),否则继续轮流生成区块,直到达到阈值为止,然后进入步骤(10);
(10)不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
3.根据权利要求2所述的方法,其特征在于,步骤(2)中,如果该节点是普通节点,则发送报名请求后还需要向区块链系统缴纳保证金,如果该节点是记账节点,则无需缴纳保证金。
4.根据权利要求1或2所述的方法,其特征在于,共识的过程具体为,取得每个待共识报名节点名单的并集,当前区块链系统中的全部I个记账节点自动进入报名节点名单,按照节点出现的顺序从1开始编号一直到M+I,其中M小于或等于N,其中N的取值是小于或等于区块链系统中所有节点总数。
5.根据权利要求1或2所述的方法,其特征在于,预设阈值是大于或等于使节点自身的区块高度与获取的记账节点的区块高度一致所需的时间与出块速度的乘积。
6.根据权利要求1或2所述的方法,其特征在于,在共识生成区块的过程中,如果出现不出块、同一时间段广播多个块、打包双花交易、或者从区块链上的旧块处尝试分叉系统,则可检测出恶意节点。
7.根据权利要求6所述的方法,其特征在于,若检测出恶意节点,则扣除恶意节点缴纳的保证金作为惩罚,并给正常的记账节点发放奖励。
8.一种基于价值量建立共识机制的系统,其特征在于,包括以下:
第一模块,用于每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中各个普通节点的价值量总和,将获取的结果进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单;
第二模块,用于每个普通节点持续监听第一模块中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则该普通节点向区块链系统发送报名请求,同时向区块链系统缴纳保证金,并转入第三模块,否则过程结束;
第三模块,用于每个记账节点根据来自普通节点的报名请求判断该普通节点是否不在黑名单中,且该普通节点是否处于第一模块广播的节点名单中,如果是,则进入第四模块,否则过程结束;
第四模块,用于每个记账节点根据该普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入第五模块,否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入第五模块,否则过程结束;
第五模块,用于每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号;
第六模块,每个记账节点从第五模块得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量;
第七模块,用于每个记账节点将第六模块中得到的入选节点名单广播给区块链系统中的所有其他节点;
第八模块,用于位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度一致,如果是则进入第九模块,否则继续重复本步骤,直到二者一致为止;
第九模块,用于每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入第十模块,否则继续轮流生成区块,直到达到阈值为止,然后进入第十模块;
第十模块,用于不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
9.一种基于价值量建立共识机制的系统,其特征在于,包括:
第一模块,用于每个记账节点在出块的过程中获取某个固定时间范围内区块链系统中所有节点的价值量总和,将获取的结果进行排序,选择排序结果中价值量总和排名在前N位的对应节点构成节点名单,并在区块链系统中广播该节点名单;
第二模块,用于所有节点中的每一个节点持续监听第十模块中广播的节点名单,并判断其自身是否位于该节点名单中,如果是则判断其自身是记账节点还是普通节点,如果是记账节点则该记账节点向区块链系统发送报名请求,并转入第三模块,如果是普通节点则该普通节点向区块链系统发送报名请求,并向区块链系统缴纳保证金,然后转入第三模块,否则过程结束;
第三模块,用于每个记账节点根据来自该节点的报名请求判断该节点是否不在黑名单中,且该节点是否处于第一模块广播的节点名单中,如果是,则进入第四模块,否则过程结束;
第四模块,用于每个记账节点根据第三模块处理后的所有节点中普通节点的报名请求判断该普通节点是否已经缴纳保证金,如果是,则转入第五模块,否则向该普通节点发送缴纳保证金的通知,并持续等待固定时间间隔,若收到保证金,则进入第五模块,否则过程结束;
第五模块,用于每个记账节点将该普通节点记录在待共识报名节点名单中,全部记账节点在报名截止后在区块链系统中对每个结账节点对应的待共识报名节点名单进行共识,并对共识后得到的报名节点名单中的节点进行编号;
第六模块,用于每个记账节点从第五模块得到的报名节点名单中随机选出I个节点放入待共识入选节点名单,对待共识入选节点名单进行共识,并对共识后得到的入选节点名单中的节点进行编号,并退还已经缴纳保证金、但未入选该入选节点名单的节点所已经缴纳的保证金,其中I表示区块链系统中全部记账节点的数量;
第七模块,用于每个记账节点将第六模块中得到的入选节点名单广播给区块链系统中的所有其他节点;
第八模块,用于位于入选节点名单中的每个节点在接收到广播的入选节点名单后获取区块链系统中每个记账节点的区块,并判断其自身的区块高度是否与获取的记账节点的区块高度一致,如果是则进入第九模块,否则继续重复本步骤,直到二者一致为止;
第九模块,用于每个记账节点判断其自身的区块高度是否达到预设阈值,如果达到则进入 ,否则继续轮流生成区块,直到达到阈值为止,然后进入第十模块;
第十模块,用于不在入选节点名单中的全部记账节点变为普通节点,在入选节点名单中的全部节点变为新的记账节点并开始接收来自用户端的交易请求,对该交易请求进行共识,并将共识产生的区块添加在区块链上。
CN201710588193.0A 2017-07-19 2017-07-19 一种基于价值量建立共识机制的方法及其系统 Expired - Fee Related CN107424066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710588193.0A CN107424066B (zh) 2017-07-19 2017-07-19 一种基于价值量建立共识机制的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710588193.0A CN107424066B (zh) 2017-07-19 2017-07-19 一种基于价值量建立共识机制的方法及其系统

Publications (2)

Publication Number Publication Date
CN107424066A CN107424066A (zh) 2017-12-01
CN107424066B true CN107424066B (zh) 2020-11-10

Family

ID=60430141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710588193.0A Expired - Fee Related CN107424066B (zh) 2017-07-19 2017-07-19 一种基于价值量建立共识机制的方法及其系统

Country Status (1)

Country Link
CN (1) CN107424066B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171578A (zh) * 2017-12-27 2018-06-15 邵美 一种基于区块链交易网络的地址排名系统及其构建方法
CN108259235B (zh) * 2018-01-04 2019-11-22 杭州复杂美科技有限公司 一种区块链记账节点选择方法
CN108133420B (zh) * 2018-01-10 2020-09-11 杭州复杂美科技有限公司 一种区块链的委托共识方法
CN108418876B (zh) * 2018-02-09 2019-04-19 北京众享比特科技有限公司 存储工作量证明方法及系统、激励方法及系统
CN110278091B (zh) * 2018-03-13 2022-07-01 焦臻桢 一种物联网区块链共识方法
WO2019200558A1 (zh) * 2018-04-18 2019-10-24 深圳市元征软件开发有限公司 区块链节点服务、挖矿方法、装置、设备、系统及介质
CN108665272A (zh) * 2018-05-02 2018-10-16 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、设备和存储介质
CN108665271A (zh) * 2018-05-02 2018-10-16 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、设备和存储介质
CN108768700B (zh) * 2018-05-11 2021-09-03 北京奇虎科技有限公司 一种区块链中奖励分配方法、装置及系统
CN108881387A (zh) * 2018-05-16 2018-11-23 横琴密达科技有限责任公司 一种区块链共识系统
CN110569395B (zh) * 2018-05-18 2024-07-23 北京天德科技有限公司 一种稳定可靠的区块链拜占庭共识流程设计方法
CN108717630B (zh) * 2018-05-19 2020-12-22 上海分布信息科技有限公司 一种出块方法及其实现系统
CN108833483B (zh) * 2018-05-22 2020-11-03 四川海纳仁东科技有限公司 基于分组的dpos代理节点选择方法
CN109194702B (zh) * 2018-06-04 2021-06-29 平安科技(深圳)有限公司 医疗数据记录方法、系统、计算机设备和存储介质
WO2019237277A1 (zh) * 2018-06-13 2019-12-19 汪华东 一种基于区块链技术的多级节点任务闭环系统
CN108789409B (zh) * 2018-06-21 2022-02-11 中科新松有限公司 一种机器人控制方法、装置、介质和机器人集群
CN109033832B (zh) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109064328B (zh) * 2018-07-09 2022-04-15 夸克链科技(深圳)有限公司 一种区块链的共识方法
CN109166037B (zh) * 2018-07-25 2022-01-25 上海魅联信息技术有限公司 区块链的共识方法
CN109242535A (zh) * 2018-08-07 2019-01-18 宜人恒业科技发展(北京)有限公司 基于参与度的共识机制dpop进行行为价值量化的方法和系统
CN109218408B (zh) * 2018-08-16 2020-12-15 泰链(厦门)科技有限公司 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统
CN110490593B (zh) * 2018-08-29 2022-04-19 华中科技大学 一种基于存储贡献值的区块链共识方法和系统
CN109194646B (zh) * 2018-08-30 2021-05-25 东北大学 一种基于区块链的安全认证数据存取方法
CN110928674B (zh) * 2018-09-20 2023-06-30 深圳市云网拜特科技有限公司 一种实现区块链共识机制的方法
CN109389485B (zh) * 2018-09-30 2021-02-09 深圳市有情矿技术有限公司 自治域模式下基于信息共享贡献值的区块链动态激励方法
CN109410054B (zh) * 2018-09-30 2021-04-02 深圳市有情矿技术有限公司 自治域模式下基于信息共享贡献值的区块链共识方法
CN109636389B (zh) * 2018-12-13 2020-09-22 东软集团股份有限公司 区块链出块时间的确定方法、装置、设备及存储介质
CN109684798A (zh) * 2019-01-04 2019-04-26 深圳银链科技有限公司 一种基于公有区块链的共识算法、设备及存储介质
CN111478785B (zh) * 2019-01-24 2021-11-02 北京京东尚科信息技术有限公司 区块链网络中的共识方法、节点及存储介质
CN109889397B (zh) * 2019-03-31 2021-08-31 杭州复杂美科技有限公司 抽签方法、区块生成方法、设备及存储介质
CN109981689B (zh) * 2019-04-29 2020-05-12 清华大学 物联网场景下跨域逻辑强隔离与安全访问控制方法及装置
CN110176998A (zh) * 2019-05-17 2019-08-27 北京众享比特科技有限公司 一种工作量证明的共识方法、装置、设备和存储介质
CN110661867B (zh) * 2019-09-25 2021-07-23 东北大学 一种基于改进工作量证明与权益证明的区块链共识方法
CN111415258A (zh) * 2020-03-26 2020-07-14 杭州复杂美科技有限公司 非正常挖矿账户的识别方法和惩罚方法、设备和存储介质
CN111625594A (zh) * 2020-04-22 2020-09-04 东南大学 一类基于区块链技术的健康数据银行无数承运人方法
CN111654492B (zh) * 2020-06-01 2022-04-26 中国联合网络通信集团有限公司 防止区块链攻击的方法及装置
CN111526162B (zh) * 2020-07-02 2020-10-16 武汉斗鱼鱼乐网络科技有限公司 一种区块链攻击节点的多层次综合识别方法及装置
CN112487496B (zh) * 2020-12-07 2024-04-16 合肥达朴汇联科技有限公司 一种区块链共识系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203178A (zh) * 2016-08-26 2016-12-07 杨鹏 一种区块链的写入权限分配方法及系统
CN106530088A (zh) * 2016-12-19 2017-03-22 杜伯仁 基于区块链安全节点对证券产品进行交易的方法
CN106650494A (zh) * 2016-12-16 2017-05-10 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
CN106878000A (zh) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 一种联盟链共识方法及系统
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270298B2 (en) * 2014-04-14 2022-03-08 21, Inc. Digital currency mining circuitry

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106203178A (zh) * 2016-08-26 2016-12-07 杨鹏 一种区块链的写入权限分配方法及系统
CN106650494A (zh) * 2016-12-16 2017-05-10 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
CN106530088A (zh) * 2016-12-19 2017-03-22 杜伯仁 基于区块链安全节点对证券产品进行交易的方法
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN106878000A (zh) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 一种联盟链共识方法及系统

Also Published As

Publication number Publication date
CN107424066A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107424066B (zh) 一种基于价值量建立共识机制的方法及其系统
CN110896659B (zh) 数据处理方法、节点、区块链网络及虚拟数据载体
CN108805627B (zh) 媒体资源分配方法、装置、系统、介质及设备
CN110163605B (zh) 一种基于区块链的结算方法、装置以及电子设备
CN108510412A (zh) 基于联盟链的知识产权转让管理方法、电子设备及存储介质
CN109886677A (zh) 一种基于区块链的商品购置方法和装置
CN111612453A (zh) 基于区块链的去中心化交易方法、装置及电子设备
WO2019084354A1 (en) SYSTEMS AND METHODS FOR MONITORING INTELLECTUAL PROPERTY
KR102309779B1 (ko) 사회적 가치를 추구하는 탈중앙화 거래소 환경에서의 토큰 지갑 시스템 및 이를 이용한 서비스 제공 방법
CN109360060A (zh) 一种电子商务系统及方法
CN110378693B (zh) 基于联盟区块链的分布式能源弱中心化交易管理系统
US20230196359A1 (en) Systems and methods for reconciling electronic transactions facilitated by a commerce platform
CN111445281B (zh) 基于区块链的积分监控方法、装置及计算机可读存储介质
CN110189161B (zh) 用于实现营销标签共享的区块链共识方法及系统
CN111626718A (zh) 具有区块链功能支持的智能电能表
CN111815444A (zh) 区块链的交易方法、电子设备和存储介质
CN113935836B (zh) 基于Fabric联盟链的跨境支付方法、系统、设备、介质
US10991045B2 (en) Blockchain-based settlement method, apparatus, and electronic device
CN110599146B (zh) 数据处理方法、装置、终端、节点设备及存储介质
CN112036850A (zh) 数字资产数据的访问方法及装置、数字资产的交易系统
RU2005115960A (ru) Система обслуживания по сертификатам бесплатного разговора
CN111062703A (zh) 一种基于区块链的施工企业供应商支付管理系统及方法
CN109472578A (zh) 数字资产的处理方法及装置
CN118467143B (zh) 一种银行自动化切换任务调度系统
CN101098236A (zh) 一种分布式对等网络实体之间的交易管理方法及其系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201110

Termination date: 20210719

CF01 Termination of patent right due to non-payment of annual fee