精华内容
下载资源
问答
  • 区块链的共识机制

    2019-09-16 17:54:12
    一、区块链的共识机制: 在区块链系统中没有像银行一样的中心化机构,所以在进行传输信息、价值转移时,共识机制解决并保证每一笔交易在所有记帐节点上的一致性和正确性问题。区块链的这种新的共识机制使其在不依靠...

    什么是共识机制:共识可简单理解为,不同群体所寻求的共同的认识、价值、想法等,在某一方面达成的一致意见。共识机制就是确定达成某种共识和维护共识的方式。

    一、区块链的共识机制:

    在区块链系统中没有像银行一样的中心化机构,所以在进行传输信息、价值转移时,共识机制解决并保证每一笔交易在所有记帐节点上的一致性和正确性问题。区块链的这种新的共识机制使其在不依靠中心化组织的情况下,依然大规模高效协作完成运转。

    除了密码学技术外,共识机制也是区块链必要元素及核心部分,是保障区块链系统不断运行的关键。

    在区块链网络中,由于应用场景的不同,所以采用了不同的共识算法。目前区块链的共识机制主要有四类:1.工作量证明机制pow2.权益证明机制pos、3.委托权益证明Dpos、4.验证池共识机制pool

    1.工作量证明(Proof of Work,简称POW):

    可简单理解为一份证明,证明你做过一定量的工作。通过查看工作结果,就能知道你完成了指定量的工作。区块链共识算法用的最多的就是POW。比特币和以太坊都是基于POW的共识机制。

    例:比特币在区块的生成过程中使用的就是POW机制,简单理解就是大家共同争夺记账权利,谁先抢到并正确完成记账工作,谁就得到系统的奖励,奖励为比特币,也就是所谓的“挖矿”。矿工(参与挖矿的人)通过计算机的算力去完成这个记账工作,这个拥有计算能力的专业计算机就是所谓的“矿机”。

    优点:

    ①完全去中心化,节点自由进出,避免了建立和维护中心化信用机构的成本。

    ②只要网络破坏者的算力不超过全网总算力的50%,网络的交易状态就能达成一致,并不可篡改历史记录。

    ③投入越多算力,获得记账权概率越大,越有可能产生新的区块奖励。

    缺点:

    ①目前比特币挖矿造成大量的算力和能源浪费。

    ②挖矿的激励机制也造成挖矿算力的高度集中

    ③结算周期长,每秒最多结算7笔交易,不适合商业应用。

     

    2.权益证明(Proof of Stake,简称POS):

    通过持有Token(代币)的数量和时长来决定你获得记账的机率,类似于股票的分红制度,持有股权越多的人就能够获得更多的分红。Token相当于区块链系统的权益。目前有很多数字资产用pow发行新币。

    优点:

    ①降低了PoW机制的资源浪费。

    ②加快了运算速度,也可以理解为工作量证明的升级版

    缺点

    ①拥有币龄越长的节点获得记账权的几率越大,容易导致马太效应,富者越富,权益会越来越集中,从而失去公正性。

     

    3.委托权益证明(Delegated Proof of Stake,简称DPOS):

    是基于POS衍生出的更专业的解决方案,类似于董事会投票,指拥有Token的人投票给固定的节点,选举若干代理人,由代理人负责验证和记账。不同于POW和POS的全网都可以参与记账竞争,DPOS的记账节点在一定时间段内是确定的。

    为了激励更多人参与竞选,系统会生成少量代币作为奖励。比特股就采用该方式。

    优点:

    相较pow,dpos大幅提高区块链处理数据的能力,甚至可以实现秒到账,同时也大幅降低维护区块链网络安全的费用。

    缺点:

    去中心程度较弱,节点代理是人为选出的,公平性相比POS较低,依赖于代币的增发来维持代理节点的稳定性。

     

    4.验证池共识机制Pool

    这是一种基于传统的分布式一致性技术,加上数据验证的机制,是目前行业链大范围在使用的共识机制;

    优点:不需要依赖代币也可以实现秒级共识验证;

    缺点去中心化程度弱,更适合多方参与的多中心商业模式;

    总结:每一种共识机制都不能同时满足安全、效率、公平。去中心程度越弱,安全性就越低,区块链的速度就越快;去中心化程度越强,安全性就会越高,区块链的速度就会越慢。POW完全去中心化,但运行效率太低。POS提高了效率,但却降低了公平与安全。DPOS有强烈的中心化特性,却在短期内效率最高。目前行业区块链大范围使用Pool共识。

    展开全文
  • 在总结当前区块链共识算法的基础上,分析其对物联网区块链的适用性,介绍了几大物联网区块链平台及共识机制应用现状,并阐述了针对物联网区块链的共识机制优化研究进展。最后展望物联网区块链的优化技术,总结有潜力...
  • 区块链的共识机制(序)

    千次阅读 2017-07-12 16:26:52
    本文是一篇针对的是区块链的共识机制的序言,也可以说是“杂烩”。之后,还会详细地针对共识机制描述的博文。 提及共识机制,我们不得不说到中本聪的发明——工作量证明(POW)。这种共识机制在去中心化的思想下解决...

    一、前言


    本文是一篇针对的是区块链的共识机制的序言,也可以说是“杂烩”。之后,还会详细地针对共识机制描述的博文。

    提及共识机制,我们不得不说到中本聪的在《Bitcoin: A peer-to-peer electronic cash system》文章中涉及的工作量证明(POW)。这种共识机制在去中心化的思想下解决了节点间相互信任的问题,使得区块链能在众多的节点上达到一种较为平衡的状态。区块链解决了在不可信信道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何在分布式场景下达成一致性的问题,奠定了比特币系统的安全性。说到分布式一致性问题,其实由来已久。因为传统分布式系统的一致性算法是一个从上世纪70年代就开始研究的经典问题。Fischer, Lynch 和 Patterson在1985年发表《Impossibilityof Distributed Consensuswith One Faulty Process》,论文中提出了可以说是最重要的分布式系统定理:FLP不可能性;2000年,EricBrewer教授在PODC的研讨会上提出了一个猜想:一致性、可用性和分区容错性三者无法在分布式系统中被同时满足,并且最多只能满足其中两个;2002年,Lynch与其他人证明了Brewer猜想,从而把CAP上升为一个定理。这期间和之后,都涌现了一些很有名的分布式一致性算法,如LeslieLamport在1989年提出的Paxos;1999年Castro和Liskov提出的PBFT,这是第一个得到广泛应用的BFT算法,IBM的Hyperledge fabric就是基于PBFT共识机制的。

    所以现在的不少共识机制的都是修改自那些分布式领域的大拿的成果。


    二、FLP不可能性


    FLPImpossibility(FLP不可能性)是分布式领域中一个非常著名的结果,该结果在专业领域被称为“定理”,其地位之高可见一斑。FLP给出了一个令人吃惊的结论:在异步通信场景,即使只有一个进程失败,也没有任何算法能保证非失败进程达到一致性!

    因为同步通信中的一致性被证明是可以达到的,因此在之前一直有人尝试各种算法解决以异步环境的一致性问题,有个FLP的结果,这样的尝试终于有了答案。

    三、CAP理论


    在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

    1.  一致性(Consistency):同一个数据在集群中的所有节点,同一时刻是否都是同样的值。

    2.  可用性(Availability):集群中一部分节点故障后,集群整体是否还能处理客户端的更新请求。

    3.  分区容忍性(Partition tolerance):是否允许数据的分区,分区的意思是指是否允许集群中的节点之间无法通信。


     

    四、拜占庭将军问题


    4.1什么是拜占庭将军问题

    拜占庭将军问题是一个共识问题: 首先由Leslie Lamport与另外两人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Failure。核心描述是军中可能有叛徒,却要保证进攻一致,由此引申到计算领域,发展成了一种容错理论。

    关于拜占庭将军问题,一个简易的非正式描述如下:

    拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。基于一些原因,这10支军队不能集合在一起单点突破,必须在分开的包围状态下同时攻击。他们任一支军队单独进攻都毫无胜算,除非有至少6支军队同时袭击才能攻下敌国。他们分散在敌国的四周,依靠通信兵相互通信来协商进攻意向及进攻时间。困扰这些将军的问题是,他们不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或者进攻时间。在这种状态下,拜占庭将军们能否找到一种分布式的协议来让他们能够远程协商,从而赢取战斗?这就是著名的拜占庭将军问题。

    应该明确的是,拜占庭将军问题中并不去考虑通信兵是否会被截获或无法传达信息等问题,即消息传递的信道绝无问。Lamport已经证明了在消息可能丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。所以,在研究拜占庭将军问题的时候,我们已经假定了信道是没有问题的,并在这个前提下,去做一致性和容错性相关研究。

    4.2拜占庭问题的实质


    根据上面非正式的描述,一群将军想要实现某一个目标(一致进攻或者一致撤退),但是单独行动行不通,必须合作,达成共识;由于叛徒的存在,将军们不知道应该如何达到一致。而这里“一致性”才是拜占庭将军问题探讨的内容。

    但是,光靠“一致”就可以解决问题吗?考虑一下,如果万事俱备,客观上每个忠诚的将军只要进攻了就一定能够胜利,但是却因为叛徒的存在他们都“一致的”没有进攻;反之,条件不利,将军们不应该进攻,但是却因为叛徒的存在所有人都“一致的”进攻了。

    可以发现,只有“一致性”是不足以解决拜占庭将军问题的,我们还需要提出一个“正确性”要求。这个要求是值得斟酌的,因为如果客观来看或许会有“绝对正确的”判断,但是针对每一个将军,大家的判断或许都不相同,我们如何定义“正确”呢?我们或许可以简单地说,正确就是每个忠诚的将军都正确的表达了自己的意思,不会因为叛徒让别的将军认为忠诚的将军是叛徒而不采用他传达的消息。

    至此,我们将拜占庭将军问题简化成了,所有忠诚的将军都能够让别的将军接收到自己的真实意图,并最终一致行动;而形式化的要求就是,“一致性”与“正确性”。

    如果将问题推广开来,可以发现针对一致性和正确性的算法并不要求命令必须是“进攻/撤退”或是“1/0”,而可以是“发送消息1/发送消息2/待机”或“x/y/z/w”,这意味着拜占庭将军问题算法可以为多种分布式系统提供启发,比如电力系统或网络系统。

    由此可见,这个问题说到底是一个关于一致性和正确性的算法问题,这个算法是针对的是忠诚的将军,因为叛徒可以做出任何超出约定的判断。我们就是要在有叛徒的干扰下,找到一个抗干扰的算法。要解决这个算法问题,我们需要将形式化要求具体化。

    在经典的情形下,口头协议和书面协议这两种方法可以解决此问题。


    四、传统分布式一致性算法


    4.1 Paxos算法

    1998年Lamport提出Paxos算法,后续又增添多个改进版本的Paxos形成Paxos协议家族,且Paxos都有共同点是不容易工程实现。Paxos被用于分布式系统中典型的例子就是Zookeeper,他是第一个被证明的共识算法,其原理基于两阶段提交并扩展。

    Paxos算法中将节点分为三种类型:proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色acceptor:负责对提案进行投票。往往是服务端担任该角色learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端基本过程包括 proposer 提出提案,先争取大多数 acceptor 的支持,超过一半支持时,则发送结案结果给所有人进行确认。一个潜在的问题是 proposer 在此过程中出现故障,可以通过超时机制来解决。极为凑巧的情况下,每次新的一轮提案的 proposer 都恰好故障,系统则永远无法达成一致(概率很小)。Paxos 能保证在超过50%的正常节点存在时,系统能达成共识。

    4.2PBFT算法

    1999年Castro和Liskov提出的PBFT算法,它是第一个得到广泛应用的BFT算法。这是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。

    假设节点总数为3f+1,f为拜占庭错误节点:

    1.  当节点发现leader作恶时,通过算法选举其他的replica为leader。

    2.  leader通过pre-prepare (第一个协议阶段)消息把它选择的 value广播给其他replica节点,其他的replica节点如果接受则发送 prepare(第二个协议阶段),如果失败则不发送。

    3.  一旦2f个节点接受prepare消息,则节点发送commit(第三个协议阶段)消息。

    4.  当2f+1个节点接受commit消息后,代表该value值被确定 如下图表示了4个节点,0为leader,同时节点3为fault节点,该节点不响应和发出任何消息。最终节点状态达到commited时,表示该轮共识成功达成。 注:预准备阶段(pre-prepare):主节点分配一个序列号n给收到的请求,然后向所有备份节点群发预准备消息,预准备消息的格式为<<PRE-PREPARE,v,n,d>,m>,这里v是视图编号,m是客户端发送的请求消息,d是请求消息m的摘要。准备阶段(prepare): 如果备份节点i接受了预准备消息<<PRE-PREPARE,v,n,d>,m>,则进入准备阶段。在准备阶段的同时,该节点向所有副本节点发送准备消息<PREPARE,v,n,d,i>,并且将预准备消息和准备消息写入自己的消息日志。如果看预准备消息不顺眼,就什么都不做。确认阶段(commit): 当(m,v,n,i)条件为真的时候,副本i将<COMMIT,v,n,D(m),i>向其他副本节点广播,于是就进入了确认阶段。


    五、常见区块链共识模型


    5.1POW

    依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。

    5.2POS

    Proofof Stake由Quantum Mechanic 2011年在bitcointalk首先提出。

    存在一个持币人的集合,他们把手中的代币放入POS机制中,这样他们就变成验证者。假设在区块链最前面一个区块(区块链中最新的块),这时POS算法在这些验证者中随机选取一个(选择验证者的权重依据他们投入的代币多少,比如一个投入押金为10000代币的验证者被选择的概率是一个投入1000代币验证者的10倍),给他们权利产生下一个区块。如果在一定时间内,这个验证者没有产生一个区块,则选出第二个验证者来代替来产生新区块。与POW一样,以最长的链为准。

    5.3DPOS

    与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。

    DPoS的工作原理为:去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。

    5.4Casper(投注共识)

    这是一种以太坊下一代的共识机制,属于PoS。Casper的共识是按块达成的而不是像PoS那样按链达成的。

    为了防止验证人在不同的世界中提供不同的投注,还有一个简单严格的条款:如果你有两次投注序号一样,或者说你提交了一个无法让Casper合约处理的投注,你将失去所有保证金。从这一点我们可以看出,Casper与传统的PoS不同的是Casper有惩罚机制,这样非法节点通过恶意攻击网络不仅得不到交易费,而且还面临着保证金被没收的风险。

    Casper协议下的验证人需要完成出块和投注两个活动。具体如下:

    1.  出块是一个独立于其它所有事件而发生的过程:验证人收集交易,当轮到他们的出块时间时,他们就制造一个区块,签名,然后发送到网络上。投注的过程更为复杂一些。目前Casper默认的验证人策略被设计为模仿传统的拜占庭容错共识:观察其他的验证人如何投注,取33%处的值,向0或者1进一步移动。

    2.  而客户端的确认当前状态的过程如下所示:

    一开始先下载所有的区块和投注,然后用上面的算法来形成自己的意见,但是不公布意见。它只要简单的按顺序在每个高度进行观察,如果一个块的概率高于0.5就处理它,否则就跳过它。在处理所有的区块之后得到的状态就可以显示为区块链的“当前状态”。客户端还可以给出对于“最终确定”的主观看法:当高度k之前的每个块,意见要么高于99.999%或者低于0.001%,那么客户端就可以认为前k个块已经最终确定。

    六、总结

    POW不足:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长。

    POS不足:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。

    DPOS不足:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。

     

    展开全文
  • BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈 以下资源为各种渠道的网络收集和个人总结 目录 区块链——比特币中的共识机制 现阶段区块链技术的某些疑点 区块链建立...

    BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈

    以下资源为各种渠道的网络收集和个人总结

     

     

    目录

     

    区块链——比特币中的共识机制

    现阶段区块链技术的某些疑点

    区块链建立共识机制的好处

    区块链技术未来的空间与发展方向


     

    区块链——比特币中的共识机制

    机制重了共识价值:比特币,作为第一个成功通过区块链技术在分布式网络中快速建立共识机制的落地项目。将去中心化数据技术以及分布式价值网络带入公众视野,使得人们第一次看清共识的价值。

     

    现阶段区块链技术的某些疑点

    1、区块链技术是相对的创新事物:首先区块链从技术角度来看既不神秘也不不先进。“在我国的某些区域,人们在逢年过节打麻将时习惯将每一盘输赢记录记载在一本有连续编页的本子上,然后每隔一段时间清算一次的做法从广义上来说就是利用去中心化的链式记账系统(区块链)快速形成共识机制的组织行为,也就是区块链落地。而在历史上中国人很早之前就利用这样的共识机制防止游戏结束时产生纠纷。

    2、分布式记账上世纪已有应用:在技术领域,因为互联网设计初衷,七十年代国际互联网设计初期时就已经有了去中心化的分布式记账系统的概念。比特币出现前,区块链就一直默默的在技术底层存在着。

    3、经济角度理解共识成本比较大:在管理学角度,虽然共识机制建立时的门槛很低,但后期要花大量的成本去维护。这使得成本并不是人们选择建立共识机制的理由。在人类千百年历史中,使用中心化方案而放弃共识的例子并不鲜见。即使在金融领域,在历史中,我们多看到的也是放弃共识使用集权(中介机制)的案例。比如秦统一六国发行统一货币、或者是汉武帝用五铢钱将铸币权收归国有。而在国际上最出名的例子则是布林顿森林体系的瓦解。

    4、分布式系统被攻击的成本大:去中心化后并不意味着信息真的不可篡改安全性极高,对于量子计算机和神经元计算机来说,几百几千位的密码用穷举算出来不是很难。算力无法成为保护系统安全的护城河。而应对分布式攻击时的成本和难度却比中心化方案高了很多。2018年年初币安平台遇到的分布式攻击,才是对数字货币真正的考验。

     

     

    区块链建立共识机制的好处

    根据区块链的技术特征,利用区块链技术建立共识机制组织的真正好处有

    (1)、组织的成本透明可控制
    (2)、组织的规则公开公平责任共担
    (3)、组织边界模糊开放容易实现跨组织的协同。

     

    区块链技术未来的空间与发展方向

    1、区块链的共识机制贡献GDP:随着互联网时代的来临,创新将成为经济发展的新动力。世界经济论坛预测,直到2027年全世界10%的GDP都将在区块链技术支撑下的共识机制中完成,这是人类社会几千年发展进程中从未有多的事情。

    2、建设共识体系:在2009年中本聪发布比特币白皮书前,人们基本没有在共识机制上完成的大规模正式商业活动。即使NGO吸纳善款,都需要政府主管部门开出慈善收据才能完成。这意味着我们人类社会要用这20年时间启动几千年来一直被忽略的大规模共识体系建设。

    3、区块链共识机制的落地:反过来想,一些理所当然的限制,我们用共识会不会解决的更好。比如,企业是不是必须麻雀虽小五脏俱全,或者企业的机构越全面综合生产成本越低,满足个性化需求必然会导致综合成本的攀升等等。利用区块链技术建立起可以通过共识快速建立、成本可控、裂变式增长的创新性机制。发掘新的增长空间,应该是区块链技术落地的目标与方向。这些领域的创新是未来真正的蓝海,是能为企业持续带来收益的利润源,是真正能养出大鱼的池塘。

     

     

     

     

    展开全文
  • 一文让你明白区块链的共识机制POW 2018-04-01 16:02 来源:链道学社 区块链的共识机制之一:工作量证明POW,是用来解决比特币随意记账的一种方法,就像我们需要毕业证书来证明我们完成大学四年的学习一样,比特币...

    一文让你明白区块链的共识机制POW

    2018-04-01 16:02    来源:链道学社

    区块链共识机制之一:工作量证明POW,是用来解决比特币随意记账的一种方法,就像我们需要毕业证书来证明我们完成大学四年的学习一样,比特币也需要通过“工作量证明”机制来确保记账的权利的宝贵性。

    众所周知,普通的网上交易中,是由一个权威中心来决定交易的有效性,比如说,银行的网银,银行就充当的这个角色,由银行来证明一个交易的有效性。

    而比特币没有权威中心,那么由谁来决定交易的有效性呢?那么,就有点类似于我们选举一样,由大家来投票表决,得票最多的交易,就会被认定为一个合法的交易。没有了权威中心,好像缺乏信用,然而由投票产生的交易,却是最值得信任的。所以,比特币也被一些人称为是“民主货币”。

    在比特币的算法中,投票并不是一个人一票,而是一个CPU一票。那么,如果一个人想控制比特币,TA必须有足够的CPU,那么当比特币的规模越庞大,控制就越难。就好比一个人可以很容易的控制几百几千的选票,而当选票规模越大,控制就越难。

    另外,当我们在做这种投票工作,假设工作量很小的话,那么确认交易仅需要少量的运算能力,就可以完成了,这会导致伪造这种交易,也很简单,所以比特币就引入了工作量证明(Proof-of-Work)机制。在这个机制里面,对一个交易进行证明,需要耗费一定的运算能力和时间,一旦运算成功,那么就确定了一笔交易。而反过来,普通的客户端,只要进行一个很简单的运算,就可以知道这个交易是真实的,还是假冒了。这种机制,就好比在现实生活中,政府花费大量人力,对钞票进行防伪处理,而普通的民众,只需要对钞票进行简单的辨认,就可以识别真假。

    在比特币中,这种工作量证明机制的算法叫做哈希现金,这种算法其实早就有了,它的原理,就是在交易的数据块中,要找到一个随机数,这种随机数包含了多个0,在计算机只能用穷举的办法,来找到这个随机数。如果我们要求的随机数中,随着0的数目增多,计算工作量呈现指数级增长。一旦我们找到了这个随机数,也就确定了一个数据块,除非对数据块进行一定的工作量运算,否则,数据块是无法更改的。

    由于这种哈希算法,它是一种穷举法,如果网络上的诚实节点超过50%,基本上伪造者想伪造一个交易成功,它必将成功几率很低,但还是有概率的。

    这种情况下,比特币就引入了另外一种机制,叫交易链,所有的交易,都是按时间戳,串联在一起的一个链条。就好比一条绳子上面打了很多绳结,每个绳结表示一个交易,每个绳结在时间上是有先后顺序的。而链条最长的,就被公认为为真实的交易。一个运算能力低于50%的伪造者,想伪造一个交易,那么有一定的概率,如果想伪造两个交易,并且比运算能力更强的诚实者还快,那么概率更低,而且这种概率,随着时间的推移,成功的几率呈现指数级下降。

    举个例子,假如历史已经产生了100个数据块,那么一个伪造者想推翻这些交易,TA必须运算出101个数据块,这个交易链条才可能比原先的链条长。而因为诚实者的运算能力比伪造者大,所以当伪造者运算出101个数据块,其实诚实者产生的新的数据块,已经远远超过100个,原先链条的长度,已经延长至远远超过201块的长度了,伪造者还是没法超过诚实者的链条。

    这种工作量证明,有一个特点,就是交易不能是实时的。首先,当前交易的数据块被运算出来后,系统特意在这个交易之后,有N个交易被计算出来后,当前交易才被确认。那么,伪造者想推翻某个交易,就需要一样生成后面N个交易数据块,这种成功概率,对伪造者趋近于0。

    目前每笔比特币交易,大概需要耗时10分钟才能被确认,伪造者由于运算力更低,在10分钟内产生的数据块,对于诚实节点来说,新产生的数据块将远大于伪造者,从而导致伪造者无法成功伪造。

    而比特币还引入了一种奖励机制,当诚实节点计算出一个数据块,它能得到一定数量的比特币奖励,诚实挖矿得到的比特币奖励,往往比伪造交易得到的奖励更多。

    再者说,由于之前的交易已经确认,所以伪造者所攻击的,不过是把自己某次交易进行篡改。由于每个用户,对自己的比特币钱包,都拥有自己的秘钥和密码,每个人只要妥善保管好自己的密码,那么伪造者也无法制造出该用户的公钥,也就无法伪造该用户的交易。伪造者能攻击的,就是自己的交易,先发起一个交易,让接受到货币的对方,以为交易成功了,从而把货物发出去,然后伪造者再发起攻击,试图把这个交易取消。不过这种攻击的可能性,前面已经论证过了,可能性极低。

    PoW依赖机器进行数学运算来获取记账权,资源消耗大、共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。

    PoW的优点:完全去中心化,节点自由进出。

    PoW的缺点:目前比特币已经吸引全球大部分的算力,其他再使用PoW共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长。

    使用PoW的项目有:比特币、以太坊前三个阶段——Frontier(前沿)、Homestead(家园)、Metropolis(大都会)。以太坊的第4个阶段,即Serenity(宁静),将采用权益证明机制。

    作者:晓熙

    来源:链道学社

    展开全文
  • 区块链的共识机制POW/POS/DPOS

    千次阅读 2018-07-29 16:24:27
    区块链的共识机制POW/POS/DPOS  末学子龙 关注 2018.02.09 19:36* 字数 1872 阅读 109评论 0喜欢 1   区块链技术给数字经济时代带来了巨变的曙光。    这种巨变在互联网近50年的历史上曾发生过两次。 ...
  • 近年来,随着区块链技术...但苦于无法找到合适的突破点与自己的业务相结合,本文我们从区块链的共识机制谈起,协助企业寻找链改的突破口。我们知道区块链本质上是一个去中心化的分布式账本,这就意味着在区块链系统...
  • ☞ ░ 前往老猿Python博文目录 ░ 共识机制主要用于解决分布式计算的根本问题数据的一致性,所谓共识,简单理解...在区块链系统中,存在着多种这样的共识算法,比如PBFT(Practical Byzantine Fault Tolerance,实用拜
  • 区块链共识问题 从本质上来说,区块链只是一种用不可变形式来存储数字信息方法。从企业 IT 战略层面上来说,区块链在概念上与关系数据库很类似。大约三十多年前,关系数据库取代了大型机(又叫非关系型数据库...
  • pow,工作量证明,以比特币为最典型的共识机制应用,干得越多,越快,获得记账(打块数据)权的几率越高,自然获得收益的几率就越高。特点:去中心化程度最高,公平性做的最好,全网达到共识的效率最低,算力消耗能源...
  • 现今区块链共识机制主要类别包括工作量证明(Proof of Work,POW)、权益证明机制(Proof of Stake,POS)、股份授权证明机制(Delegate Proof of Stake,DPOS)等。 在一个互不信任市场中,要想使各节点达成一致...
  • 前言:本文简单明了地阐述了达成共识的两个主要流程:区块的提议和区块的共识达成。区块的提议主要涉及到PoW和PoS机制,也就是工作量证明和权益证明的机制,用以抵抗女巫攻击,...
  • WBFEX大讲堂是WBFEX交易所旗下的学习栏目,旨在传播区块链知识...今天,WBFEX大讲堂主要讲解区块链的BFT、DBFT、PBFT共识机制。 ** BFT共识机制 ** BFT的全称是Byzantine fault tolerance,即拜占庭容错共识算法,是...
  • http://brainware360.cn/%E5%8C%BA%E5%9D%97%E9%93%BE%E7%9A%84%E5%85%B1%E8%AF%86%E6%9C%BA%E5%88%B6%E4%B9%8B%E5%B7%A5%E4%BD%9C%E9%87%8F%E8%AF%81%E6%98%8E%E6%9C%BA%E5%88%B6.html  区块链是比特币底层技术...
  • 区块链网络是一个完全靠陌生人节点记账和维护、非安全网络环境,因此,冥冥之中一定存在某种物质,让这些未曾谋面人按照规章去办事。这到底是什么呢? 上篇末尾有个问题:区块链网络上陌生人出于什么承认...
  • 区块链共识机制的深入浅出 国内外当下主流区块链平台共识机制纵向、横向比较 区块链共识机制的深入浅出 1、区块链核心技术之CM 国内外当下主流区块链平台共识机制纵向、横向比较 1、主流区块链平台...
  • 区块链的共识机制POW、POS、DPOS、POA

    千次阅读 2018-09-13 11:45:03
    一:POW  POW全称为Proof of Work,翻译过来就是“工作证明”或者“工作量证明”...工作量证明重要意义在于:它迫使货币产生,需要付出一定工作量和成本,这就赋予了货币一定商品属性,使得自由市场这只...
  • 区块链系统中,特定的共识算法用于解决去中心化多方互信的问题。 其实简单理解就是达成一致。现实生活中很多场景是需要达成一致的。区块链系统中,每个节点必须让自己的账本和其他节点的账本保持一致。而中心化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,450
精华内容 980
关键字:

区块链的共识机制