CN110517139B - 一种基于投票机制的联盟区块链分权共识方法 - Google Patents
一种基于投票机制的联盟区块链分权共识方法 Download PDFInfo
- Publication number
- CN110517139B CN110517139B CN201910781456.9A CN201910781456A CN110517139B CN 110517139 B CN110517139 B CN 110517139B CN 201910781456 A CN201910781456 A CN 201910781456A CN 110517139 B CN110517139 B CN 110517139B
- Authority
- CN
- China
- Prior art keywords
- node
- block
- nodes
- value
- blocking
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本发明公开了一种基于投票机制的联盟区块链分权共识方法,属于区块链共识技术领域,针对现有基于挖矿机制的区块链共识算法的算力开销高且效率较低的问题,本发明放弃采用挖矿机制,转而依靠投票加保证金机制来实现可靠的共识。本发明大幅提升了联盟区块链系统的共识效率,降低了Hash算力成本和交易确认时延,提升了系统吞吐量;同时系统的去中心化特性更强,节点的用户公平性更好;此外,本发明在联盟区块链系统内部的恶意行为会得到极大的抑制,系统的安全性得到有效提升。
Description
技术领域
本发明属于区块链共识技术领域,具体涉及一种基于投票机制的联盟区块链分权共识方法的设计。
背景技术
2008年,化名为中本聪的作者在一篇名为《比特币:一个点对点的电子现金系统》的论文中首先提出了比特币。中本聪结合以前的多个数字货币发明,如B-money和HashCash,创建了一个完全去中心化的电子现金系统,实现点对点支付,不依赖于任何金融机构或是结算验证保障的中央权威。
区块链技术是比特币原创的核心技术,在比特币被发明之前世界上并不存在区块链。比特币发明之后,很多人参考比特币中的区块链实现,使用类似的技术实现各种应用,这类技术统称区块链技术,用区块链技术实现的各种链即为区块链。
区块链技术的核心的就是解决信任成本的问题,去中心化、去中介是区块链技术的核心概念。区块链抛开一切禁锢我们头脑的旧思维,它将颠覆交易执行的管理方式和集中型控制模式。区块链让人们摆脱了各种中心机构(例如银行、政策制定者、清算中心、政府、大公司等)的控制节点。例如,交易双方完全可以在区块链上进行交易的认证,而不再需要一个清算中心。信用的实现应该是无偿的,更不应该掌握在某种集中型的权威手中,这种权力要么利用信用收税,要么肆意操纵,玩弄各种形式的费用、访问权、许可权等等。区块链技术的出现将使人们摆脱中心化机构的束缚,实现真正的点对点交易。
区块链的本质是一个去中心化的数据库,通过去中心化、集体协作的方式,结合密码学相关技术来维护数据库安全可靠、不被篡改的特性,即我们所说的“分布式账本技术”、或者“全民记账”。本质上理解,这个巨大的账本更像是一个独立客观的第三方公证者,记录并见证着各种交易行为的发生,且独立存在于互联网上,不受任何中心化个人、组织或机构所控制。
现行区块链系统主要有三种:公有链、私有链、联盟链。公有链:顾名思义,就是“公有”的链,它是指对全世界所有人开放的,任何人都可以读取数据、发送交易且可以自由加入和退出系统,这种链访问门槛低,系统节点间完全不互信;私有链:也称专有链,它是一条非公开的“链”,通常情况需要授权才能加入节点,而且私有链中各个节点的写入权限皆被严格控制,读取权限则可视需求有选择性地对外开放,通常情况,私有链适用于企业内部的应用,以及特定机构的内部数据管理与审计等金融场景的应用,私有链上的节点只有少量,且具有很高的信任度,交易不需要所有网络节点的确认;联盟链:指由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送,系统节点间有一定的互信度却不完全互信。
区块链系统中的基本存储单元是区块,每个区块包含一系列交易信息、时间戳信息、前驱区块的Hash标识和自身独一无二的Hash标识等信息。区块由系统中的节点产生,新区块链接到旧区块上形成链式结构,区块链的名字由此而来。区块链形成的链式结构就是区块链系统中的账本,每个系统中的节点都会在本地保留一个账本的副本。每个区块的产生者在区块被认定合法后可以从区块所包含的交易中获得一部分经济收益,这也是区块链系统得以运作,链式结构不断延长的原因和动力。目前整个区块链过程还存在一些问题需要解决,例如如何验证交易的有效性,如何达成分布式账本的一致性以及如何保护节点隐私信息等,这一系列问题都需要合理的策略去解决。
中本聪在白皮书《比特币:一个点对点的电子现金系统》中给出了一种解决账本一致性问题的共识算法:工作量证明(Proof of Work,POW)。POW的基本原理是要求节点在产块时解决系统给定的数学难题,这个难题往往需要大量的CPU计算才能得到结果,而结果的验证简单高效,只有验证通过的区块才是合法区块。常用的实现方式是挖矿,即节点产块时在区块内添加一个随机的Nounce值,然后对包含Nounce值的区块计算其Hash值,当计算所得的区块Hash满足系统预先设定的难度时,比如Hash值需要有一个定长位数的前置0,该区块才被系统承认接受。
Hash计算是一个单向不可逆过程,为了得到满足要求的Hash值唯一的办法就是反复尝试新的Nounce值,这个过程需要大量CPU算力,一旦系统中出现了满足要求的区块,那说明它的产生者必定是付出了足够的计算资源,因此有理由接受这个块。相反,如果一个恶意节点没有经过足够的计算直接伪造了一个Hash值,则其它善良节点只要对其给出的块做一次Hash计算就能发现区块并不合法,进而不会把区块链到链上。
POW这一经典的区块链共识算法支撑比特币系统正常运行多年,但过程中也暴露出很多问题,主要体现在三个方面:大量算力浪费、交易确认高时延、节点公平性。首先因为POW是基于挖矿的算法,解决数学难题时不可避免地耗费大量CPU资源,导致POW的计算开销和电力开销一直居高不下。其次挖矿本身很难解决并发区块问题,当系统中几乎同时产生了多个合法区块,原则上,这些区块都会被系统承认并链接到区块链中,如此一来链中产生了分叉,分叉会带来同一个交易在并发区块中被多次记录的风险,为了尽量避免这种情况的发生,系统只能提升数学难题的难度,降低分叉产生的概率,这无疑会降低新区块的产生速度。尽管如此,分叉还是可能发生,所以POW规定只有当一个区块链到链上,并且其后再链接6个合法区块,这个区块才算最终被系统所承认,区块中的交易到那时才能彻底生效,产块者才能从区块中获得收益,这进一步延长了交易的确认时间,比特币系统交易的确认时延大概是1小时,这显然有些久了。最后,挖矿是一个算力比拼的过程,算力高的节点将能更快解决数学难题,取得成块的机会,进而从区块中获得收益,最终富人越来越富,穷人越来越穷,节点的公平性难以保障。长期运作,系统资产会逐渐被少数节点掌握,这不利于系统中节点参与共识过程的积极性,也不符合区块链系统的去中心化特性。
继POW之后,以太坊系统采用了股权证明(Proof of Stack,POS)算法,该算法基于POW的原理,结合节点的资产属性,对高资产节点降低其挖矿的难度,以提升产块效率。POS在系统中引入了币龄的概念,每个节点持币数目乘以持币时间定义为节点的币龄,高币龄节点挖矿难度降低幅度大,低币龄节点挖矿难度降低幅度小,节点币龄在产生区块后会清零。该算法正常工作的前提是“理性攻击者”,节点占有的资产越多越不会做出扰乱系统的事,因为系统混乱自身的损失也越大。
相比于POW,POS确实做出了有益的创新和改进,不过基于挖矿的本质没有变,虽然挖矿难度整体降低,但依然要进行可观的Hash运算,计算资源开销依然有优化空间。而且挖矿难度的降低也让分叉变得更容易。另一方面,虽然币龄的引入提升了系统的用户公平性,但高资产节点的币龄增长速度仍然比低币龄节点快,所以系统资产依旧有向高资产节点倾斜的趋势。
发明内容
本发明的目的是为了解决现有基于挖矿机制的区块链共识算法的算力开销高且效率较低的问题,提出了一种基于投票机制的联盟区块链分权共识方法。
本发明的技术方案为:一种基于投票机制的联盟区块链分权共识方法,包括以下步骤:
S1、构建联盟区块链系统,默认设置联盟区块链系统中的所有节点均为普通节点,初始化设置每个节点对其他节点的信任度列表。
S2、生成联盟区块链系统的验证节点集。
S3、生成联盟区块链系统的候选节点集。
S4、通过验证节点集中的验证节点对候选节点集中的候选节点进行投票选举,得到成块节点集合。
S5、通过成块节点集合中的所有成块节点采用可验证随机机制对一个输入信息进行抽签,选择签值最小的成块节点获得下一个区块的成块权。
S6、通过获得成块权的成块节点产生下一个区块,并公布新区块以及获得成块权的成块节点在抽签阶段的中签签值证明;产生下一个区块的过程包括交易打包、计算新区块的Hash值和签名。
S7、验证节点收到获得成块权的成块节点在抽签阶段的中签签值证明后,对获得成块权的成块节点的中签签值进行验证,判断中签签值是否合法,若中签签值合法则进入步骤S8,否则丢弃该中签签值,进入步骤S9。
S8、根据产生区块的区块Hash值及签名信息,通过验证节点对获得成块权的成块节点产生的区块进行验证,判断产生的区块是否合法,若是则将该区块的区块Hash值作为下一轮区块链共识抽签的输入信息,并进入步骤S10,否则丢弃该区块和签值并将产生该区块的成块节点变为普通节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,进入步骤S9。
S9、判断原签值中是否存在次小签值,若是则原签值中次小签值中签,返回步骤S7,否则返回步骤S3重新选取候选节点。
S10、更新联盟区块链系统中每个节点对公布了区块的成块节点的信任度列表。
S11、判断联盟区块链系统中是否还存在待共识交易,若是则进入步骤S12,否则结束共识流程。
S12、判断成块节点集任期内新增合法区块数量是否达到联盟区块链系统设定的合法区块数量上限,若是更新联盟区块链系统中每个节点对所有验证节点的信任度值,并将联盟区块链系统中所有节点的身份重置为普通节点,返回步骤S2,否则返回步骤S5继续产生区块。
进一步地,步骤S2包括以下分步骤:
S21、根据联盟区块链系统预设的验证节点数目以及各个公司在联盟区块链系统中投入节点的总资产占联盟区块链系统中所有节点总资产的比例,为每个公司分配对应比例的验证节点名额。
S22、根据每个公司获得的验证节点名额,按照高资产者优先的顺序生成对应数量的验证节点,通过所有公司的验证节点构成整个联盟区块链系统的验证节点集。
进一步地,步骤S3具体为:选取联盟区块链系统中的普通节点,通过缴纳预设数额的保证金将其转变为候选节点,通过所有候选节点构成整个联盟区块链系统的候选节点集。
进一步地,步骤S4包括以下分步骤:
S41、通过验证节点对候选节点的信任度列表,按信任度比例制成一张轮盘。
S42、转动轮盘,最终指针指向的位置即为被选中的候选节点,通过验证节点对其投票并支付担保金,每个验证节点只能给一个候选节点投票。
S43、当所有验证节点完成投票后,统计候选节点集中每个候选节点的得票信息,优先选择高票数的候选节点成为成块节点,对同票数的候选节点,优先选择获得了更多担保金的候选节点成为成块节点,构成成块节点集合。
S44、判断获得了投票的候选节点数量是否小于联盟区块链系统预设的成块节点数量,若是则进入步骤S45,否则选择联盟区块链系统预设数量的前n个候选节点成为成块节点,结束投票选举并进入步骤S5。
S45、在未获得投票的候选节点中选择具有较高币龄的候选节点作为成块节点,构成成块节点集合,进入步骤S5。
进一步地,步骤S5包括以下分步骤:
S51、根据每个成块节点在本地用节点私钥SK对其输入信息M进行加密,得到每个成块节点的签值证明P。
S52、对每个成块节点的签值证明P进行Hash计算得到每个成块节点的签值L,并公布签值L。
S53、选择签值L最小的成块节点获得下一个区块的成块权,作为获得成块权的成块节点。
进一步地,步骤S51中每个成块节点的输入信息M设定为其前驱区块的Hash值,若成块节点产生的区块为创世区块,则其输入信息M为联盟区块链系统随机生成的一个Hash值。
进一步地,步骤S7包括以下分步骤:
S71、对获得成块权的成块节点在抽签阶段的中签签值证明P进行Hash计算,并将计算结果与获得成块权的成块节点的中签签值L进行比较,若两者相同则进入步骤S72,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9。
S72、根据获得成块权的成块节点的公钥PK对中签签值证明P进行解密,并将解密结果与获得成块权的成块节点的输入信息M进行比较,若两者相同则判定中签签值L合法,进入步骤S8,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9。
进一步地,步骤S8包括以下分步骤:
S81、通过验证节点验证获得成块权的成块节点产生的区块的前驱Hash值、包含的交易、区块Hash值以及签名信息,若验证无误则向该成块节点投出合法票,否则向该成块节点投出非法票,并支付验证节点的保证金。
S82、判断验证节点集中向获得成块权的成块节点投出合法票的验证节点是否达到验证节点总数的一半,若是则判定产生的区块合法,并进入步骤S83,否则判定产生的区块非法,并进入步骤S84。
S83、将合法区块链到区块链上,并将合法区块中包含的交易从交易池中删除,并将合法区块中预设比例的交易金额作为收益分配给产生该区块的成块节点,并将该区块的区块Hash值为下一轮区块链共识抽签的输入信息,同时提升联盟区块链系统中每个节点对该成块节点的信任度值,返还该成块节点成为候选节点时缴纳的保证金,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S10。
S84、丢弃该非法区块和签值并将产生该非法区块的成块节点变为普通节点,同时将该成块节点成为候选节点时缴纳的保证金罚没,并分给其他尚未产生非法区块的成块节点,同时将步骤S4中为该成块节点投选举票的验证节点的担保金罚没,并分给其他未错误担保的成块节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S9。
本发明的有益效果是:
(1)本发明大幅提升了联盟区块链系统的共识效率,降低了Hash算力成本和交易确认时延,提升了系统吞吐量。
(2)本发明相比传统的基于挖矿机制的区块链共识算法(POW和POS),系统的去中心化特性更强,节点的用户公平性更好。
(3)本发明在联盟区块链系统内部的恶意行为会得到极大的抑制,系统的安全性得到有效提升。
附图说明
图1所示为本发明实施例提供的一种基于投票机制的联盟区块链分权共识方法流程图。
图2所示为本发明实施例提供的节点身份转换和控制示意图。
图3所示为本发明实施例提供的基于投票机制的联盟区块链分权共识过程示意图。
图4所示为本发明实施例提供的算法共识时间对比示意图。
图5所示为本发明实施例提供的算法Hash代价对比示意图。
图6所示为本发明实施例提供的节点资产分布对比示意图。
具体实施方式
现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。
在描述本发明的具体实施例之前,首先对本发明中的一些名词概念进行解释,旨在使本发明的技术方案更加清楚。
(1)交易池:交易池用于保存系统(本发明实施例中的系统均指联盟区块链系统)中产生的尚未被共识的用户交易,处于交易池中的交易都经过模拟执行,本身都是合法交易。
(2)成块(交易打包):由系统中的节点从交易池中选择一定数量的交易,结合前驱区块的Hash值、当前时间戳、自身区块Hash值和节点签名等信息打包产生新区块。
(3)创世区块(genesis block):联盟区块链系统中产生的第一个合法区块。
(4)节点密钥:联盟区块链系统中每个节点都有一对属于自己的非对称密钥:公钥和私钥;其中公钥对所有人可见,私钥只自身可见;本发明实施例采用应用广泛的RSA加密算法生成节点的公、私钥。
(5)区块签名:当新的区块出现,区块的产生者使用自己的私钥对区块Hash值进行加密签名,作为自己的产块凭证,其他节点可通过公钥验证签名合法性。
(6)节点抽签:节点根据一个公开的信息(通常是区块链上最新区块的Hash值)进行一系列运算后得到一个可以比较大小的对象,这个过程称为抽签,那个对象就是签,抽签用来决定下一个具有成块权的节点。
(7)节点信任度列表:每个节点维护着一张对系统中其他节点的信任度列表,节点作恶会降低信任度,产生合法区块会提升信任度,信任度列表在共识的投票过程中提供票选依据。
(8)普通节点:系统中所有节点默认都是普通节点,它们是系统中交易、区块以及共识过程的见证者,可以复制共识结果到本地账本,但不参与共识过程中的决策。
(9)候选节点:支付了一定担保金的普通节点,候选节点有成为成块节点的潜力。
(10)成块节点:负责对待共识交易打包成块。
(11)验证节点:负责投票选举成块节点集以及对成块节点产生的区块做合法性验证,验证内容包括区块内是否有重复交易,区块Hash值是否合法,区块签名是否合法等。
各类节点功能独立,在一定条件下可以实现身份的变换,它们之间通过协作完成系统共识。
接着再对本发明中的一些假设前提进行说明:
(1)理性攻击者假设:每一个攻击者都是理性的,他不会做出有损自身利益的攻击行为。节点占有资产越多越不愿意对系统造成伤害,因为这对自身利益的损害更大。
(2)单向、无碰撞Hash假设:Hash值的计算过程是单向的,没有节点能从Hash的结果反推出被Hash的信息;不同的输入值必然产生不同的Hash结果。
(3)密钥不可破解假设:RSA加密算法生成的密钥是安全的,没有节点有足够的算力在有限的时间内通过节点公钥破解出对应私钥。
(4)善良节点占优假设:该假设认为一个区块链系统中的善良节点数目超过恶意节点数目。
以上假设前提在目前是合理的,因为它们都已在现实中得到应用,经受了时间的考验。
本发明实施例提供了一种基于投票机制的联盟区块链分权共识方法,如图1所示,包括以下步骤S1~S11:
S1、构建联盟区块链系统,默认设置联盟区块链系统中的所有节点均为普通节点,初始化设置每个节点对其他节点的信任度列表。
本发明实施例中,假设有三家公司A、B、C合作,共同维护一个联盟区块链系统,每家公司都会投放一定数目的节点参与到系统的运作中,系统中所有的节点都持有一定的初始资产并默认为普通节点。节点投入完成后,每个节点都会初始化对其他节点的信任度列表,初始化策略可以选择一视同仁,设置成相同值,也可以对自家公司的节点有一定的信任偏向,具体如何选择视实际应用场景而定。
S2、生成联盟区块链系统的验证节点集。
步骤S2包括以下分步骤S21~S22:
S21、根据联盟区块链系统预设的验证节点数目(Number of Verifiers,NOV)以及各个公司在联盟区块链系统中投入节点的总资产占联盟区块链系统中所有节点总资产的比例,为每个公司分配对应比例的验证节点名额。
本发明实施例中,假如总验证节点数目为12,各公司投入节点资产分别为10万、10万、20万,则对应分得的验证节点名额为3,3,6。
S22、根据每个公司获得的验证节点名额,按照高资产者优先的顺序生成对应数量的验证节点(公司内部对普通节点按照投入的资产降序的方式进行排列,排名靠前的对应数量的普通节点转化为验证节点),通过所有公司的验证节点构成整个联盟区块链系统的验证节点集。
本发明实施例中认为这样选择验证节点是可靠的,依据就是“理性攻击者”假设,这些承担验证功能的节点占有了系统中大部分资产,损害系统利益就是损害自身利益。
S3、生成联盟区块链系统的候选节点集。
联盟区块链系统中的节点最终目的都是从系统中获得经济收益,为此必须要从无任何实权的普通节点身份转变成能参与系统共识的其他身份,尤其是成块节点身份。首先它们需要获得成为成块节点的资格,即变成候选节点。
本发明实施例中,选取联盟区块链系统中的普通节点,通过缴纳预设数额的保证金将其转变为候选节点,通过所有候选节点构成整个联盟区块链系统的候选节点集。保证金在该节点重新变成普通节点前处于冻结状态,若过程中节点作恶,保证金将被罚没,分给善良的成块节点,否则会全额返还,缴纳了保证金的普通节点共同组成候选节点集。
本发明实施例中规定,验证节点不能缴纳保证金成为候选节点,每种节点只能同时拥有一种身份。
S4、通过验证节点集中的验证节点对候选节点集中的候选节点进行投票选举,得到成块节点集合。
步骤S4包括以下分步骤S41~S45:
S41、通过验证节点对候选节点的信任度列表,按信任度比例制成一张轮盘。
S42、转动轮盘,最终指针指向的位置即为被选中的候选节点,通过验证节点对其投票并支付担保金。
本发明实施例中,每个验证节点在每一轮选举中只能投一次票,且只能给一个候选节点投票,并且要为自己的投票对象支付一定数额的担保金,担保金额不得低于系统预设的下限,可以视自身对所投票对象的信任程度而有所起伏,若投票对象后续被检测到作恶行为,则其所获得的担保金将全部罚没,分给正确担保的验证节点。
轮盘机制能实现按概率投票,高可信候选节点更容易被选为成块节点,低信任候选节点也有机会成为成块节点。之所以不采用最高信任节点直接得票的策略是为了提升选举的公平性,防止高可信候选节点完全占据被选机会而独揽大权。
S43、当所有验证节点完成投票后,统计候选节点集中每个候选节点的得票信息,优先选择高票数的候选节点成为成块节点,对同票数的候选节点,优先选择获得了更多担保金的候选节点成为成块节点,构成成块节点集合。
S44、判断获得了投票的候选节点数量是否小于联盟区块链系统预设的成块节点数量,若是则进入步骤S45,否则选择联盟区块链系统预设数量的前n个候选节点成为成块节点,结束投票选举并进入步骤S5。
S45、在未获得投票的候选节点中选择具有较高币龄的候选节点作为成块节点,构成成块节点集合,进入步骤S5。
本发明实施例中,为了避免所有获得了投票的候选节点加起来也不足系统预设的成块节点数目的状况,引入了POS的币龄概念(每个节点持币数目乘以持币时间定义为节点的币龄),当这种情况发生,高币龄的候选节点就会被提升为成块节点来弥补空缺,节点币龄随时间增加,产块后会清零。
其他未被选中的候选节点可以选择拿回保证金重回普通节点身份,或者维持现状,在下一轮的选举中继续以该身份参与选举。
S5、通过成块节点集合中的所有成块节点采用可验证随机机制对一个输入信息进行抽签,选择签值最小的成块节点获得下一个区块的成块权。
在开始正式的交易打包成块前,需要决定由哪一个成块节点负责下一个区块的产生。本发明实施例采用可验证随机机制(Verifiriable Random Mechanism,VRM),通过抽签决定成块权的归属。VRM的基本原理如下:
(1)给定一个随机的输入信息M、节点私钥SK,通过一个确定的单向不可逆函数lottery(M,SK),生成对M抽签的结果L,公式表示如下:
L=lottery(M,SK)
(2)同样的输入M,节点私钥SK,通过另一个函数proof(M,SK),可以得到结果L的证明P:
P=proof(M,SK)
(3)在已知输入信息M,抽签结果L,结果的证明P以及抽签者的公钥PK时,可以通过函数prove(M,L,P,PK),验证抽签结果L是否合法。抽签结果合法的定义是:由证明P可以得到结果L,且由P和PK可以还原输入信息M:
基于上述原理,步骤S5包括以下分步骤S51~S53:
S51、根据每个成块节点在本地用节点私钥SK对其输入信息M进行加密,得到每个成块节点的签值证明P:
P=encrypt(M,SK)
其中encrypt(·)为加密函数。
本发明实施例中,每个成块节点的输入信息M设定为其前驱区块的Hash值,若成块节点产生的区块为创世区块,则其输入信息M为联盟区块链系统随机生成的一个Hash值。
S52、对每个成块节点的签值证明P进行Hash计算得到每个成块节点的签值L,并公布签值L:
L=hash(encrypt(M,SK))
其中hash(·)为Hash计算函数。
S53、选择签值L最小的成块节点获得下一个区块的成块权,作为获得成块权的成块节点。
本发明实施例中,每个节点完成抽签后会公布抽签结果到系统中,抽签的过程是本地进行的,也就是说,单单依靠抽签值,其他节点无法得知具体哪个节点抽得了这个签值,直到抽签者自己公布签值证明P,这对抽签者来说是一种保护。签值L本质上是一个Hash值,不同节点对同一输入信息M加密的结果不同,所以不会出现两个不同节点抽到了相同签的情况。
S6、通过获得成块权的成块节点产生下一个区块,并公布新区块以及获得成块权的成块节点在抽签阶段的中签签值证明;产生下一个区块的过程包括交易打包、计算新区块的Hash值和签名。
S7、验证节点收到获得成块权的成块节点在抽签阶段的中签签值证明后,对获得成块权的成块节点的中签签值进行验证,判断中签签值是否合法,若中签签值合法则进入步骤S8,否则丢弃该中签签值,进入步骤S9。
步骤S7包括以下分步骤S71~S72:
S71、对获得成块权的成块节点在抽签阶段的中签签值证明P进行Hash计算,并将计算结果与获得成块权的成块节点的中签签值L进行比较,若两者相同则进入步骤S72,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9。
S72、根据获得成块权的成块节点的公钥PK对中签签值证明P进行解密,并将解密结果与获得成块权的成块节点的输入信息M进行比较,若两者相同则判定中签签值L合法,进入步骤S8,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9。
本发明实施例中判定中签签值L合法的条件可表示为:
hash(P)==L&&decrypt(P,PK)==M
其中decrypt(·)为解密函数。
本发明实施例中,若所有中签签值L经验证均不合法,则说明当前的成块节点集有问题,验证节点集会触发新一轮成块节点集投票选举。
S8、根据产生区块的区块Hash值及签名信息,通过验证节点对获得成块权的成块节点产生的区块进行验证,判断产生的区块是否合法,若是则将该区块的区块Hash值作为下一轮区块链共识抽签的输入信息,并进入步骤S10,否则丢弃该区块和签值并将产生该区块的成块节点变为普通节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,进入步骤S9。
步骤S8包括以下分步骤S81~S84:
S81、通过验证节点验证获得成块权的成块节点产生的区块的前驱Hash值、包含的交易、区块Hash值以及签名信息,若验证无误则向该成块节点投出合法票,否则向该成块节点投出非法票,并支付验证节点的保证金。
S82、判断验证节点集中向获得成块权的成块节点投出合法票的验证节点是否达到验证节点总数的一半,若是则判定产生的区块合法,并进入步骤S83,否则判定产生的区块非法,并进入步骤S84。
S83、将合法区块链到区块链上,并将合法区块中包含的交易从交易池中删除,并将合法区块中预设比例的交易金额作为收益分配给产生该区块的成块节点,并将该区块的区块Hash值为下一轮区块链共识抽签的输入信息,同时提升联盟区块链系统中每个节点对该成块节点的信任度值,返还该成块节点成为候选节点时缴纳的保证金,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S10。
S84、丢弃该非法区块和签值并将产生该非法区块的成块节点变为普通节点,同时将该成块节点成为候选节点时缴纳的保证金罚没,并分给其他尚未产生非法区块的成块节点,同时将步骤S4中为该成块节点投选举票的验证节点的担保金罚没,并分给其他未错误担保的成块节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S9。
本发明实施例中,若成块节点集中的所有成块节点都无法产生合法区块而被移除,则验证节点集也会触发新一轮成块节点集投票选举。
S9、判断原签值中是否存在次小签值,若是则原签值中次小签值中签,返回步骤S7,否则返回步骤S3重新选取候选节点。
本发明实施例中,每产生一个合法的区块,该成块节点的信任度都会得到提升;反之,产生非法的区块则会导致信任度降低。
S10、更新联盟区块链系统中每个节点对公布了区块的成块节点的信任度列表。
S11、判断联盟区块链系统中是否还存在待共识交易,若是则进入步骤S12,否则结束共识流程。
S12、判断成块节点集任期内新增合法区块数量是否达到联盟区块链系统设定的合法区块数量上限,若是更新联盟区块链系统中每个节点对所有验证节点的信任度值,并将联盟区块链系统中所有节点的身份重置为普通节点,返回步骤S2,否则返回步骤S5继续产生区块。
本发明实施例中,节点重置具有重大意义:在经过一系列合法区块的打包共识后,对应的成块节点从区块中获得了较高的经济收益,其累计资产很可能会超过曾经在系统中资产占优的那些验证节点,因为在系统不常发生恶意行为的情况下,验证节点是基本没有经济收益的,它们工作的动力源自于维护自身利益,近乎是无偿的。所以在它们庇护下获得了可观收益并实现了资产反超的成块节点有义务、也有必要在后续共识过程中转换身份,成为新的验证节点,给予曾经默默付出的验证节点产块的机会。如若不然,那些本来兢兢业业的验证节点很可能会因为心理失衡而开始为恶,导致整个系统难以维系。
上述区块链分权共识方法中的节点身份转换关系和共识过程分别如图2和图3所示,其中图2中实线表示控制关系,虚线表示身份转换。
本发明提供的一种基于投票机制的联盟区块链分权共识算法(Voting-basedDecentralized Consensus Algorithm,VBDCA)具有以下有益效果:
(1)本发明大幅提升了联盟区块链系统的共识效率,降低了Hash算力成本和交易确认时延,提升了系统吞吐量。
本发明提出的联盟区块链分权共识方法舍弃了挖矿机制,不需要解决复杂的数学难题。产生区块时只需要直接计算区块Hash值即可,没有对该Hash值的大小做出限定,因此规避了费时费力的反复Hash计算,一方面节约了系统算力,另一方面提升了产块效率,交易确认时延自然缩短。图4显示了VBDCA和POW以及POS的共识时间仿真对比情况,图5给出了对同一批交易做共识的个节点Hash代价对比情况。主要仿真参数:共50个系统节点,2500条待共识交易。通过图4和图5可以发现,本发明提供的VBDCA相较与现有的POW和POS算法,其时间代价和Hash代价均有明显的降低。
(2)本发明相比传统的基于挖矿机制的区块链共识算法(POW和POS),系统的去中心化特性更强,节点的用户公平性更好。
POW和POS系统中,节点算力是第一生产力和竞争力,尽管POS的币龄机制给了低算力节点更多的机会,但不同节点的币龄增速仍然存在显著差异,这意味着系统资产始终在向高算力、高资产节点倾斜,导致长期运行下,系统中节点资产差异拉大,中心化现象逐渐显露。而VBDCA因为不采用竞争挖矿的机制,对节点算力几乎没有设置门槛。同时信任度列表的引入也弱化了高资产节点在系统中的统治力,只要是善良节点,就有机会获得收益,即使是初始算力、资产处于弱势的节点群体,也能通过信任度的提升获得越来越多的收益。图6给出了经三种不同算法共识后,各节点的资产分布状况,由图6可以看出,本发明提供的VBDCA系统中各节点的资产分布更均匀,节点的用户公平性更好。
(3)本发明在联盟区块链系统内部的恶意行为会得到极大的抑制,系统的安全性得到有效提升。
基于挖矿机制的共识算法对系统内部恶意行为能做到精准检测,但是实施非法行为的节点却不会因为被检测到而遭受什么损失。也就是说在危险发生后,系统有有效的防御机制,但却不能抑制危险的根源,如果内部攻击者控制众多傀儡节点不断发起恶意行为,那么无疑会给善良节点带来无法忽视的验证压力,对那些本来就算力低下的节点来说更是雪上加霜。VBDCA中引入的各种保证金、担保金机制尝试从作恶节点本身寻求解决方案,每次作恶意味着一定金额资产的损失,大规模傀儡攻击更是会产生巨额攻击成本。在理性攻击者的前提下,每个恶意节点都会评估攻击收益和支出间的关系,同时考虑到攻击不能保证稳定的成功率,系统中的内部恶意行为会得到极大的抑制。
VBDCA对外部攻击也有更强的抵御能力。一些算法在确定当前成块节点时采用按次序轮换的方式,这种方式需要一个基本假设:外部作恶者无法突破系统的防火墙,否则,在得知当前成块节点的情况下,下一个成块节点很容易成为实施针对性外部攻击的目标,阻碍其正常产块,一旦成功,共识过程势必会中断。VRM的主要作用就是让攻击者找不准当前成块节点和下一个成块节点,抽签是一个本地过程,外人只能看到签值,而不知道哪个节点产生了哪个签值,直到抽签者自己公布证明时,才能确认身份,不过此时,该节点也同时公布了其产生的新块,再对它做攻击也无济于事。另外抽签过程采用的初始值是最新合法区块的Hash值,这个值无法预测,且抽签过程采用了严密的密码学原理进行保护,因此无法提前对下一个获得成块权的节点进行准确预测,也就无法实施针对性的外部攻击。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (8)
1.一种基于投票机制的联盟区块链分权共识方法,其特征在于,包括以下步骤:
S1、构建联盟区块链系统,默认设置联盟区块链系统中的所有节点均为普通节点,初始化设置每个节点对其他节点的信任度列表;
S2、生成联盟区块链系统的验证节点集;
S3、生成联盟区块链系统的候选节点集;
S4、通过验证节点集中的验证节点对候选节点集中的候选节点进行投票选举,得到成块节点集合;
S5、通过成块节点集合中的所有成块节点采用可验证随机机制对一个输入信息进行抽签,选择签值最小的成块节点获得下一个区块的成块权;
S6、通过获得成块权的成块节点产生下一个区块,并公布新区块以及获得成块权的成块节点在抽签阶段的中签签值证明;所述产生下一个区块的过程包括交易打包、计算新区块的Hash值和签名;
S7、验证节点收到获得成块权的成块节点在抽签阶段的中签签值证明后,对获得成块权的成块节点的中签签值进行验证,判断中签签值是否合法,若中签签值合法则进入步骤S8,否则丢弃该中签签值,进入步骤S9;
S8、根据产生区块的区块Hash值及签名信息,通过验证节点对获得成块权的成块节点产生的区块进行验证,判断产生的区块是否合法,若是则将该区块的区块Hash值作为下一轮区块链共识抽签的输入信息,并进入步骤S10,否则丢弃该区块和签值并将产生该区块的成块节点变为普通节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,进入步骤S9;
S9、判断原签值中是否存在次小签值,若是则原签值中次小签值中签,返回步骤S7,否则返回步骤S3重新选取候选节点;
S10、更新联盟区块链系统中每个节点对公布了区块的成块节点的信任度列表;
S11、判断联盟区块链系统中是否还存在待共识交易,若是则进入步骤S12,否则结束共识流程;
S12、判断成块节点集任期内新增合法区块数量是否达到联盟区块链系统设定的合法区块数量上限,若是更新联盟区块链系统中每个节点对所有验证节点的信任度值,并将联盟区块链系统中所有节点的身份重置为普通节点,返回步骤S2,否则返回步骤S5继续产生区块。
2.根据权利要求1所述的联盟区块链分权共识方法,其特征在于,所述步骤S2包括以下分步骤:
S21、根据联盟区块链系统预设的验证节点数目以及各个公司在联盟区块链系统中投入节点的总资产占联盟区块链系统中所有节点总资产的比例,为每个公司分配对应比例的验证节点名额;
S22、根据每个公司获得的验证节点名额,按照高资产者优先的顺序生成对应数量的验证节点,通过所有公司的验证节点构成整个联盟区块链系统的验证节点集。
3.根据权利要求1所述的联盟区块链分权共识方法,其特征在于,所述步骤S3具体为:选取联盟区块链系统中的普通节点,通过缴纳预设数额的保证金将其转变为候选节点,通过所有候选节点构成整个联盟区块链系统的候选节点集。
4.根据权利要求3所述的联盟区块链分权共识方法,其特征在于,所述步骤S4包括以下分步骤:
S41、通过验证节点对候选节点的信任度列表,按信任度比例制成一张轮盘;
S42、转动轮盘,最终指针指向的位置即为被选中的候选节点,通过验证节点对其投票并支付担保金;每个所述验证节点只能给一个候选节点投票;
S43、当所有验证节点完成投票后,统计候选节点集中每个候选节点的得票信息,优先选择高票数的候选节点成为成块节点,对同票数的候选节点,优先选择获得了更多担保金的候选节点成为成块节点,构成成块节点集合;
S44、判断获得了投票的候选节点数量是否小于联盟区块链系统预设的成块节点数量,若是则进入步骤S45,否则选择联盟区块链系统预设数量的前n个候选节点成为成块节点,结束投票选举并进入步骤S5;
S45、在未获得投票的候选节点中选择具有较高币龄的候选节点作为成块节点,构成成块节点集合,进入步骤S5。
5.根据权利要求1所述的联盟区块链分权共识方法,其特征在于,所述步骤S5包括以下分步骤:
S51、根据每个成块节点在本地用节点私钥SK对其输入信息M进行加密,得到每个成块节点的签值证明P;
S52、对每个成块节点的签值证明P进行Hash计算得到每个成块节点的签值L,并公布签值L;
S53、选择签值L最小的成块节点获得下一个区块的成块权,作为获得成块权的成块节点。
6.根据权利要求5所述的联盟区块链分权共识方法,其特征在于,所述步骤S51中每个成块节点的输入信息M设定为其前驱区块的Hash值,若成块节点产生的区块为创世区块,则其输入信息M为联盟区块链系统随机生成的一个Hash值。
7.根据权利要求5所述的联盟区块链分权共识方法,其特征在于,所述步骤S7包括以下分步骤:
S71、对获得成块权的成块节点在抽签阶段的中签签值证明P进行Hash计算,并将计算结果与获得成块权的成块节点的中签签值L进行比较,若两者相同则进入步骤S72,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9;
S72、根据获得成块权的成块节点的公钥PK对中签签值证明P进行解密,并将解密结果与获得成块权的成块节点的输入信息M进行比较,若两者相同则判定中签签值L合法,进入步骤S8,否则判定中签签值L非法,丢弃该中签签值L,进入步骤S9。
8.根据权利要求4所述的联盟区块链分权共识方法,其特征在于,所述步骤S8包括以下分步骤:
S81、通过验证节点验证获得成块权的成块节点产生的区块的前驱Hash值、包含的交易、区块Hash值以及签名信息,若验证无误则向该成块节点投出合法票,否则向该成块节点投出非法票,并支付验证节点的保证金;
S82、判断验证节点集中向获得成块权的成块节点投出合法票的验证节点是否达到验证节点总数的一半,若是则判定产生的区块合法,并进入步骤S83,否则判定产生的区块非法,并进入步骤S84;
S83、将合法区块链到区块链上,并将合法区块中包含的交易从交易池中删除,并将合法区块中预设比例的交易金额作为收益分配给产生该区块的成块节点,并将该区块的区块Hash值为下一轮区块链共识抽签的输入信息,同时提升联盟区块链系统中每个节点对该成块节点的信任度值,返还该成块节点成为候选节点时缴纳的保证金,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S10;
S84、丢弃该非法区块和签值并将产生该非法区块的成块节点变为普通节点,同时将该成块节点成为候选节点时缴纳的保证金罚没,并分给其他尚未产生非法区块的成块节点,同时将步骤S4中为该成块节点投选举票的验证节点的担保金罚没,并分给其他未错误担保的成块节点,同时降低联盟区块链系统中每个节点对该成块节点的信任度值,同时判断每个验证节点对区块合法性的投票结果与最终区块的合法性判定结果是否相同,若相同则将保证金返还给该验证节点,否则将该验证节点的保证金罚没,并分给投票正确的验证节点,进入步骤S9。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910781456.9A CN110517139B (zh) | 2019-08-23 | 2019-08-23 | 一种基于投票机制的联盟区块链分权共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910781456.9A CN110517139B (zh) | 2019-08-23 | 2019-08-23 | 一种基于投票机制的联盟区块链分权共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110517139A CN110517139A (zh) | 2019-11-29 |
CN110517139B true CN110517139B (zh) | 2021-12-28 |
Family
ID=68626256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910781456.9A Active CN110517139B (zh) | 2019-08-23 | 2019-08-23 | 一种基于投票机制的联盟区块链分权共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110517139B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708171B (zh) * | 2019-12-13 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 区块链共识投票方法、装置、设备以及存储介质 |
CN111327427B (zh) * | 2020-02-02 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 提交备选区块的方法、装置、节点设备、系统及存储介质 |
CN111464631B (zh) * | 2020-03-31 | 2023-03-28 | 成都质数斯达克科技有限公司 | 联盟区块链中的业务共识方法及装置 |
CN111899094A (zh) * | 2020-05-12 | 2020-11-06 | 成都芯域矩阵科技有限公司 | 一种基于节点信用评分和预交诚意金的区块链共识方法及系统 |
CN111695997B (zh) * | 2020-05-12 | 2024-02-20 | 成都芯域矩阵科技有限公司 | 一种基于节点信用评分和预交诚意金的区块链共识方法及系统 |
CN111695996B (zh) * | 2020-05-12 | 2024-02-20 | 成都芯域矩阵科技有限公司 | 一种基于预交诚意金的区块链共识方法及系统 |
CN111654492B (zh) * | 2020-06-01 | 2022-04-26 | 中国联合网络通信集团有限公司 | 防止区块链攻击的方法及装置 |
CN112163856A (zh) * | 2020-10-09 | 2021-01-01 | 北京邮电大学 | 用于区块链与物联网融合场景的共识方法及系统 |
CN112600682B (zh) * | 2020-12-09 | 2022-01-18 | 四川大学 | 一种基于委托权益证明算法的区块链共识方法和装置 |
CN112769936B (zh) * | 2021-01-11 | 2022-08-16 | 电子科技大学 | 一种基于投票与信用机制的povt共识算法 |
CN112927414A (zh) * | 2021-01-29 | 2021-06-08 | 福建中科星泰数据科技有限公司 | 基于联盟区块链的业务公识系统及方法 |
CN113326240B (zh) * | 2021-06-22 | 2023-05-30 | 哈尔滨工程大学 | 一种边缘网络中能耗敏感的终端节点的数据共享方法 |
CN114817399A (zh) * | 2021-09-06 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 区块管理方法及装置 |
CN113672987B (zh) * | 2021-09-06 | 2023-09-05 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
WO2018214833A1 (zh) * | 2017-05-22 | 2018-11-29 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
CN109872156A (zh) * | 2019-03-11 | 2019-06-11 | 赛迪(青岛)区块链研究院有限公司 | 一种联盟链共识系统及方法 |
CN109934608A (zh) * | 2017-12-18 | 2019-06-25 | 厦门本能管家科技有限公司 | 一种区块链共识机制 |
-
2019
- 2019-08-23 CN CN201910781456.9A patent/CN110517139B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018214833A1 (zh) * | 2017-05-22 | 2018-11-29 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
CN109934608A (zh) * | 2017-12-18 | 2019-06-25 | 厦门本能管家科技有限公司 | 一种区块链共识机制 |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
CN109872156A (zh) * | 2019-03-11 | 2019-06-11 | 赛迪(青岛)区块链研究院有限公司 | 一种联盟链共识系统及方法 |
Non-Patent Citations (2)
Title |
---|
Proof of Vote: A High-Performance Consensus Protocol Based on Vote Mechanism & Consortium Blockchain;Kejiao Li etc;《2017 IEEE 19th International Conference on High Performance Computing and Communications》;20171231;466-473 * |
基于投票机制的拜占庭容错共识算法;王海勇 等;《计算机应用》;20190631;1766-1771 * |
Also Published As
Publication number | Publication date |
---|---|
CN110517139A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110517139B (zh) | 一种基于投票机制的联盟区块链分权共识方法 | |
Bhushan et al. | Untangling blockchain technology: A survey on state of the art, security threats, privacy services, applications and future research directions | |
Deirmentzoglou et al. | A survey on long-range attacks for proof of stake protocols | |
Conti et al. | A survey on security and privacy issues of bitcoin | |
Courtois et al. | On subversive miner strategies and block withholding attack in bitcoin digital currency | |
US11487749B2 (en) | Method and system for verifying and maintaining integrity of data transactions using distributed ledger | |
Tosh et al. | Consensus protocols for blockchain-based data provenance: Challenges and opportunities | |
Li et al. | Rational protocols and attacks in blockchain system | |
Khan et al. | Simulation of transaction malleability attack for blockchain-based e-voting | |
CN107507091A (zh) | 基于区块链和智能合约的增强型数据权益保护方法 | |
Tasca et al. | Ontology of blockchain technologies. Principles of identification and classification | |
Han et al. | A fair blockchain based on proof of credit | |
Racsko | Blockchain and democracy | |
GB2583770A (en) | Methods and devices for registering and authenticating miner identity in a blockchain network | |
Gountia | Towards scalability trade-off and security issues in state-of-the-art blockchain | |
Cong et al. | Blockchain applications, challenges and evaluation: a survey | |
Flood et al. | Blockchain’s future: can the decentralized blockchain community succeed in creating standards? | |
CN110933088A (zh) | 一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质 | |
Endurthi et al. | Two-tiered consensus mechanism based on proof of work and proof of stake | |
Sel et al. | Towards solving the data availability problem for sharded ethereum | |
Clark et al. | Research perspectives and challenges for bitcoin and cryptocurrencies | |
Lin | Proof of Work vs. Proof of Stake in Cryptocurrency | |
George | Proof of stake: Consensus of the future | |
Suliyanti et al. | Evaluation of hash rate-based double-spending based on proof-of-work blockchain | |
Vignesh et al. | A quantum-based blockchain approach to voting protocol using hyperledger sawtooth |
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 |