投票证明:基于投票机制和联盟封锁链的高性能一致性协议

Title:投票证明:基于投票机制和联盟封锁链的高性能一致性协议

Abstract:比特币引入了一种革命性的去中心化共识机制。然而,应用于公共区块链的比特币衍生共识机制不适合新兴联盟区块链的部署场景。我们提出了一种新的共识算法,即投票证明(POV)。协商一致由联合体合作伙伴控制的分布式节点协调,这些节点将通过投票进行分散仲裁。关键的想法是为网络参与者建立不同的安全身份,以便在不依赖第三方中介或无法控制的公众意识的情况下,由机构在联盟中的投票决定提交和验证区块。与完全分散的一致性工作证明(POW)相比,POV具有可控的安全性、收敛可靠性、只需一个块配置即可实现事务合理性和低延迟事务验证时间。

Index Terms:区块链,联盟区块链,共识,投票机制。

I、Introduction:

区块链源于比特币[1],是一种分布式数据库、数据一致性算法、密码技术、点对点传输等综合技术。比特币在对等网络中维护分布式账簿,账簿采用加密数据块链的形式,包括整个网络中所有经验证的数字货币交易。与传统的数字货币系统不同,人们可以在不受信任的网络中直接交易比特币,而无需依赖第三方中介。比特币密码技术的使用使整个网络数据透明、真实,保留了个人信息的匿名性,抵抗了基于计算能力竞争的整个网络共识的双薪攻击。因此,区块链作为比特币的基础技术,掀起了研究热潮。

一般来说,区块链可以分为三种类型:公共区块链、私有区块链和联合区块链[6]。区块链技术是在公共区块链中孵化出来的,但在实际应用中,联盟区块链可以为许多无法解决的金融问题提供解决方案,例如遵守规则和法规、健康保险可移植性和责任法案(HIPAA)、反洗钱(AML)和了解您的客户(KYC)法律。由于主要的国际金融巨头已经加入了R3 CEV区块链的计划[8],金融集团对财团区块链更为青睐。

公共区块链通常被认为是“完全去中心化”。其共识算法依赖于公众对计算能力的认识和竞争,不受规则和法规的约束。然而,当应用于商业界时,公共区块链的共识机制(如POW)受到两点限制:(1)其计算能力的竞争导致大量的能源浪费,并降低交易验证的效率;(2)其交易验证和区块生成依赖于无法控制的全网自主验证,不符合商业社会法,不符合商业社会规则。

真正的商业社会是自由和干预的妥协结果。即使在金融集团中,联合体成员也可能更喜欢控制交易验证。但是,他们拒绝一个成员对交易记录拥有绝对控制权。前者可以通过投票机制来实现,后者可以通过去中心化的区块链来解决。因此,我们设计了基于投票机制和联盟区块链的共识协议POV。

以银行为例,金融系统在管理上相对封闭,银行间的障碍阻碍了信息、资源和账户相互认证的共享。如果多家银行组成一个联盟,利用区块链共享一个分布式账簿,客户的流动性信息可以在不同的银行之间快速共享。然而,由于联合体的银行会要求仅验证交易信息,因此公共区块链的共识机制无法满足这一要求,因为其“完全分散”。在基于POV的财团区块链系统中,区块的提交和验证仅由机构在联盟中投票决定,其中一方有规则和条例。另一方面,该系统能够实现银行共同决策的权力下放,满足合规要求。为了拒绝主导权,建立联盟内部的内部控制机制,POV将投票权和执行权分离开来,以维护执行的独立性。区块生产的执行角色通过活动分配给一个可靠、无领导的专业团队,这样联合体就不必依赖一家超级大国银行机构作为第三方信托代理。这个团队将从整个网络中招募并接受轮值选举。

目前针对区块链设计的共识机制速度较慢,因为区块生产和安全性能消耗的时间和能量巨大。为了在分布式系统中实现一致性,一致性算法的不同折衷是作为一种折衷。一种方法是吓跑计算能力,如工作证明(PoW),比特币[1]和以太坊[2],另一种方法是使用代币,如Peercoin[5]表示的股权证明(POS)和Bitshare[4]表示的委托股权证明(DPO)。除了这些不可避免的折扣之外,由于存在分歧的可能性,现有的解决方案在安全要求下加速交易配置仍然困难。亚瑟等人。[3]分析了POW的安全性,发现litecoin和dogecoin、bitcoin是最突出的分叉,将块生成间隔从10分钟缩短到2.5分钟和1分钟。但是,为了匹配比特币的安全性,它们仍然需要28和47个块配置,从而导致高延迟事务验证。然而,本文提出的POV巧妙地利用了联盟区块链的特点。投票结果最终会生成一个独特的有效块,从而优化交易配置时间,提高系统吞吐量。

在本文中,我们提出了POV的完整共识过程。在POV中,成员节点有投票权,高投票权的块是无效的,使得有效的块是唯一的,一些特殊的节点为产生块的权利而运行,以便在联盟区块链网络中没有任何第三方中介直接交易。我们分析了证券化、交易合法性和分岔的可能性。如本文所示,POV在事务验证中可以获得超低延迟的优异性能。

II、威胁模型

节点可以被攻击并成为对手。我们假设工会成员的一些机器(不到一半)受到攻击。系统可以容忍不到50%的关键节点受到攻击。对手可以伪造交易或像正常交易一样行事。网络可以分区。然而,对手不能破解和伪造签名。

联盟中的节点使用高性能、可靠的机器和操作系统,因此联盟节点受到攻击的可能性比普通节点小。网络时间协议(NTP)服务器用于同步关键节点的时间。当一个关键节点重新启动时,它将首先调整与NTP服务器同步的时间,然后参与协商一致的过程。

III、投票证明

假设已经成立了几家公司作为联盟委员会,方便地共享业务数据,并且每个专员代表一家公司。区块链用于记录特定的业务交易和运营。然而,没有一家公司愿意将生产块的权利让给其他公司。结果,他们决定从全世界聘请一个管家团队,并定期为管家举行选举。团队负责生产区块,每个区块将提交给每个公司进行验证和投票,使联盟委员会内的权力分散。为确保团队工作的安全性、效率和可靠性,这些公司决定:(a)管家将根据工作量获得高薪;(b)申请加入管家团队的人必须由联盟成员推荐并提交押金;(c)管家的工作将由管理层监督和评分。联盟的成员,所以只有最诚实的人才能生存。

因此,我们提出了一种共识机制POV,专门用于联盟区块链。区块链系统由联盟维护,由世界不同地区的企业和组织组成。在此联盟链上开发的应用程序可以为全球网络的终端用户提供服务。

A、网络模型

我们为网络参与者建立不同的安全身份。在POV共识过程中有四个角色:专员、管家、管家候选人和普通用户。如图1所示。

专员:

来自世界不同地区的多家企业或机构组成联盟委员会,共同维护联盟区块链。专员是团委委员之一。在联盟委员会中,新的专员必须被联盟法接受(超出本条的范围),并由在联盟区块链网络中工作的机器代表。专员有权推荐、投票和评估管家。他们也有义务验证和转发区块和交易。每个专员都有相同的权利和义务,地位平等。区块链网络中生成的区块将发送给所有专员进行验证。当一个区块收到至少51%的投票时,该区块将被标记为有效,并添加到区块链中。投票结果可以代表全体委员的意志。

管家:

管家专门生产区块。管家节点的数量有限。管家身份的设计是指表决权与执行权的分离。委员会负责投票,管家负责生产区块。管家就像比特币上的矿工,但他们不需要为了夺取生产区块的权利而浪费计算能力,他们将被随机指定生产区块。管家将从网络收集交易信息,并将其打包成一个块,并在该块上签名。变成管家需要两步:

·变成一个管家候选人

·赢得一次管家选举

委员们投票选出管家候选人。管家轮流在任期周期内随机生成区块,并在任期届满后接受重新选举。节点可以同时是专员和管家。

管家选举:

由于管家数量有限,必须从管家候选人中选出一名管家,候选人将由所有委员投票选出。如果他们在选举中输了,他们可以留在网上,等待下一次选举。申请管家候选人有三个步骤:

·在联合体区块链系统中注册一个用户帐户,并提交一份管家候选人申请。

·提交至少由电子委托人签署的推荐信(通过密钥加密)。推荐信类似于由专员通过非对称加密调用函数生成的邀请代码。私钥用于加密推荐信内容,使推荐信不被伪造。

·提交押金以成为管家候选人。

专员可以保留专员和管家候选人的双重角色,以便他们可以推荐自己成为管家候选人。

普通用户:

这四个角色都使用密码来验证他们的身份。他们需要签署他们发送的消息,并且他们的行为可以被验证。普通用户可以随时加入或退出网络而无需授权,他们的行为可以是任意的。未经许可,不得参与数据块生成过程,只能参与数据块分发和消息转发过程。他们可以在使用系统服务的同时看到整个共识过程。

每个角色的转换如图2所示。

 
   

 

B、共识过程

我们的算法假设专员的数量为nc,管家的数量为nb,管家候选人的数量为nbc,普通用户的数量为no。由于节点可以具有双重身份,因此所有角色的总数为nall,satis fies nall≤nc+nb+nbc,其中nb是量化的。在每个任期周期中,我们为每个管家分配一个数字,从0开始,最后一个数字是nb-1。我们将Butler的任期设置为tw,并且在每个任期内都会生成bw+1block。最后一个块是一个特殊块,包括选举结果和相关记录,以及新选举的管家节点的服务器信息。管家需要在分配的时间内生成一个区块,这是区块tb的包装周期。图3显示了任期周期的共识模型。

每次生成和签署一个有效的块时,我们都称之为一轮共识。在每轮共识结束时,管家调用一个函数来生成一个随机数r,0≤r<nb。如果一个管家的编号等于r,那么这个管家就是指定生成下一个块的管家。一个块必须至少有NC/2+1签名,这些签名由不同的专员发送,才能成为有效的块。如果在tb时间内没有生成有效的块,则编号为r+1的管家将重新生成块,并让r=r+1。当r+1>nB时,r从0开始增加。如果至少有一个管家工作正常,网络最终可以达成共识。因为在一个打包周期内,只有一个块可以接收到至少NC/2+1签名,所以每个有效块都具有相关性,并且区块链不会分叉。

在任期周期内的最后一轮共识将产生BW+1区块,这是一个特殊区块。现任管家和管家候选人往往会在下一轮竞选新的管家。在这一共识中,每个委员都会给出一份投票名单,最终NB的顶级候选人将赢得选举。选举结果及相关记录将写入本专区。在达成这一特殊共识后,现任管家正式退休,新管家将在新一轮任期内开始工作。在每一轮任期内,完全有BW+1共识基础,产生了BW+1块。

C、生成普通有效块

有效块的生成被称为一轮共识。一轮共识可能需要m个包装周期(tb),如果管家i未能在tb时间内生成有效的块,则该块生产的许可权将移交给管家i+1。一轮共识的总时间为tc=m tb(1≤m≤nb)。数字m意味着在这个共识中有m-1无效块被放弃。当m≤nb时,生成有效块包含以下步骤:

·S1所有节点都可以生成附加签名的交易数据,同时接收交易数据,验证接收到的交易数据是否有效,如果有效,将交易数据转发给专员和管家;

·s2所有管家监控交易数据,将合法交易数据分别存储到交易池中;

·(M = 1,R = get之前的随机数(块)。如果这是《?rst本tenure块,然后在之前的最后一块冰块特别有效的预tenure综合性大学。如果这个共识的冰淇淋生产的两块(《创世记》blockchain?rst块),然后defaults R两个零;

·S4 butler i(i=r)从事务池中取出一些事务,将它们打包成一个块,并将该块发送给所有专员。此块的截止时间为t,cut=get previous block comfirmtime()+m tb;

·S5在收到块后,专员验证块中的数据,如果他们同意此生产,则在块头上签名并将签名发送回管家;

·S6在收到至少NC/2+1签名后,管家获得由NTP服务器签名的时间戳信息。

·如果时间在T切割之前,管家可以计算R值,将其写入块,并在块上签名,以证明生产商是自己制造的。然后Bulter将完整的有效块发布到整个网络。跳到步骤8;

·S7如果时间超过T切割,则此块将成为无效块。设r=r+1,m递增,跳至步骤4;

·S8收到有效区块后,所有管家将从交易池中删除非法交易,获取有效区块的随机编号R,开始下一轮共识。

特别是,如果m>n
b,让m=1增益,这意味着没有一个管家可以生成有效的块。这可能发生在第4节讨论的网络分区情况下。在这种情况下,块的生成将陷入死区,直到网络恢复。

D、特殊有效块的产生

特别选区是任期周期中的最后一个选区,旨在完成新管家的选举。特殊块的生成与普通块的生成类似:

·s1在特殊区块出现之前,所有专员将从当前管家和管家候选人的名单中生成一个序列,以形成投票名单;

·s2所有专员和现任管家将从所有专员处接收投票信息,并将其放入其内存池(事务池)。

·S3-S7类似于生成普通有效块的S3-S7,特殊块还需要获取专员的签名进行认证,并最终达成共识。与普通分组的区别在于,特殊分组包含投票信息,但不包含交易。经过计算,前NB节点将赢得选举,成为下一届任期的新管家。

·S8制作完此特殊块后,当前任期的管家将被解除职务,并删除内存池中的相关投票信息。

E、一个任期周期

通常,管家候选人(NBC)的数量大于管家(NB)的数量。在联盟区块链的Genesis区块生产之前,巴特勒候选人通过自我推荐或推荐的方式出现。当满足NBC≥NB条件时,第一批管家将由管家投票,其中一名管家将初始信息写入Genesis区块。然后开始一个正常的任期周期。一个任期周期包括以下步骤:

·s1在每一轮开始时,r=get
previous block random num();

·S2完成BW轮共识,生成BW普通有效块;

·S3在(BW+1)第三轮共识中,这是最后一轮共识,专员更新他们的巴特勒候选人名单的等级,并投票选举。将生成一个包含投票信息的特殊块。

·S4任期结束。循环执行步骤1-4。

如果NBC<N B,专员将在没有候选人的情况下通过自我推荐补充候选人数量。

F、投票过程

有两个主要的投票程序。第一个是对区块生产的投票,第二个是对管家候选人的投票。委员们通过返回签名进行投票。

投票支持区块生产。巴特勒,我生成一个块,并发送给所有专员。如果专员同意生成此块,他将加密块头并将签名返回给Butler I。如果Butler I在预定时间内收到至少NC/2+1签名,则该块有效。否则,块无效,将由管家I+1复制。

投票给管家候选人。管家J向所有委员发送投票请求。在收集和统计选票后,管家J生成一个带有选举结果和相关记录的特殊块。然后,管家J将把这个区块发送给所有专员进行验证。

专员的投票信息是两种票的组合:

·计分票:每个专员都有一个记录管家候选人得分的清单,专员选择一个得分高的候选人序列。

·指定票:专员在考虑人的因素的情况下,对候选人进行特定的收集,或设置随机的候选人收集,这增加了管家的流动性。

G、时间同步策略

NTP服务器是一个受信任的实体,它为事务提供并签署时间戳。管家需要从NTP服务器获取时间信息,NTP服务器将签署时间戳以确保时间信息不被篡改。例如:

?s1管家向所有专员发送街区;

?s2如果专员同意此区块,则在区块标题上签名并返回签名;

?S3当Butler至少收到NC/2+1签名时,这些签名将依次附加在块头之后,新的块头将发送到NTP服务器;

?S4在接收到块头之后,NTP服务器提供当前时间戳,加密新的块头和时间戳,生成签名,并将时间戳和签名返回给管家。

?S5 Butler从NTP服务器接收消息,验证消息,提取时间戳信息,然后获取时间戳作为块的配置时间,将签名附加到新块头的末尾,用时间戳和Butler自己的签名完成块,然后释放块。

?网络中的S6节点可以验证数据块的时间信息。根据tcut=get previous block comfirm time()+m tb,如果该块的确认时间小于tcut,则该块最终有效。

 
   

图5获取时间戳以生成块的过程。

H、随机数字R的产生

每个块生成一个随机数,确定谁将是下一个管家,这确保管家以随机顺序生成块。随机数生成算法如下:

假设管家已收到K专员的签名,用签名[I]表示(0≤I≤K,NC/2<K≤NC?1)。从NTP服务器接收它的时间是时间戳。得到Rsource:

假设取字符串最后32位的函数是substringend32(string),sor是:

由于每个块头的值是不可预测的,我们可以获得一个不可预测的资源和一个随机数r,防止管家可能联合起来,通过使r值以某种模式出现而获得更多收入的可能性。

I、联盟基金

联盟成立后,将建立一个账户,用于存储管家候选人提交的押金和管家的工资。管家的效率得到了奖励,基本上是成功验证的块的数量。各专员有义务定期补充联盟基金。

J、激发机制

管家候选人可以随时放弃他的身份。当它退出时,如果没有任何不良记录,它会找回自己的存款。而且,如果巴特勒在任期内申请退出网络,他就无法取回他的存款,因为这是一种不良行为。

每个专员都会保留一份管家候选人名单,并对他们的行为进行评估。评分规则包括:

?每次专员通过并签署一个街区,它将给管家额外的分数,否则分数将下降。

?当管家节点为Fluine且错过区块生产时,分数将被清除,这意味着当管家在线时,他需要重新开始评分。

一个管家可能有不同的委员记录的分数。分数代表委员的信任程度,也成为投票的理由之一。

经过一段特定的时间后,管家和管家候选人将根据他们生成的有效积木数量从联盟基金中获得奖励,这样他们就可以有动力接受工作、诚实工作和长时间在线。

IV、性能分析

基于投票机制和联盟区块链,提出了一个完整的共识模型。由于安全性和可用性的重要性,当前的共识机制牺牲了性能,以保证安全性。在保证安全的前提下,该模型能够保证区块链的高性能和低延迟的交易识别。在本章中,我们将分析POV的可靠性,它可以由两个参数控制:投票机制和激励机制。最后,我们比较了POV和现有的基于POW的区块链的性能,表明POV可以在低事务延迟的情况下获得更高的性能。

A、安全性

引理4.1:假设专员的人数是北卡罗来纳州。只要NC/2+1以上的专员有效工作,区块是安全和合法的。

证明:假设可以有效地验证非法块。由于管家必须获取超过NC/2+1的签名才能生成有效的区块,在有效的专员数量大于NC/2+1的情况下,有效的专员不会签署非法区块。所以非法区块的签名数量最多

NC?(NC/2+1)=NC/2?1。因此,假设是失败的,原来的命题是正确的。

B.可靠性

为了在赢得选举后获得奖励,管家必须保持最长的在线时间,诚实的工作,充分确定在规定时间内生产块的责任。

引理4.2:管家团队越来越可靠。

证据:如果区块生产不符合系统规则,区块不能通过专员的验证,管家的分数将下降。因此,在选举中获得选票的可能性会降低。在选举中的失败使管家失去了产生积木和获得利益的机会。可以证明,对于试图创建非法积木以在选举中获得成功或任何利益的管家来说,是很困难的。可靠的管家更有可能在选举中获胜,并且系统将变得更加可靠。

管家的工作可靠性是可控的,我们可以用两个参数来调整管家工作的可靠性:投票数K和管家收入B。

首先,我们分析每个委员的投票数。根据投票规则,在每轮选举中,由全国委员会委员从全国委员会巴特勒候选人中选出全国委员会巴特勒,通过建立数学模型,研究了每个陪审团所投的最低票数k,这是最简单、省时、公平、合理的投票规则。

在不考虑计分机制影响的情况下,我们假设投票是随机的,没有任何放弃,每个委员投K票,那么每个候选人获得投票的概率是相同的,K/NBC。投票活动原则上服从二项分布:

管家候选人获得x票的概率是p(x):

为了使投票结果更加公正,我们希望管家能获得的票数超过NC/2。因此,我们可以确定候选人投票超过NC/2的概率p1。

为了在全国广播公司的候选人中选出全国广播公司的管家,候选人在选举中获胜的概率是p2。

根据(4)(5),满足(6)的最小k值是最佳票数。

例如,我们设置参数nc=20,nb=50,nbc=200,绘制p1和p2的图像,如图6所示。横坐标为k,纵坐标为概率值。我们可以从p1和p2的曲线交点得到最优值k。

(a)原始图/原始地图/原始字典

       
     
   
 

(b)放大图/放大地图/放大字典

图6.P1和P2的分布图。在曲线相交处可得到最佳K值。我们可以从右边放大的地图上看到细节。当k≥81,p1>p2,当k<81,p1<p2时,k的最佳值为81。

如图6所示,当k=81时,每个委员可以提交81票支持81名巴特勒候选人。赢得选举的管家获得的选票可能超过NC/2(管家人数的一半),这意味着当选的管家可以获得超过一半的管家认可。这样,投票结果将更加科学和公正,以便大多数委员都能认可投票结果。当POV应用于不同的系统时,可以通过改变NC、NB、NBC的值来配置K。

通过引入评分机制,一个工作可靠的管家会得到更高的分数。因此,一个诚实的管家更有可能在选举中得到分数票,每个专员可以独立地给每个管家评分(第3.f节)。我们可以将公式(4)改写为:

如果α>0,则意味着由于分数较高,候选人被委员投票的概率较高。α<0代表候选人获得选票的机会低于平均值。通过设置α=?0.3、?0.2、?0.1,0,0.1,0.2,0.3,我们可以比较不同情况下的概率分布。结果如图7所示。

 
   

图7

如图7所示,当k为固定值时,管家的工作越可靠,管家在任期内得到的分数越高,因此,管家作为候选人获得选票的概率越高,赢得选举的可能性也越大。

第二个参数是管家的利益。在一个任期周期内,候选人i有可能当选为管家。在成为管家后,管家有1/nb的概率在每个包装周期包装一个块。假设一个区块的奖励为b,我们将单个包装周期的平均能源成本定义为ei。在n个周期后,总成本为ei n。我们可以定义一个事件,如下所示:管家候选人i成功赢得了选举,并产生了一个有效的K区(k=1,2,·························我们将pi表示为有效块的打包概率。

我们将过程EIK作为一个相同的独立分布(IID)。那么,在n个包装周期后,管家可以得到的总奖励是:

Ri遵循二项分布,平均值表示为:

只有当μ(ri)超过0,即

我们可以得出如下结论。考虑到计分机制和投票机制,试图破坏该系统的管家将无法发射积木,从而获得负等级。因此,管家或候选人赢得选举的可能性低于平均水平。如果系统中有比预期数量更多的候选人,不可靠的候选人将退出网络,因为他们微薄的奖励无法补偿他们的能源成本。条件(6)(8)可以作为候选人质量和数量控制的标准。

C、交易结局姓

引理4.3:最终可以生成一个块,它是唯一的。

证明:根据第3节中普通有效块生成过程的步骤7,未能在分配的时间内生成有效块的管家将失去生成该块的机会,并将执行权限留给下一个节点。只要至少有一个巴特勒节点是诚实的,有效的块最终将在一轮共识中生成。通过验证时间戳和tcut,每个有效块都是唯一的。

D、区块链不分叉

引理4.4:区块链永远不会分叉。

证明:考虑到网络分区可能导致区块链分岔,我们假设网络环境分为两个完全隔离的部分,A和B,A B=?。只要其中一名分区专员金额A≥NC/2+1。在区域中,仍然可以生成和验证块。但是在B区域,交易不能继续被确认,并且块不能被验证和生成,因为没有一个管家可以在B区域收到至少NC/2+1签名。因此POV允许最多两个网络分区,并且不能允许两个区域中的管家平均分开。

E、低延迟的交易验证

POV共识机制旨在加快区块生产。它可以提供低延迟事务验证和高吞吐量(每秒事务数)。根据对比特币网络中信息的评估[7],比特币网络中一个区块的传播速度约为6.5s,理想情况下的POV,区块生成的限制时间为tb(可设置约15s),使有效区块在15s内传播到整个网络。

图8 事务验证时间的性能比较

根据Gervais的研究[3],POW在约10分钟内生成一个块,有效块中的事务需要约1小时(生成6个块)才能确认[1]。以太坊需要至少37个配置来匹配比特币的安全性,平均25秒的数据块间隔,事务验证延迟约为15分钟。Litecoin(数据块间隔=2.5分钟,需要28个配置)和DogeCoin(数据块间隔=1分钟,需要47个配置)需要70分钟和47分钟的事务延迟。时间[ 3 ]。图9显示了与基于POV的区块链和一些基于POW的区块链的比较图。从理论上讲,与这些基于POW的区块链相比,POV表现出最佳的性能。

此外,POV在低功耗方面表现突出。基于良好的协同机制,POV不需要浪费大量的计算能力,就可以在联盟区块链中达成共识。

V、结论

在本文中,我们提出了一种新的共识机制(POV),专门用于联盟区块链。基于投票活动和投票机制的核心思想,设计了网络参与者的四种身份。前者保证了投票权与执行权的分离,增强了布尔特角色的独立性,同时也保证了联合体内部的内部控制制度。对于后者,在至少NC/2+1专员有效工作的情况下,我们的分析表明,POV可以保证安全性、交易效率、低功耗,确保区块链永不分叉。通过参数整定进一步分析了POV的可靠性,并从低事务延迟的角度论证了其强大的性能。

确认

本课题得到了国家重点梯级研发项目(2017年YFB08034.2016YFB0800
101)、国家自然科学基金(NSFC)第61671001号、第61521003号、广东重点项目(GD2016B03030500)、深圳研究项目(ZDYS20160311739 428、JCYJ20170306093030521、JCYJ201503110072474)的支持。

Title:投票证明:基于投票机制和联盟封锁链的高性能一致性协议

Abstract:比特币引入了一种革命性的去中心化共识机制。然而,应用于公共区块链的比特币衍生共识机制不适合新兴联盟区块链的部署场景。我们提出了一种新的共识算法,即投票证明(POV)。协商一致由联合体合作伙伴控制的分布式节点协调,这些节点将通过投票进行分散仲裁。关键的想法是为网络参与者建立不同的安全身份,以便在不依赖第三方中介或无法控制的公众意识的情况下,由机构在联盟中的投票决定提交和验证区块。与完全分散的一致性工作证明(POW)相比,POV具有可控的安全性、收敛可靠性、只需一个块配置即可实现事务合理性和低延迟事务验证时间。

Index Terms:区块链,联盟区块链,共识,投票机制。

I、Introduction:

区块链源于比特币[1],是一种分布式数据库、数据一致性算法、密码技术、点对点传输等综合技术。比特币在对等网络中维护分布式账簿,账簿采用加密数据块链的形式,包括整个网络中所有经验证的数字货币交易。与传统的数字货币系统不同,人们可以在不受信任的网络中直接交易比特币,而无需依赖第三方中介。比特币密码技术的使用使整个网络数据透明、真实,保留了个人信息的匿名性,抵抗了基于计算能力竞争的整个网络共识的双薪攻击。因此,区块链作为比特币的基础技术,掀起了研究热潮。

一般来说,区块链可以分为三种类型:公共区块链、私有区块链和联合区块链[6]。区块链技术是在公共区块链中孵化出来的,但在实际应用中,联盟区块链可以为许多无法解决的金融问题提供解决方案,例如遵守规则和法规、健康保险可移植性和责任法案(HIPAA)、反洗钱(AML)和了解您的客户(KYC)法律。由于主要的国际金融巨头已经加入了R3 CEV区块链的计划[8],金融集团对财团区块链更为青睐。

公共区块链通常被认为是“完全去中心化”。其共识算法依赖于公众对计算能力的认识和竞争,不受规则和法规的约束。然而,当应用于商业界时,公共区块链的共识机制(如POW)受到两点限制:(1)其计算能力的竞争导致大量的能源浪费,并降低交易验证的效率;(2)其交易验证和区块生成依赖于无法控制的全网自主验证,不符合商业社会法,不符合商业社会规则。

真正的商业社会是自由和干预的妥协结果。即使在金融集团中,联合体成员也可能更喜欢控制交易验证。但是,他们拒绝一个成员对交易记录拥有绝对控制权。前者可以通过投票机制来实现,后者可以通过去中心化的区块链来解决。因此,我们设计了基于投票机制和联盟区块链的共识协议POV。

以银行为例,金融系统在管理上相对封闭,银行间的障碍阻碍了信息、资源和账户相互认证的共享。如果多家银行组成一个联盟,利用区块链共享一个分布式账簿,客户的流动性信息可以在不同的银行之间快速共享。然而,由于联合体的银行会要求仅验证交易信息,因此公共区块链的共识机制无法满足这一要求,因为其“完全分散”。在基于POV的财团区块链系统中,区块的提交和验证仅由机构在联盟中投票决定,其中一方有规则和条例。另一方面,该系统能够实现银行共同决策的权力下放,满足合规要求。为了拒绝主导权,建立联盟内部的内部控制机制,POV将投票权和执行权分离开来,以维护执行的独立性。区块生产的执行角色通过活动分配给一个可靠、无领导的专业团队,这样联合体就不必依赖一家超级大国银行机构作为第三方信托代理。这个团队将从整个网络中招募并接受轮值选举。

目前针对区块链设计的共识机制速度较慢,因为区块生产和安全性能消耗的时间和能量巨大。为了在分布式系统中实现一致性,一致性算法的不同折衷是作为一种折衷。一种方法是吓跑计算能力,如工作证明(PoW),比特币[1]和以太坊[2],另一种方法是使用代币,如Peercoin[5]表示的股权证明(POS)和Bitshare[4]表示的委托股权证明(DPO)。除了这些不可避免的折扣之外,由于存在分歧的可能性,现有的解决方案在安全要求下加速交易配置仍然困难。亚瑟等人。[3]分析了POW的安全性,发现litecoin和dogecoin、bitcoin是最突出的分叉,将块生成间隔从10分钟缩短到2.5分钟和1分钟。但是,为了匹配比特币的安全性,它们仍然需要28和47个块配置,从而导致高延迟事务验证。然而,本文提出的POV巧妙地利用了联盟区块链的特点。投票结果最终会生成一个独特的有效块,从而优化交易配置时间,提高系统吞吐量。

在本文中,我们提出了POV的完整共识过程。在POV中,成员节点有投票权,高投票权的块是无效的,使得有效的块是唯一的,一些特殊的节点为产生块的权利而运行,以便在联盟区块链网络中没有任何第三方中介直接交易。我们分析了证券化、交易合法性和分岔的可能性。如本文所示,POV在事务验证中可以获得超低延迟的优异性能。

II、威胁模型

节点可以被攻击并成为对手。我们假设工会成员的一些机器(不到一半)受到攻击。系统可以容忍不到50%的关键节点受到攻击。对手可以伪造交易或像正常交易一样行事。网络可以分区。然而,对手不能破解和伪造签名。

联盟中的节点使用高性能、可靠的机器和操作系统,因此联盟节点受到攻击的可能性比普通节点小。网络时间协议(NTP)服务器用于同步关键节点的时间。当一个关键节点重新启动时,它将首先调整与NTP服务器同步的时间,然后参与协商一致的过程。

III、投票证明

假设已经成立了几家公司作为联盟委员会,方便地共享业务数据,并且每个专员代表一家公司。区块链用于记录特定的业务交易和运营。然而,没有一家公司愿意将生产块的权利让给其他公司。结果,他们决定从全世界聘请一个管家团队,并定期为管家举行选举。团队负责生产区块,每个区块将提交给每个公司进行验证和投票,使联盟委员会内的权力分散。为确保团队工作的安全性、效率和可靠性,这些公司决定:(a)管家将根据工作量获得高薪;(b)申请加入管家团队的人必须由联盟成员推荐并提交押金;(c)管家的工作将由管理层监督和评分。联盟的成员,所以只有最诚实的人才能生存。

因此,我们提出了一种共识机制POV,专门用于联盟区块链。区块链系统由联盟维护,由世界不同地区的企业和组织组成。在此联盟链上开发的应用程序可以为全球网络的终端用户提供服务。

A、网络模型

我们为网络参与者建立不同的安全身份。在POV共识过程中有四个角色:专员、管家、管家候选人和普通用户。如图1所示。

专员:

来自世界不同地区的多家企业或机构组成联盟委员会,共同维护联盟区块链。专员是团委委员之一。在联盟委员会中,新的专员必须被联盟法接受(超出本条的范围),并由在联盟区块链网络中工作的机器代表。专员有权推荐、投票和评估管家。他们也有义务验证和转发区块和交易。每个专员都有相同的权利和义务,地位平等。区块链网络中生成的区块将发送给所有专员进行验证。当一个区块收到至少51%的投票时,该区块将被标记为有效,并添加到区块链中。投票结果可以代表全体委员的意志。

管家:

管家专门生产区块。管家节点的数量有限。管家身份的设计是指表决权与执行权的分离。委员会负责投票,管家负责生产区块。管家就像比特币上的矿工,但他们不需要为了夺取生产区块的权利而浪费计算能力,他们将被随机指定生产区块。管家将从网络收集交易信息,并将其打包成一个块,并在该块上签名。变成管家需要两步:

·变成一个管家候选人

·赢得一次管家选举

委员们投票选出管家候选人。管家轮流在任期周期内随机生成区块,并在任期届满后接受重新选举。节点可以同时是专员和管家。

管家选举:

由于管家数量有限,必须从管家候选人中选出一名管家,候选人将由所有委员投票选出。如果他们在选举中输了,他们可以留在网上,等待下一次选举。申请管家候选人有三个步骤:

·在联合体区块链系统中注册一个用户帐户,并提交一份管家候选人申请。

·提交至少由电子委托人签署的推荐信(通过密钥加密)。推荐信类似于由专员通过非对称加密调用函数生成的邀请代码。私钥用于加密推荐信内容,使推荐信不被伪造。

·提交押金以成为管家候选人。

专员可以保留专员和管家候选人的双重角色,以便他们可以推荐自己成为管家候选人。

普通用户:

这四个角色都使用密码来验证他们的身份。他们需要签署他们发送的消息,并且他们的行为可以被验证。普通用户可以随时加入或退出网络而无需授权,他们的行为可以是任意的。未经许可,不得参与数据块生成过程,只能参与数据块分发和消息转发过程。他们可以在使用系统服务的同时看到整个共识过程。

每个角色的转换如图2所示。

 
   

 

B、共识过程

我们的算法假设专员的数量为nc,管家的数量为nb,管家候选人的数量为nbc,普通用户的数量为no。由于节点可以具有双重身份,因此所有角色的总数为nall,satis fies nall≤nc+nb+nbc,其中nb是量化的。在每个任期周期中,我们为每个管家分配一个数字,从0开始,最后一个数字是nb-1。我们将Butler的任期设置为tw,并且在每个任期内都会生成bw+1block。最后一个块是一个特殊块,包括选举结果和相关记录,以及新选举的管家节点的服务器信息。管家需要在分配的时间内生成一个区块,这是区块tb的包装周期。图3显示了任期周期的共识模型。

每次生成和签署一个有效的块时,我们都称之为一轮共识。在每轮共识结束时,管家调用一个函数来生成一个随机数r,0≤r<nb。如果一个管家的编号等于r,那么这个管家就是指定生成下一个块的管家。一个块必须至少有NC/2+1签名,这些签名由不同的专员发送,才能成为有效的块。如果在tb时间内没有生成有效的块,则编号为r+1的管家将重新生成块,并让r=r+1。当r+1>nB时,r从0开始增加。如果至少有一个管家工作正常,网络最终可以达成共识。因为在一个打包周期内,只有一个块可以接收到至少NC/2+1签名,所以每个有效块都具有相关性,并且区块链不会分叉。

在任期周期内的最后一轮共识将产生BW+1区块,这是一个特殊区块。现任管家和管家候选人往往会在下一轮竞选新的管家。在这一共识中,每个委员都会给出一份投票名单,最终NB的顶级候选人将赢得选举。选举结果及相关记录将写入本专区。在达成这一特殊共识后,现任管家正式退休,新管家将在新一轮任期内开始工作。在每一轮任期内,完全有BW+1共识基础,产生了BW+1块。

C、生成普通有效块

有效块的生成被称为一轮共识。一轮共识可能需要m个包装周期(tb),如果管家i未能在tb时间内生成有效的块,则该块生产的许可权将移交给管家i+1。一轮共识的总时间为tc=m tb(1≤m≤nb)。数字m意味着在这个共识中有m-1无效块被放弃。当m≤nb时,生成有效块包含以下步骤:

·S1所有节点都可以生成附加签名的交易数据,同时接收交易数据,验证接收到的交易数据是否有效,如果有效,将交易数据转发给专员和管家;

·s2所有管家监控交易数据,将合法交易数据分别存储到交易池中;

·(M = 1,R = get之前的随机数(块)。如果这是《?rst本tenure块,然后在之前的最后一块冰块特别有效的预tenure综合性大学。如果这个共识的冰淇淋生产的两块(《创世记》blockchain?rst块),然后defaults R两个零;

·S4 butler i(i=r)从事务池中取出一些事务,将它们打包成一个块,并将该块发送给所有专员。此块的截止时间为t,cut=get previous block comfirmtime()+m tb;

·S5在收到块后,专员验证块中的数据,如果他们同意此生产,则在块头上签名并将签名发送回管家;

·S6在收到至少NC/2+1签名后,管家获得由NTP服务器签名的时间戳信息。

·如果时间在T切割之前,管家可以计算R值,将其写入块,并在块上签名,以证明生产商是自己制造的。然后Bulter将完整的有效块发布到整个网络。跳到步骤8;

·S7如果时间超过T切割,则此块将成为无效块。设r=r+1,m递增,跳至步骤4;

·S8收到有效区块后,所有管家将从交易池中删除非法交易,获取有效区块的随机编号R,开始下一轮共识。

特别是,如果m>n
b,让m=1增益,这意味着没有一个管家可以生成有效的块。这可能发生在第4节讨论的网络分区情况下。在这种情况下,块的生成将陷入死区,直到网络恢复。

D、特殊有效块的产生

特别选区是任期周期中的最后一个选区,旨在完成新管家的选举。特殊块的生成与普通块的生成类似:

·s1在特殊区块出现之前,所有专员将从当前管家和管家候选人的名单中生成一个序列,以形成投票名单;

·s2所有专员和现任管家将从所有专员处接收投票信息,并将其放入其内存池(事务池)。

·S3-S7类似于生成普通有效块的S3-S7,特殊块还需要获取专员的签名进行认证,并最终达成共识。与普通分组的区别在于,特殊分组包含投票信息,但不包含交易。经过计算,前NB节点将赢得选举,成为下一届任期的新管家。

·S8制作完此特殊块后,当前任期的管家将被解除职务,并删除内存池中的相关投票信息。

E、一个任期周期

通常,管家候选人(NBC)的数量大于管家(NB)的数量。在联盟区块链的Genesis区块生产之前,巴特勒候选人通过自我推荐或推荐的方式出现。当满足NBC≥NB条件时,第一批管家将由管家投票,其中一名管家将初始信息写入Genesis区块。然后开始一个正常的任期周期。一个任期周期包括以下步骤:

·s1在每一轮开始时,r=get
previous block random num();

·S2完成BW轮共识,生成BW普通有效块;

·S3在(BW+1)第三轮共识中,这是最后一轮共识,专员更新他们的巴特勒候选人名单的等级,并投票选举。将生成一个包含投票信息的特殊块。

·S4任期结束。循环执行步骤1-4。

如果NBC<N B,专员将在没有候选人的情况下通过自我推荐补充候选人数量。

F、投票过程

有两个主要的投票程序。第一个是对区块生产的投票,第二个是对管家候选人的投票。委员们通过返回签名进行投票。

投票支持区块生产。巴特勒,我生成一个块,并发送给所有专员。如果专员同意生成此块,他将加密块头并将签名返回给Butler I。如果Butler I在预定时间内收到至少NC/2+1签名,则该块有效。否则,块无效,将由管家I+1复制。

投票给管家候选人。管家J向所有委员发送投票请求。在收集和统计选票后,管家J生成一个带有选举结果和相关记录的特殊块。然后,管家J将把这个区块发送给所有专员进行验证。

专员的投票信息是两种票的组合:

·计分票:每个专员都有一个记录管家候选人得分的清单,专员选择一个得分高的候选人序列。

·指定票:专员在考虑人的因素的情况下,对候选人进行特定的收集,或设置随机的候选人收集,这增加了管家的流动性。

G、时间同步策略

NTP服务器是一个受信任的实体,它为事务提供并签署时间戳。管家需要从NTP服务器获取时间信息,NTP服务器将签署时间戳以确保时间信息不被篡改。例如:

?s1管家向所有专员发送街区;

?s2如果专员同意此区块,则在区块标题上签名并返回签名;

?S3当Butler至少收到NC/2+1签名时,这些签名将依次附加在块头之后,新的块头将发送到NTP服务器;

?S4在接收到块头之后,NTP服务器提供当前时间戳,加密新的块头和时间戳,生成签名,并将时间戳和签名返回给管家。

?S5 Butler从NTP服务器接收消息,验证消息,提取时间戳信息,然后获取时间戳作为块的配置时间,将签名附加到新块头的末尾,用时间戳和Butler自己的签名完成块,然后释放块。

?网络中的S6节点可以验证数据块的时间信息。根据tcut=get previous block comfirm time()+m tb,如果该块的确认时间小于tcut,则该块最终有效。

 
   

图5获取时间戳以生成块的过程。

H、随机数字R的产生

每个块生成一个随机数,确定谁将是下一个管家,这确保管家以随机顺序生成块。随机数生成算法如下:

假设管家已收到K专员的签名,用签名[I]表示(0≤I≤K,NC/2<K≤NC?1)。从NTP服务器接收它的时间是时间戳。得到Rsource:

假设取字符串最后32位的函数是substringend32(string),sor是:

由于每个块头的值是不可预测的,我们可以获得一个不可预测的资源和一个随机数r,防止管家可能联合起来,通过使r值以某种模式出现而获得更多收入的可能性。

I、联盟基金

联盟成立后,将建立一个账户,用于存储管家候选人提交的押金和管家的工资。管家的效率得到了奖励,基本上是成功验证的块的数量。各专员有义务定期补充联盟基金。

J、激发机制

管家候选人可以随时放弃他的身份。当它退出时,如果没有任何不良记录,它会找回自己的存款。而且,如果巴特勒在任期内申请退出网络,他就无法取回他的存款,因为这是一种不良行为。

每个专员都会保留一份管家候选人名单,并对他们的行为进行评估。评分规则包括:

?每次专员通过并签署一个街区,它将给管家额外的分数,否则分数将下降。

?当管家节点为Fluine且错过区块生产时,分数将被清除,这意味着当管家在线时,他需要重新开始评分。

一个管家可能有不同的委员记录的分数。分数代表委员的信任程度,也成为投票的理由之一。

经过一段特定的时间后,管家和管家候选人将根据他们生成的有效积木数量从联盟基金中获得奖励,这样他们就可以有动力接受工作、诚实工作和长时间在线。

IV、性能分析

基于投票机制和联盟区块链,提出了一个完整的共识模型。由于安全性和可用性的重要性,当前的共识机制牺牲了性能,以保证安全性。在保证安全的前提下,该模型能够保证区块链的高性能和低延迟的交易识别。在本章中,我们将分析POV的可靠性,它可以由两个参数控制:投票机制和激励机制。最后,我们比较了POV和现有的基于POW的区块链的性能,表明POV可以在低事务延迟的情况下获得更高的性能。

A、安全性

引理4.1:假设专员的人数是北卡罗来纳州。只要NC/2+1以上的专员有效工作,区块是安全和合法的。

证明:假设可以有效地验证非法块。由于管家必须获取超过NC/2+1的签名才能生成有效的区块,在有效的专员数量大于NC/2+1的情况下,有效的专员不会签署非法区块。所以非法区块的签名数量最多

NC?(NC/2+1)=NC/2?1。因此,假设是失败的,原来的命题是正确的。

B.可靠性

为了在赢得选举后获得奖励,管家必须保持最长的在线时间,诚实的工作,充分确定在规定时间内生产块的责任。

引理4.2:管家团队越来越可靠。

证据:如果区块生产不符合系统规则,区块不能通过专员的验证,管家的分数将下降。因此,在选举中获得选票的可能性会降低。在选举中的失败使管家失去了产生积木和获得利益的机会。可以证明,对于试图创建非法积木以在选举中获得成功或任何利益的管家来说,是很困难的。可靠的管家更有可能在选举中获胜,并且系统将变得更加可靠。

管家的工作可靠性是可控的,我们可以用两个参数来调整管家工作的可靠性:投票数K和管家收入B。

首先,我们分析每个委员的投票数。根据投票规则,在每轮选举中,由全国委员会委员从全国委员会巴特勒候选人中选出全国委员会巴特勒,通过建立数学模型,研究了每个陪审团所投的最低票数k,这是最简单、省时、公平、合理的投票规则。

在不考虑计分机制影响的情况下,我们假设投票是随机的,没有任何放弃,每个委员投K票,那么每个候选人获得投票的概率是相同的,K/NBC。投票活动原则上服从二项分布:

管家候选人获得x票的概率是p(x):

为了使投票结果更加公正,我们希望管家能获得的票数超过NC/2。因此,我们可以确定候选人投票超过NC/2的概率p1。

为了在全国广播公司的候选人中选出全国广播公司的管家,候选人在选举中获胜的概率是p2。

根据(4)(5),满足(6)的最小k值是最佳票数。

例如,我们设置参数nc=20,nb=50,nbc=200,绘制p1和p2的图像,如图6所示。横坐标为k,纵坐标为概率值。我们可以从p1和p2的曲线交点得到最优值k。

(a)原始图/原始地图/原始字典

       
     
   
 

(b)放大图/放大地图/放大字典

图6.P1和P2的分布图。在曲线相交处可得到最佳K值。我们可以从右边放大的地图上看到细节。当k≥81,p1>p2,当k<81,p1<p2时,k的最佳值为81。

如图6所示,当k=81时,每个委员可以提交81票支持81名巴特勒候选人。赢得选举的管家获得的选票可能超过NC/2(管家人数的一半),这意味着当选的管家可以获得超过一半的管家认可。这样,投票结果将更加科学和公正,以便大多数委员都能认可投票结果。当POV应用于不同的系统时,可以通过改变NC、NB、NBC的值来配置K。

通过引入评分机制,一个工作可靠的管家会得到更高的分数。因此,一个诚实的管家更有可能在选举中得到分数票,每个专员可以独立地给每个管家评分(第3.f节)。我们可以将公式(4)改写为:

如果α>0,则意味着由于分数较高,候选人被委员投票的概率较高。α<0代表候选人获得选票的机会低于平均值。通过设置α=?0.3、?0.2、?0.1,0,0.1,0.2,0.3,我们可以比较不同情况下的概率分布。结果如图7所示。

 
   

图7

如图7所示,当k为固定值时,管家的工作越可靠,管家在任期内得到的分数越高,因此,管家作为候选人获得选票的概率越高,赢得选举的可能性也越大。

第二个参数是管家的利益。在一个任期周期内,候选人i有可能当选为管家。在成为管家后,管家有1/nb的概率在每个包装周期包装一个块。假设一个区块的奖励为b,我们将单个包装周期的平均能源成本定义为ei。在n个周期后,总成本为ei n。我们可以定义一个事件,如下所示:管家候选人i成功赢得了选举,并产生了一个有效的K区(k=1,2,·························我们将pi表示为有效块的打包概率。

我们将过程EIK作为一个相同的独立分布(IID)。那么,在n个包装周期后,管家可以得到的总奖励是:

Ri遵循二项分布,平均值表示为:

只有当μ(ri)超过0,即

我们可以得出如下结论。考虑到计分机制和投票机制,试图破坏该系统的管家将无法发射积木,从而获得负等级。因此,管家或候选人赢得选举的可能性低于平均水平。如果系统中有比预期数量更多的候选人,不可靠的候选人将退出网络,因为他们微薄的奖励无法补偿他们的能源成本。条件(6)(8)可以作为候选人质量和数量控制的标准。

C、交易结局姓

引理4.3:最终可以生成一个块,它是唯一的。

证明:根据第3节中普通有效块生成过程的步骤7,未能在分配的时间内生成有效块的管家将失去生成该块的机会,并将执行权限留给下一个节点。只要至少有一个巴特勒节点是诚实的,有效的块最终将在一轮共识中生成。通过验证时间戳和tcut,每个有效块都是唯一的。

D、区块链不分叉

引理4.4:区块链永远不会分叉。

证明:考虑到网络分区可能导致区块链分岔,我们假设网络环境分为两个完全隔离的部分,A和B,A B=?。只要其中一名分区专员金额A≥NC/2+1。在区域中,仍然可以生成和验证块。但是在B区域,交易不能继续被确认,并且块不能被验证和生成,因为没有一个管家可以在B区域收到至少NC/2+1签名。因此POV允许最多两个网络分区,并且不能允许两个区域中的管家平均分开。

E、低延迟的交易验证

POV共识机制旨在加快区块生产。它可以提供低延迟事务验证和高吞吐量(每秒事务数)。根据对比特币网络中信息的评估[7],比特币网络中一个区块的传播速度约为6.5s,理想情况下的POV,区块生成的限制时间为tb(可设置约15s),使有效区块在15s内传播到整个网络。

图8 事务验证时间的性能比较

根据Gervais的研究[3],POW在约10分钟内生成一个块,有效块中的事务需要约1小时(生成6个块)才能确认[1]。以太坊需要至少37个配置来匹配比特币的安全性,平均25秒的数据块间隔,事务验证延迟约为15分钟。Litecoin(数据块间隔=2.5分钟,需要28个配置)和DogeCoin(数据块间隔=1分钟,需要47个配置)需要70分钟和47分钟的事务延迟。时间[ 3 ]。图9显示了与基于POV的区块链和一些基于POW的区块链的比较图。从理论上讲,与这些基于POW的区块链相比,POV表现出最佳的性能。

此外,POV在低功耗方面表现突出。基于良好的协同机制,POV不需要浪费大量的计算能力,就可以在联盟区块链中达成共识。

V、结论

在本文中,我们提出了一种新的共识机制(POV),专门用于联盟区块链。基于投票活动和投票机制的核心思想,设计了网络参与者的四种身份。前者保证了投票权与执行权的分离,增强了布尔特角色的独立性,同时也保证了联合体内部的内部控制制度。对于后者,在至少NC/2+1专员有效工作的情况下,我们的分析表明,POV可以保证安全性、交易效率、低功耗,确保区块链永不分叉。通过参数整定进一步分析了POV的可靠性,并从低事务延迟的角度论证了其强大的性能。

确认

本课题得到了国家重点梯级研发项目(2017年YFB08034.2016YFB0800
101)、国家自然科学基金(NSFC)第61671001号、第61521003号、广东重点项目(GD2016B03030500)、深圳研究项目(ZDYS20160311739 428、JCYJ20170306093030521、JCYJ201503110072474)的支持。

原文地址:https://www.cnblogs.com/i-am-1-little-girl/p/10390470.html

时间: 2024-10-25 21:32:50

投票证明:基于投票机制和联盟封锁链的高性能一致性协议的相关文章

基于Quorum机制的强一致性存储方案

在线上生成环境用一台服务器提供数据服务时,我们会担心这台服务器停机,造成服务不可用或数据丢失,通常我们对数据进行冗余存储,保障数据服务的高可用性. 但加入更多的机器,会带来数据一致性的问题,下面我们来了解一个基于Quorum机制的强一致性存储方案. 三机Quorum机制 Quorum即多数派原则,与投票选举的方式类似,被多数同意的一项操作即可获得通过. 本文讨论基于三机的Quorum机制,我们称这三台机为A机.B机.C机.其中A.B机用于数据存储,称为数据机.当写请求落到A机时,是否能真正写入数

Android的事件处理机制(一)------基于回调机制的事件处理

Android平台的事件处理机制有两种,一种是基于回调机制的,一种是基于监听接口的,现介绍第一种:基于回调机制的事件处理.Android平台中,每个View都有自己的处理事件的回调方法,开发人员可以通过重写View中的这些回调方法来实现需要的响应事件.当某个事件没有被任何一个View处理时,便会调用Activity中相应的回调方法.Android提供了以下回调方法供用户使用:1. onKeyDown:   功能:该方法是接口KeyEvent.Callback中的抽象方法,所有的View全部实现了

基于宿主机制作一个小系统

一.Linux系统的启动流程 1.启动程序 Linux系统的启动流程为:POST-->BIOS(BootSequence)-->MBR(bootloader,446)--> Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab). 首先上电自检POST:它负责完成对CPU.主板.内存.软硬盘子系统.显示子系统(包括显示缓存).串并行接口.键盘.CD-ROM光驱等的检测.主要检查硬件的好坏. 紧接着就是BIOS进行硬件相关初始化,之

基于无锁队列和c++11的高性能线程池

基于无锁队列和c++11的高性能线程池线程使用c++11库和线程池之间的消息通讯使用一个简单的无锁消息队列适用于linux平台,gcc 4.6以上 标签: <无> 代码片段(6)[全屏查看所有代码] 1. [代码]lckfree.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 // lckfree.h //

微信群投票你造吗?[微信投票彩蛋]

我们知道微信公众平台图文消息中可以插入投票,并且微信投票功能升级为可多渠道发布投票,投票组件页面与图文消息编辑页都可新建投票,并通过群发.自定义菜单.自动回复等多渠道发出.但是你造吗?微信群也可以投票!WeChatInsider独家首次向大家曝光了这个隐藏已久的微信彩蛋. 微信群投票并非通过“摇一摇”这类插件,或在群功能中直接实现.而是像最开始的微信红包一样,通过一个公众号实现,这个公众号就是:微信投票(ID:votecn). 关注成功后可通过“微信投票”创建投票: 投票主题不超过25个汉字(不

基于原型机制的克隆模式

在传统的静态语言中,类相当于“模子”,用class来定义,而实例相当于“模具”,就是说实例是通过“模子”class来生成的.但是在js中,并没有class关键字,换句话说js中没有类的概念.但得益于js强大的原型机制,js是可以模拟静态语言中的类的. 先来看看函数对象Function,对象Function上拥有一个原型对象prototype,即 Function.prototype = { call:function(){}, apply:function(){}, ...... __proto

基于BranchTraceStore机制的CPU执行分支追踪工具 —— CpuWhere [修正版 仅驱动]

[前言] 在张银奎老师的<软件调试>一书中,详细地讲解了使用内存的分支记录机制——BTS机制(5.3),并且给出了示例工具CpuWhere及其源代码.但实际运行(VMware XP_SP3 单核)并没有体现应有的效果,无法读取到分支记录.查看了源代码并没有发现任何问题,与书中所讲一致.既然软件本身没有问题,那会不会是在虚拟机中运行的问题呢? 翻出了闲置多年的老机器,奔腾Dual+XP_SP3,在启动配置中增加/numproc=1,设置单核启动,测试结果依然没有什么改变.网上搜索几遍也是无果,毕

基于路由机制设计的app架构思路

转载请注明出处:王亟亟的大牛之路 有差不多接近一个多月没发文了,最近事情比较多.各种会,写各种计划,解决各种问题,以及团队内部扩招那些事(每天邮箱各种简历眼花缭乱) 先安利:我的Git 之后会把内容都往git book等地方迁移,所以对我写的东西感兴趣的小伙们可以follow我的git,以获取最新内容! 对架构的理解 最近聊了许多小伙报价从高到低的各式各样的都有(这里只是举个例子,没有任何贬低的意思) 一提架构张嘴就来 MVC MVP MVVM等等等,如果简历写有大项目的架构经验并且要价偏高的我

搭建基于hyperledger fabric的联盟社区(八) --Fabric证书解析

一.证书目录解析 通过cryptogen生成所有证书文件后,以peerOrgannizations的第一个组织树org1为例,每个目录和对应文件的功能如下: ca: 存放组织的根证书和对应的私钥文件,默认采用EC算法,证书为自签名.组织内的实体将基于该证书作为证书根. tlsca:存放组织tls连接用的根证书和私钥文件.(TLS是传输层安全协议,其实就是SSL,现在叫TLS了) msp:存放代表该组织的身份信息. admincerts:组织管理员的身份验证证书,被根证书签名. cacerts:组