CN107507006A - 一种基于许可链的共识分叉处理方法 - Google Patents

一种基于许可链的共识分叉处理方法 Download PDF

Info

Publication number
CN107507006A
CN107507006A CN201710685336.XA CN201710685336A CN107507006A CN 107507006 A CN107507006 A CN 107507006A CN 201710685336 A CN201710685336 A CN 201710685336A CN 107507006 A CN107507006 A CN 107507006A
Authority
CN
China
Prior art keywords
block
bifurcated
transaction
selection
common recognition
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.)
Pending
Application number
CN201710685336.XA
Other languages
English (en)
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.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Cryptape 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 Cryptape Co ltd filed Critical Cryptape Co ltd
Priority to CN201710685336.XA priority Critical patent/CN107507006A/zh
Publication of CN107507006A publication Critical patent/CN107507006A/zh
Pending legal-status Critical Current

Links

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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于许可链的共识分叉处理方法,首先在系统内规定“选择分叉”特殊交易,并设定发起权限规则,在系统出现分叉的情况下,由链下人员决定需要保留的区块,按照发起权限规则发送“选择分叉”交易,节点收到交易后,比对自己的分叉,如果正确则重置共识算法,从第0轮开始重新共识,如果错误则删除分叉块,同步正确分叉的区块,之后从第0轮开始重新共识。本发明解决了由于共识算法设计或实现上的漏洞,导致许可链出现分叉、共识卡住的问题。

Description

一种基于许可链的共识分叉处理方法
技术领域
本发明涉及许可链模型下的确定性共识算法领域,致力于解决由于共识算法设计或实现上的漏洞,导致特殊情况下许可链出现分叉、共识卡住的问题。
背景技术
区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。
许可链一般是指有节点和账户准入的区块链,运行现实生活中的真实商业场景,甚至于银行等大型金融场景。这类业务一般对于确定性要求较高,不能容忍区块链产生分叉,交易被删除或者交易重新排序等问题。
所以许可链一般选用确定性的共识算法,需要对每个块进行100%的确定性投票,不会产生分叉和不一致的情况。一般选用基于PBFT的算法,比如Tendermint等。但是确定性共识算法博大精深,分布式系统纷繁复杂,即使一个在论文级别设计的完好的共识算法,考虑到了所有的可能情况,依然有可能在代码实现上产生漏洞。
如果由于共识算法设计本身的问题,或者实现方面的问题,导致系统出现分叉,比如总共4个节点,出现2v2分叉或者3v1分叉等,导致两组节点在同一个高度出了不同的区块。一般情况下,确定性共识算法都无法在产生分叉的情况下自我修正,并继续共识,这样就会导致共识永远不会再达成,系统卡住。目前的处理方法一般是首先选择一组包含正确分叉的节点,然后由运维人员,手工删除其他节点错误的区块或者删除全链,然后同步正确的区块。最终由于两组节点的共识轮次差异,还需将全部节点停机,再重启,才能继续共识。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于许可链的共识分叉处理方法。
本发明的目的是通过以下技术方案实现的:一种基于许可链的共识分叉处理方法,该方法包括:
(1)制定发起有效的“选择分叉”交易的权限规则;
(2)在出现分叉的情况下,用户在链下决定需要保留的区块,用区块高度h和块头哈希b两个参数进行标识,按照步骤1所述的权限规则发起“选择分叉”交易tx;
(3)节点收到交易tx后,首先验证管理权限规则,如果不通过,则丢弃交易,如果通过则比对本地节点高度为h的区块:如果该区块的块头哈希为b,则保留该高度为h的区块;否则,删除该高度为h的区块,并同步高度为h,块头哈希为b的区块。
(4)各节点重置共识算法,按照从轮次0开始对合法的高度为h+1区块进行共识;
(5)出块节点在打包h+1的区块时,将“选择分叉”交易tx放在交易列表的首位,其他同步节点在收到h+1的区块时,都需要验证交易tx,如果“选择分叉”交易tx在交易列表的首位,则为合法的分叉后第一个块,否则为非法块。
进一步的,所述“选择分叉”交易的权限规则可以是一个单签名的的管理员地址,也可以是一个多重签名地址,也可以是复杂设计的智能合约。
本发明的有益效果在于:本发明舍弃了目前许可链里确定性共识算法出现漏洞情况下的手工维护方法,通过管理员权限的特殊“选择分叉”交易,进行分叉块的选择和共识轮次的重置,最终将“选择分叉”交易打包入下一个区块,作为存证。
附图说明
附图1为本发明总体架构图。
具体实施方式
如图1所示,本发明涉及一种基于许可链的共识分叉处理方法,首先在系统内规定“选择分叉”特殊交易,并设定发起权限规则,在系统出现分叉的情况下,由链下人员决定需要保留的区块,按照发起权限规则发送“选择分叉”交易,节点收到交易后,比对自己的分叉,如果正确则重置共识算法,从第0轮开始重新共识,如果错误则删除分叉块,同步正确分叉的区块,之后从第0轮开始重新共识。具体如下:
一、制定发起“选择分叉”交易的管理权限规则协议:
1:在制定许可链的协议时,需要制定发起有效的“选择分叉”交易的权限规则。本发明不限制权限规则的具体设计,可以是一个单签名的的管理员地址,也可以是一个多重签名地址,也可以是复杂设计的智能合约。
2:将该协议写入许可链客户端代码,链从创世块启动,并按照选定的共识算法持续出块。
二、遇到共识卡住的情况,根据管理权限规则,发起“选择分叉”交易:
1:遇到共识卡住时,节点分组G1在块高度h,出了一个块头哈希为b1的区块,节点分组G2在块高度h,出了一个块头哈希为b2的区块,其中b1和b2不一致,出现分叉。
2:节点分组G1和G2,按照共识算法的逻辑,分别递增轮次进行共识。
3:相关人员在链下决定要保留的区块,其块头哈希为b1,要废弃的区块,其块头哈希为b2。
4:根据管理权限规则,发起“选择分叉”交易tx,包含数据为:块高度h、要保留的区块的块头哈希b、要废弃的区块的块头哈希b’,并广播。
三、分组G的节点收到“选择分叉”交易后,重置高度为h+1的区块的共识:
1:节点在收到“选择分叉”交易后,首先验证管理权限规则,如果不通过,则丢弃交易,如果通过则继续下面的操作。
2:节点比对自己节点高度为h的区块,如果块头哈希为b,则得知自己在保留的分叉上。
3:节点重置共识算法,从轮次0开始重新开始高度为h+1区块的共识。
四、分组G’的节点收到“选择分叉”交易后,删除废弃的区块,同步保留的区块,开始高度为h+1区块的共识:
1:节点在收到“选择分叉”交易后,首先验证管理权限规则,如果不通过,则丢弃交易,如果通过则继续下面的操作。
2:节点比对自己节点高度为h的区块,如果块头哈希为b’,则得知自己在废弃的分叉上。
3:节点删除高度为h的区块。
4:节点同步高度为h,块头哈希为b的区块。
5:节点开始高度为h+1的区块的共识。
五、全部节点生成并验证高度为h+1的区块:
1:出块节点在打包h+1的区块时,必须将“选择分叉”交易tx放在交易列表的首位。
2:不论是分组G或者分组G’的其他同步节点,在收到h+1的区块时,都需要验证交易tx,如果在交易列表的首位,则为合法的分叉后第一个块,否则为非法块。
上述处理过程中,“选择分叉”交易的广播采用底层p2p网络,并直接在高度h生效并执行,但在高度h+1打包并存证,所以其执行过程并未经过共识。

Claims (2)

1.一种基于许可链的共识分叉处理方法,其特征在于,该方法包括:
(1)制定发起有效的“选择分叉”交易的权限规则;
(2)在出现分叉的情况下,用户在链下决定需要保留的区块,用区块高度h和块头哈希b两个参数进行标识,按照步骤1所述的权限规则发起“选择分叉”交易tx;
(3)节点收到交易tx后,首先验证管理权限规则,如果不通过,则丢弃交易,如果通过则比对本地节点高度为h的区块:如果该区块的块头哈希为b,则保留该高度为h的区块;否则,删除该高度为h的区块,并同步高度为h,块头哈希为b的区块。
(4)各节点重置共识算法,按照从轮次0开始对合法的高度为h+1区块进行共识;
(5)出块节点在打包h+1的区块时,将“选择分叉”交易tx放在交易列表的首位,其他同步节点在收到h+1的区块时,都需要验证交易tx,如果“选择分叉”交易tx在交易列表的首位,则为合法的分叉后第一个块,否则为非法块。
2.根据权利要求1所述的方法,其特征在于,所述“选择分叉”交易的权限规则可以是一个单签名的的管理员地址,也可以是一个多重签名地址,也可以是复杂设计的智能合约。
CN201710685336.XA 2017-08-11 2017-08-11 一种基于许可链的共识分叉处理方法 Pending CN107507006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710685336.XA CN107507006A (zh) 2017-08-11 2017-08-11 一种基于许可链的共识分叉处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710685336.XA CN107507006A (zh) 2017-08-11 2017-08-11 一种基于许可链的共识分叉处理方法

Publications (1)

Publication Number Publication Date
CN107507006A true CN107507006A (zh) 2017-12-22

Family

ID=60690693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710685336.XA Pending CN107507006A (zh) 2017-08-11 2017-08-11 一种基于许可链的共识分叉处理方法

Country Status (1)

Country Link
CN (1) CN107507006A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647963A (zh) * 2018-05-02 2018-10-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109189859A (zh) * 2018-09-20 2019-01-11 百度在线网络技术(北京)有限公司 区块链网络中的节点初始化方法和装置
CN109300036A (zh) * 2018-09-14 2019-02-01 百度在线网络技术(北京)有限公司 区块链网络的分叉回归方法和装置
CN109446266A (zh) * 2018-09-20 2019-03-08 成都捕风数据科技有限公司 一种适用于区块链网络改进事务效率与稳定性的方法
CN109493015A (zh) * 2018-10-18 2019-03-19 杭州复杂美科技有限公司 一种资产转移方法、设备和存储介质
CN109525398A (zh) * 2018-10-18 2019-03-26 尚维斯 一种实现去中心化权力证明共识的方法
CN109889519A (zh) * 2019-02-18 2019-06-14 深圳市优学链科技有限公司 一种避免区块链共识中无代价攻击的算法
CN109951534A (zh) * 2019-02-28 2019-06-28 北京柏链基石科技有限公司 一种共识方法、装置和系统
CN109992624A (zh) * 2019-03-15 2019-07-09 深圳前海微众银行股份有限公司 一种区块链Block chain的同步存储方法、装置及计算机设备
CN111405037A (zh) * 2020-03-13 2020-07-10 杭州复杂美科技有限公司 区块同步方法、设备和存储介质
CN111400106A (zh) * 2020-03-27 2020-07-10 百度国际科技(深圳)有限公司 一种区块链账本同步方法、装置以及电子设备
WO2021190010A1 (zh) * 2020-03-26 2021-09-30 江苏复杂美科技有限公司 非正常挖矿账户的识别方法和惩罚方法、设备和存储介质
CN114820183A (zh) * 2021-09-08 2022-07-29 佛山赛思禅科技有限公司 一种消除并行投票证明共识算法中分叉问题的方法及系统
CN111884809B (zh) * 2020-07-20 2023-05-05 杭州溪塔科技有限公司 一种防止分叉链交易重放的方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407481A (zh) * 2016-11-30 2017-02-15 福州微启迪物联科技有限公司 基于区块链架构的生态环境监管系统及其实现方法
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN106779975A (zh) * 2017-01-11 2017-05-31 合肥工业大学 基于区块链的信誉信息的防篡改方法
CN106936589A (zh) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407481A (zh) * 2016-11-30 2017-02-15 福州微启迪物联科技有限公司 基于区块链架构的生态环境监管系统及其实现方法
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN106779975A (zh) * 2017-01-11 2017-05-31 合肥工业大学 基于区块链的信誉信息的防篡改方法
CN106936589A (zh) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019210711A1 (zh) * 2018-05-02 2019-11-07 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、设备和存储介质
US12081682B2 (en) 2018-05-02 2024-09-03 Baidu Online Network Technology (Beijing) Co., Ltd. Method for determining main chain of blockchain, device, and storage medium
CN108647963A (zh) * 2018-05-02 2018-10-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
CN108647963B (zh) * 2018-05-02 2020-05-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
US11012229B2 (en) 2018-06-22 2021-05-18 Wealedger Network Technologies Co., Ltd. Method for preventing short-term bifurcation and double-spend attack on block chain network
WO2019242340A1 (zh) * 2018-06-22 2019-12-26 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109033832B (zh) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109300036B (zh) * 2018-09-14 2020-08-14 百度在线网络技术(北京)有限公司 区块链网络的分叉回归方法和装置
CN109300036A (zh) * 2018-09-14 2019-02-01 百度在线网络技术(北京)有限公司 区块链网络的分叉回归方法和装置
CN109446266A (zh) * 2018-09-20 2019-03-08 成都捕风数据科技有限公司 一种适用于区块链网络改进事务效率与稳定性的方法
CN109189859A (zh) * 2018-09-20 2019-01-11 百度在线网络技术(北京)有限公司 区块链网络中的节点初始化方法和装置
CN109189859B (zh) * 2018-09-20 2020-10-16 百度在线网络技术(北京)有限公司 区块链网络中的节点初始化方法和装置
CN109525398A (zh) * 2018-10-18 2019-03-26 尚维斯 一种实现去中心化权力证明共识的方法
CN109493015A (zh) * 2018-10-18 2019-03-19 杭州复杂美科技有限公司 一种资产转移方法、设备和存储介质
CN109889519A (zh) * 2019-02-18 2019-06-14 深圳市优学链科技有限公司 一种避免区块链共识中无代价攻击的算法
CN109889519B (zh) * 2019-02-18 2021-08-13 三亚京牛数字科技有限公司 一种避免区块链共识中无代价攻击的算法
CN109951534A (zh) * 2019-02-28 2019-06-28 北京柏链基石科技有限公司 一种共识方法、装置和系统
CN109951534B (zh) * 2019-02-28 2021-09-07 北京柏链基石科技有限公司 一种共识方法、装置和系统
CN109992624B (zh) * 2019-03-15 2024-03-22 深圳前海微众银行股份有限公司 一种区块链Block chain的同步存储方法、装置及计算机设备
CN109992624A (zh) * 2019-03-15 2019-07-09 深圳前海微众银行股份有限公司 一种区块链Block chain的同步存储方法、装置及计算机设备
CN111405037A (zh) * 2020-03-13 2020-07-10 杭州复杂美科技有限公司 区块同步方法、设备和存储介质
WO2021190010A1 (zh) * 2020-03-26 2021-09-30 江苏复杂美科技有限公司 非正常挖矿账户的识别方法和惩罚方法、设备和存储介质
CN111400106A (zh) * 2020-03-27 2020-07-10 百度国际科技(深圳)有限公司 一种区块链账本同步方法、装置以及电子设备
CN111884809B (zh) * 2020-07-20 2023-05-05 杭州溪塔科技有限公司 一种防止分叉链交易重放的方法、装置及电子设备
CN114820183A (zh) * 2021-09-08 2022-07-29 佛山赛思禅科技有限公司 一种消除并行投票证明共识算法中分叉问题的方法及系统
CN114820183B (zh) * 2021-09-08 2023-01-31 佛山赛思禅科技有限公司 一种消除并行投票证明共识算法中分叉问题的方法及系统

Similar Documents

Publication Publication Date Title
CN107507006A (zh) 一种基于许可链的共识分叉处理方法
CN107770154B (zh) 基于云存储的区块链可靠数据存储方法、终端及系统
CN107220820B (zh) 资源转移方法、装置及存储介质
CN107276762B (zh) 一种多协议区块链的工作方法及装置
CN106372533A (zh) 基于区块链技术的内容存储方法
CN109542888A (zh) 区块链的数据修改和同步方法、装置、设备及存储介质
WO2020168585A1 (zh) 一种基于区块链混合共识的域名信息维护系统
CN107846282A (zh) 一种基于区块链技术的电子数据分布式保管方法及系统
CN108646983A (zh) 在区块链上存储业务数据的处理方法和装置
CN109995850A (zh) 一种区块链系统及区块链系统的交易处理方法
CN106991607A (zh) 一种基于区块链账户模型的无序交易控制方法
CN109104286A (zh) 一种基于门限数字签名的共识的新区块生成方法
CN111935207A (zh) 基于改进型c4.5算法区块链系统共识方法
CN109241087A (zh) 一种联盟链的数据处理方法及终端
CN106375105B (zh) 一种确定路径故障的方法、控制器、交换机和系统
CN109361588B (zh) 一种基于星型网络的区块链网络构建方法及其系统
CN109872156A (zh) 一种联盟链共识系统及方法
KR102217987B1 (ko) 블록체인 관리시스템
CN107507001A (zh) 一种基于许可链的数据订正方法
CN104869125A (zh) 基于sdn的动态防mac地址欺骗方法
CN115796261A (zh) 一种基于区块链的轻量级分组共识的联邦学习方法
CN108881476A (zh) 区块链部署方法与系统
CN108880820A (zh) 代码管理方法和装置
CN111541601B (zh) 动态异构冗余架构的交换设备中stp协议同步的方法及装置
Charapko et al. Bridging paxos and blockchain consensus

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
TA01 Transfer of patent application right

Effective date of registration: 20200323

Address after: 310012 no.1001, 10 / F, block a, Huaxing Times Square, No.478, Wensan Road, Xihu District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Xita Technology Co.,Ltd.

Address before: 310013 Huaxi times square A, No. 478, Wensanlu Road, Hangzhou, Xihu District, Zhejiang 702

Applicant before: CRYPTAPE Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20171222

RJ01 Rejection of invention patent application after publication