0

浏览

5806

文章

30

篇1:一文了解Avalanche共识:设计和演变

全文共 5495 字

+ 加入清单

在 2018 年一个自称为火箭队的匿名团队提出了Avalanche共识协议。本篇文章描述了这个协议看起来魔幻(但实际真实)的特性,并将其与其他共识协议做对比,描述使其独特的技术基础。

什么是共识?

共识是一系列独立的投票者(常被称为“验证者”)对一个决策达成一致的过程。初步来看,这个过程听起来很直接:根据一系列规则搞清楚一组数据是否是一致的,网络的其他成员是否对这个数据认可。

像 Avalanche 这样的共识协议需要在网络中所有的节点达成一致,保障整个网络对这个数据有一个同步的视图(view)。强健的共识协议即使在一些验证者出问题或者是恶意的情况下仍然能够运行。

在这个过程的最后,所有节点对于所需要做的决策流程都会共享相同的数据,这被称为“状态”(State)。如果任何一个节点中有冲突的交易,和余下的整个网络都不一致,那么这个被称为“安全违规”。这意味着至少有一个节点和网络中其他节点不一致的。共识协议的目的就是减少网络中“安全违规”,最佳的情况就是让这样的冲突变得几乎不可能。

这个概念听起来是不是很简单?但是共识协议的话题是计算机科学领域其中一个最难的领域之一。

共识机制的历史

在分布式系统超过 45 年的历史中,只有三种共识协议能解决问题:经典共识协议(Classical),中本聪共识(Nakamoto)以及 Avalanche。我们先来讨论一下这三种共识来描述为什么会分成这样的三类,每一类和其他有什么不同,有什么样的优劣势。经典共识协议

经典共识协议,比如实用拜占庭容错(PBFT)和 HotStuff,都是基于所有对所有投票的(All-to-all voting)。这意味着一个验证者需要监听组成网络一系列节点来进行决策。此外,他们是“1 的概率”(P = 1)的协议,这意味着网络对于某一个决策需要有完全的确定性。在节点从组成系统的节点的必要部分接收到响应之后,交易立即完成。

在开放的、和互联网类似的环境中,经典共识协议就会遇到两个主要的问题。第一个问题是这些协议非常脆弱:他们的正确性极大程度依赖于系统中所有的节点了解其他的节点的身份。这样的结果就是在维持系统成员的过程中若出现了任何问题或者网络中成员的视图有不一样,就会导致安全违规。进一步来说,任何攻击者只需要控制网络的 33% 就能够实现一个双花攻击。

第二点,这些系统是缓慢的,并且不能在节点数量增加的时候扩展。Facebook 的 Libra 使用的 HotStuff (由我们的首席协议架构师 Ted Yin设计)已经是扩展性最好的经典共识协议了,但也只能在保障不牺牲性能的前提下支持大约 100 个验证者。

这两个问题让经典共识协议无法适用于开放的、无需许可的网络,毕竟对于这样的网络节点是需要随意加入和退出的,也随时会做出对网络不利的事情。中本聪共识(Nakamoto Consensus)

经典共识无法满足大规模的需求,在经过十年之后,实用拜占庭若错是一个不错的发明。之后,突然出现了中本聪,扔出了比特币的白皮书,向世界展示创造一个全球范围内有效的抗敌共识协议的可能性。中本聪重新定义了共识问题并让正确性定义具有概率性来实现这个目标。

使用基于中本聪共识的一些,无需等待网络中所有节点之间的绝对确定性,而是权衡了难以区别的可能性,来实现更好的可扩展性。在经典协议必须以1(P = 1)的概率达成共识的情况下,中本聪以1减去一些很小的错误机会(P = 1 —ε)的概率达成共识。在Nakamoto中,随着产生更多的区块,该误差值将随着时间的流逝而越来越小。区块越多,被重组的机会就成倍下降。

毫无疑问,中本聪共识作为健壮的全局协议是一项突破,但是它确实有缺点。它速度慢,消耗大量能量,并且需要很长时间进行区块确认才能对交易的最终结果足够确定。对于那些不经常移动或用作储备的资产来说,这些缺点是可以接受的,但对于点对点支付和去中心化金融等应用来说,它们却负担太大。

Avalanche

中本聪共识唤醒了整个世界,大家开始希望有一个强健、去中心化的协议,就如同中本聪共识一样,但希望有经典共识的所有优点:规模、速度、快速确认和能源效率。

之后在 2018 年 5 月,自称为火箭队的匿名团队提出了第三类共识协议,他们称为“Avalanche”。它同时具备了经典共识协议和能够实现大规模去中心化的中本聪共识协议的优势,事实证明,经典共识协议可以泛化为概率性行为,从而获得巨大的性能提升。

我们的文章会高度概括这个共识,如果你希望进一步了解详细内容可以查看白皮书。

Avalanche 共识是什么?

Avalanche 共识,和比特币的中本聪共识一样是一个概率性共识。就像中本聪共识在为共识的概率性牺牲了性能一样,Avalanche 也接受错误发生的可能性(更好的是,像 Avalanche 的所有部分一样,可以由验证器在自定义子网上配置)。

Avalanche 上出错的概率太小了,因此出现安全违规的可能性比找到 SHA-256 哈希冲撞的概率还要小。从更广的角度来看,在未来一百年里面有小行星和地球相撞的可能性要比在未来一千年中通过网络计算每秒 100 万个哈希并出现 SHA-256 哈希碰撞高出数十个数量级。真的非常安全。

Avalanche 也能够立刻对所有交易进行确认,而不需要等待交易确认。Avalanche 能实现这样的特性的原因在于它是经典共识的泛化,因此原生就有经典共识的优势。事实上,Avalanche 平均来看能够在一秒内完成交易确认。相比于现有的去中心化网络,这是非常快的。

作为具有概率模型的经典共识协议的泛化,Avalanche 也能够同时实现用 CPU 运作和高吞吐量的特性。Avalanche 不需要特殊的或者昂贵的硬件设备来实现高吞吐量(超过每秒 4500 笔交易)。这意味着你手上的电脑(甚至在你仓库里面吃灰的设备)也完全能够运行 Avalanche 的节点。这些特性加起来让 Avalanche 非常的绿色和经济。

不止如此,和中本聪共识一样,Avalanche 对网络参与者没有限制,而经典共识则在网络参与者数量增加的时候牺牲性能指数级下降。想要实现大规模落地应用、让去中心化应用走向大众,Avalanche 是绝无仅有的。

Avalanche 并不想中本聪共识那样依靠工作量证明。像比特币这样的协议,工作量证明对于区块构造和网络安全都非常重要。Avalanche 可以使用过重了证明但是采用了权益证明来让用户对交易进行投票的时候抵押一些代币参与共识。

最后,与基于中本聪共识的比特币和其他系统需要不断运行的不同,Avalanche 的节点仅在有工作要做时才会运作。没有进行挖矿或轮询来获取新块的操作。交易会广播到更广泛的网络,然后网络会听到它们并开始投票。如果没有要投票的交易,则网络中的节点将不执行任何操作,除非监听到新的交易。简而言之,Avalanche 所做的工作更聪明,而不是更努力。

高级说明:Avalanche 最重要的属性确实使它与现有的经典共识协议区别开来,它就像中本聪共识一样,可以在网络中没有已知参与者上限的情况下运行。可以使用每个节点的O(1)(常数)个消息来确定 Avalanche 中的决策。将此与使用O(n²)消息达成共识的经典协议进行比较,经典共识协议的网络扩展问题则在 Avalanche 中消失了。Avalanche 共识如何运作?

首先我们来谈谈验证者在 Avalanche 共识中的作用。Avalanche 是一个投票协议,验证者监听网络中的交易,当他们听到交易的时候,他们投票来决定一笔交易是否被接受。验证者对看起来没问题的交易投票“接受”,如果交易出现冲突则“拒绝”。之后所有节点的投票结果进行贾总。如果一个验证者看到一个决策,做出一个初始决策,然后与网络的其余部分进行写作,来确定网络是否同意这个决定。这和经典共识协议中的期望相同,但是在 Avalanche 中,这种情况发生在验证者数量多地多的情况中。

Avalanche 的投票过程让他变得与众不同。每一个验证者都和决策者完全独立。没有 leader 的角色。然而每个节点都用完全相同的流程来决定一个交易是否是有效的,以及与网络中其他部分达成共识的可能性。一旦他们看到网络中有一个交易大概率会达成共识,节点就会锁定他们的投票并且接受这个交易。

用于确定是否首选交易以及网络的其余部分是否同意此决定的过程称为“重复随机子采样”。

从高层次上讲,这意味着验证者会随机选择其他验证者来询问他们喜欢什么。它会在新的随机选择的节点上一遍又一遍地执行此操作,直到建立足够的数据来确定其正确的可能性如此之高,以至于你可能会认为这不可能是错误的。

详细一点说,他是这样运作的:

一个验证者收到了很多发布的交易,他需要决定哪一个交易被“接受”

节点客户端会运行一个虚拟机(VM),虚拟机会提供这个交易是否能够被接受的信息。

验证者选择一组不冲突的交易,将这些交易标记,试图让网络接受这些交易。

任何询问这个验证者的节点都会收到这个节点最新标记的交易信息,也就是这个节点的决策。

这个验证者节点从整个验证者列表里面(这个选择可能是根据质押数量的)选择 K 个节点,询问他们接受的交易是哪些。

每一个被询问的节点都提供他们选择接受的交易的信息,验证者的投票结果不断被更新,并且逐渐确定对哪些交易被接受。

期间,其他节点也会从验证者集中随机选择其他验证者,并询问他们选择的交易,并更新自己的决策。

这件事情会在至少 M 轮里面不断持续,或者直到这些交易已经足够确定,达到了一定的可信度。否则还会继续进行,每个节点随机选择 K 个其他节点做问询。

一旦达到确定的门槛,交易就被锁定并且可以认为是最终确认了。

如果“被接受”,这个交易就会被送到虚拟机中被处理。如果被拒绝,那么这个交易就从共识过程中被移除。

匿名团队火箭队的白皮书显示,通过设定正确的参数设置,使用 Avalanche 共识的过程可以有一个参数化的概率,网络将做出相同的决策。概率的确定性

科学家需要确定其模型的确定性。在描述系统或流程时可以说“这绝对是事实,毫无疑问”。经典共识协议致力于完成这样的田园风格的模型,但是在现实世界中没有什么是确定的。在经典共识协议中假设有 100 个节点,有 33 % 的节点同时脱机或者某个人通过社交接管了其中的 33 台,并试图将其意志强加到网络上。还有一种可能性,就好像房间里的氧气分子突然全部跑到房间的一侧,然后另一侧的人就窒息了,这个理论上来讲也不是非零的可能性。但是概率太低了,没有人会担心。

中本聪共识不断向世界证明概率性确定是可以接受的,只要安全性上失败的可能性就如同天文数字那样遥远,现在比特币让全世界都认为这是可以接受的。这相比于运营商级SLA的五个九(99.999%)要好多了。

通过接受相同的微小误差范围,Avalanche 在具有正确参数的模型中每 20,000 年会有一次误差。互联网基础设施的老化可能会导致大规模的网络终端。正是这一关键的见解帮助火箭队为新的共识机制铺平了道路。

Avalanche 所带来的可扩展、去中心化的未来

经典拜占庭容错协议展示了在即使有恶意参与方的情况下网络还是能够达成共识的可能性。中本聪共识展示了概率性协议在实际应用中也是安全的,并且能够提供前所未有的去中心化和强健性。

Avalanche 吸收了上述协议的启发,并将他们的优势集合在一个新的协议中,你可以同时拥有中本聪共识和经典共识协议的优势,而无需面临任何一者的劣势。

通过让验证者随机选择其他验证者以询问他们的偏好,Avalanche 的参与者对网络中所有节点共享的正确决策有足够的置信度。有了足够的置信度,就可以立即最终决定。这个过程发生得如此之快,以至于 Avalanche 的能力过程和主要的支付系统都可以与主流的支付系统相媲美。

(完)

关于 Avalanche

Avalanche 是由康奈尔大学教授、IC3 联合创始人 Emin Gün Sirer、计算机学者 Kevin Sekniqi Facebook Libra 协议 HotStuff 共识第一作者 Ted Yin 共同创立。AVA Labs 主导开发的 Avalanche 区块链平台基于革命性的共识算法——Avalanche 构建的数字支付和计算平台。该共识使分布式账本可以保证去中心化、高并发处理和交易的快速确认,同时实现历史记录删减和链上治理。

Emin Gün Sirer 教授是密码学界的先驱 + 大神,在分布式系统领域有大量的研究成果,他所开发的虚拟货币系统 Karma 是首个采用 PoW 机制的货币系统,比中本聪发表的比特币白皮书早了七年。

Avalanche 于 2019 年获得 Andreessen Horowitz、Polychain、Coinbase 前 CTO Balaji Srinivasan、Metastable、 Initialized 和 Abstract Ventures 的创始人 Ramtin Naimi 等机构和投资人的投资,于 2020 年 3 月开源代码。Avalanche 于 2020 年 5 月完成 1200 万美元私募轮融资,由 Galaxy Digital、比特大陆,Initialized Capital,NGC Ventures,Dragongly Capital 五家机构领投,Continue Capital、Fundamental Labs、SNZ、IOSG Venture、优币等机构和个人也参与了本次投资。Avalanche 预计于今年八月上线主网。

展开阅读全文

篇2:什么是共识机制?

全文共 1005 字

+ 加入清单

OK区块链60讲第15集:什么是共识机制文字版:

今天我们要讲的内容是:“什么是共识机制”?

我们上节课讲过,分布式网络必须要解决的一个至关重要的问题,就是“拜占庭将军问题”,而区块链作为分布式网络中的典型代表,则采用了一系列新型的技术,来解决这个问题,这个技术就是共识机制。

简单来说,共识机制就是一种每个节点都必须遵守的规则。它同样是区块链的四大核心技术之一。共识机制在区块链网络中主要起到了协调全节点账目保持一致的作用。

为什么这么说?我们都知道区块链是去中心化的,基于分布式账本技术,每个人都可以自由地加入进来,成为其中的一个节点。但想一想,绝对的自由,必然会带来绝对的混乱,如果每个人都自由地在网络中处理数据,整个网络会发生什么样的情况?

比如,我作为一个节点加入进来,这个时候网络中产生了一笔数据,我是以方式A处理的,而另一个人是以方式B处理的,我们的处理方式不同,权限又都平等,那到底用谁处理的数据呢?一旦我们两个无法达成共识,整个网络就很容易发生分歧,产生混乱。

此外,在这种环境下,我和其他节点相互不认识,又没有一个中心化的权威机构来做担保,我怎么确定其他节点处理的数据没问题?

所以说,在去中心化的环境下,没有一个比较中心化的节点能做决策,协助网络运行,网络就很难在自由的环境下,自主运行。

为了解决这个问题,中本聪就想了个办法:虽然整个网络中没有一个中心化的节点能做决策,但是我可以设立一套规则,让这个规则成为一个中心化的机制,每个节点必须遵守,帮助网络自主运行,就好比法律约束社会的每个人一样。

这个规则内容要包含两点,第一是解决分布式账本中,每个节点怎么记账的问题;第二是解决不同节点间,如何交换信息、达成共识的问题。

具体是依赖某种方式,确定谁取得区块链中的记账权,谁取得了记账权,整个网络就用谁处理好的数据,并且这个人还可以获取打包区块的奖励,此外,谁如果意图危害网络,也会获得一定的惩罚。

这样就能在一个没有中心化节点存在的情况下,既能让每个节点比较统一地做一件事,又能保证每个节点的小数据库之间数据一致。从而令分布式网络,比较有序地去运行。

总的来说,共识机制就是一种制度,能够约束去中心化网络中的每一个分散的节点,维护系统的运作顺序与公平性,使每一个互不相干的节点能够验证、确认网络中的数据,进而产生信任,达成共识。

如果把区块链当成一个社会,那么共识机制就是这个世界中的法律,人人都得遵守,不仅解决了信任的问题,更维护着整个区块链社会的正常运行。

展开阅读全文

篇3:号称“区块链的灵魂”的共识机制是什么?

全文共 1574 字

+ 加入清单

当你开始涉猎区块链或加密货币时,似乎经常会遇到 PoW、PoS 等烧脑名词。今天,我们就来聊聊,什么是 PoW、PoS、DPoS。

PoW、PoS、DPoS,用一句话概括,就是区块链的三种主流共识机制

而区块链,通俗地说,是一个去中心化的账本。只是这个账本与传统账本不同,不是由会计或少数几个人来记账,而是人人都可以参与记账。

而且,这个记账需要一个大家都认可的规则,即“怎样记账才是有效”,而这个大家认可的规则就是区块链的共识机制。

比如,你们一大家人计划去国外旅游,通过商议后,选了泰国,那么到泰国去旅游就是你们家形成的共识。而商议的方式,是少数服从多数,而少数服从多数就是你们家确定旅游目的地的共识机制。

同样,PoW、PoS、DPoS,分别代表区块链网络的三种主要记账规则,它们的作用非常大,直接关系到记账权和相关收益的分配。不夸张地说,共识机制是区块链的灵魂

01 PoW(Proof-of-Work)工作量证明机制

工作量证明,简单来说 ,就是一份用来确认你做过一定量工作的证明。它就像你的大学毕业证,证明了你确实有四年大学的学习经历。工作量证明机制,就是用工作量结果来证明贡献大小,再根据贡献大小确定记账权和奖励。

这个证明过程,是依赖计算机进行数学运算进行的。可以理解为:大家都去解答同一个题目,谁先算出来,谁就负责记账,并得到相应报酬,这个报酬就是网络产生的数字货币。

比如,在比特币的网络系统里,谁先解题出来,谁就先得到比特币作为奖赏。

PoW 的优点是,完全去中心化,公平公正,不需要中心化的管理机构,用户(即节点)之间实现了公平竞争,谁先解出题目,谁就获得相应收益。

其主要缺点是浪费能源。大家一起算题目,都要耗费算力,而最终有效的只有一个用户所做的功,其他人做的都是无用功。

而计算机是靠电力来带动的,大家一起用计算机算题,其实也耗费了大量电力资源。比如比特币就是采用 PoW 共识机制,每年需要消耗价值几十亿美元的电力,一直遭人诟病。

02 PoS(Proof-of-Stake)权益证明机制

权益证明机制,即拥有越多股权,就可以获得更多奖励。这里的股权是指你持有的数字货币的数量和时间,根据它来分配权益,类似股票的分红制度。

你持有的币越多,持有的时间越长,即币龄(币龄=持币数*持币时间)越大,就能拿到越多的分红,也就有更大的记账权利。

PoS的优点有三个:

一是耗能少,不需要像工作量证明机制一样,耗费大量的能源。

二是作恶成本高昂,想要攻击网络的话,必须要有51%的币龄,这个难度就很大了,不但需要大量的币,还要持有足够长的时间;

三是达成共识的时间短,网络环境好的话,可实现毫秒级速度。

PoS 的缺点有两个,一是持币趋于集中化,因为持有的币越多,时间越长,分配的收益越大,获得的币越多,使币过于集中;另一个是流动性变差,持币有收益分配,就没有动力去套现,会屯币不动,开启躺赚模式,导致币的流动性变差。

03 DPoS委托权益证明机制

DPoS 委托权益证明机制,是在 PoS 基础上优化而来的,通过投票选举的方式,选出生产者,代表他们履行权利和义务,而不是用算力来决定。

如果生产者不称职,随时可能会被投票出局。投票的权重和分配的收益,都是按照持有的加密货币数量占总量的百分比来计算的,51%的股东的投票结果是不可逆且有约束力的。

DPoS 和股份制公司类似,普通的股民不能进董事会,要通过投票选举代表来组成董事会,用每个人手上的数字货币计算权重,再根据权重投票选举出能代表他们权益的人,代理记账。

DPoS 的优点是,记账节点数量少,协作高效,记账效率高。其缺点是减弱了去中心化的程度,由选出的代表进行记账,存在一定的中心化控制。

04 结语

目前,还没有任何一种共识机制是完美的,都有各自的短板。随着区块链技术地不断发展,共识机制也会不断优化,未来可期。

展开阅读全文

篇4:Filecoin的共识机制是什么?

全文共 643 字

+ 加入清单

作为一个以“去中心化存储”为核心目标的技术,IPFS最重要的功能、能提供给用户最好的服务就是存储。作为IPFS激励层的区块链Filecoin,自然也要把“存储”作为重中之重的共识

Filecoin的共识机制是预期共识,共识机制中最重要的证明系统是复制证明与时空证明。

在给矿工激励时,更多考察对方是否能够完成“存储”这一行为。存储能力越强的矿工,就越大几率获得生成区块的权利。考核标准有两个:1.矿工能够有足够的空间,容纳客户原始数据的物理唯一副本;2矿工能够长期、稳定、有效进行.数据存储。

实现第一个考核标准的共识机制是复制证明(Proof-of-Replication),缩写为PoReP。

矿工所有用矿机中专用于IPFS系统的存储空间,称为“扇区”,用于存储客户的数据。把数据填充该扇区后,将其密封。密封就是让这个扇区成为原始数据的唯一副本。矿工然后将副本的加密哈希提交到公共 Filecoin 区块链。

这是为了防止矿工偷工减料。比如一个数据同时分配给A、B、C三个矿机,但是A、B矿机属于同一个矿工,矿工为了减少麻烦就只存一份,谎称自己存了两份。

而使用PoReP,加密哈希能够辨别出这三份数据真的存储在三个分别的矿机里。

实现第二个考核标准的共识机制是时空证明(Proof-of-Spacetime),缩写为PoSt。

PoSt要求随机选择的矿工,为他们维护的随机选择的存储扇区提供 PoRep。矿工必须在严格的时限内应对这一挑战。确保矿工时刻保持对密封区域随时访问的能力和数据完整性。

展开阅读全文

篇5:Blockstack为新的比特币链接的共识机制开放Testnet

全文共 1275 字

+ 加入清单

Blockstack打算让人们试着其新的共识机制

星期四宣布,Blockstack测试网已经开放。开发人员现在可以模拟Stacks区块链的新混合共识机制,Blockstack称作迁移证明(PoX)。

正常情况下运行的区块链是Blockstack促进新型去中心化互联网的能力的关键,这个功能使用户能够 更好地调节其数据信息,并使内容核查变得更加困难。

这种新的共识机制的关键创新:它使用比特币。除了定期将Stacks区块链的哈希值存储在比特币上之外,区块链中的许多节点参与者还将获得BTC的奖励,BTC是比Stacks原生代币STX奖励更可靠的价值来源。

BlockstackPBC首席执行官MuneebAli在一份声明中说:“成功开展传输证明的试用将表明,可行的第三种选择是依靠比特币作为Web3前进的基础。”“这事实上将为BTC建立一个新的用例。”

回顾一下,PoX使用矿工和堆垛机。矿工记录交易,就像比特币或以太坊区块链上的矿工一样,并且堆栈器会保留区块链的副本,同时发出要挖的分叉的信号。矿工从通货膨胀中赚取新的STX,他们付费参加BTC。BTC被分发给必须向STX放样的堆垛机。

最初将比特币并入是一种将安全性与全部安全性最高的加密网络联系在一起的方式,并为更多用户出示了积极参与的更好动力。随着设计的发展,团队开始看见大量的可能性。

在给CoinDesk的电子邮件中,阿里说:

“用户能够 在Stacks链上开展数千笔交易,而比特币链只可以看见Stacks区块的哈希值。当您开始探索这些链之间的资产或加密货币的潜在移动时,它变得越来越有趣,例如,比特币被锁定在比特币链和正在使用……在堆栈上。该领域目前处于研发阶段,但我们对这种可能性感到非常兴奋。”

我们用Keep建造的比特币和以太坊之间的桥梁覆盖了一个类似的项目。

测试网

测试网络上的全部BTC和STX都将被模拟,可是开发人员有明确的理由参加。Blockstack计划了一系列的漏洞赏金计划,涉及从安全到智能合约功能的全部内容。

利用参加测试网,开发人员能够 协助Blockstack发现问题并获得奖励。

关于堆栈共识设计的一些注意事项,将在此处开展测试:

由于过失行为而失去抵押密码的通常威胁不是Stacks区块链上“堆栈”节点设计的一部分。

已实现Tezos样式的委派,因此用户无需运行节点即可参加。

根据参加级别,运行节点所需的STX阈值已降低并且将是动态的。Blockstack并没有得出实际的数字,可是当我们上一次介绍Blockstack2.0时,它是100,000STX。

该测试网将为智能合约开发人员出示一个机遇,以试用Blockstack的新编程语言Clarity,该语言也将在此处开展预览。

针对新网络而言,测试网可能是促进开发人员选用的重要机遇。ElectricCapital去年的一份报告显示信息,精心设计的测试网一直是使大量开发人员对新的公共区块链感兴趣的最好工具之一。

Stacks区块链于2018年末首次启动。Blockstack期待今年夏天主网发布其新的共识机制Blockstack2.0。

展开阅读全文

篇6:硬核丨如何改进 BFT 共识算法?

全文共 2151 字

+ 加入清单

通信复杂度问题

PBFT是基于三阶段投票即可达成共识的协议。prepare和commit阶段中,都需要每个节点广播自己的prepare或commit消息,因此通信复杂度是。

view change过程中,需要所有的副本节点发现主节点time out,每个副本节点会广播view change消息,所有副本节点对view change达成共识后,新的主节点会把这个消息广播出去宣布view change。由于view change消息是P2P广播,且每个view change消息中都包含达到prepared状态的请求,因此view change的验证复杂度是。

高达的复杂度无疑给PBFT的共识效率带来了严重的影响,极大地制约了PBFT的可扩展性。

BFT协议的优化

那么如何把的通信复杂度降到,提高共识效率,是BFT共识协议在区块链场景中面临的挑战。针对BFT共识效率的优化方法,共有以下几类:

1. 聚合签名

E.Kokoris-Kogias等在其论文中提出了在共识机制中使用聚合签名的方法。论文中提到的ByzCoin[4]以数字签名方式替代原有PBFT使用的MAC将通信延迟从降低至,使用聚合签名方式将通信复杂度进一步降低至。但ByzCoin在主节点作恶或33%容错等方面仍有局限。

之后一些公链项目基于这种思想,采用EC-Schnorr多签算法提高PBFT过程中prepare和commit阶段的消息传递效率。

2. 通信机制优化

PBFT使用多对多(all-to-all)的消息模式,因此需要的通信复杂度。

SBFT(Scale optimized PBFT)[5]提出了一个使用收集器(collector)的线性通信模式。这种模式下不再将消息发给每一个副本节点,而是发给收集器,然后再由收集器广播给所有副本节点,同时通过使用门限签名(threshold signatures)可以将消息长度从线性降低到常数,从而总的开销降低到。

Tendermint[6]使用gossip通信机制,乐观情况下可以将通信复杂度降低到。

3. view-change流程优化

所有的BFT协议都通过view-change来更换主节点。PBFT,SBFT等协议具有独立的view-change流程,当主节点出问题后才触发。而在Tendermint、HostStuff[7]等协议中没有显示的view-change流程,view-change流程合入正常流程中,因此提高了view-change的效率,将view-change的通信复杂度降低。

Tendermint将roundchange(和viewchange类似)合入正常流程中,因此roundchange和正常的区块消息commit流程一样,不像PBFT一样有单独的viewchange流程,因此通信复杂度也就降为。

HotStuff参考Tendermint,也将视图切换流程和正常流程进行合并,即不再有单独的视图切换流程。通过引入二阶段投票锁定区块,并采用leader节点集合BLS聚合签名的方式,将视图切换的通信复杂度降低到了。

4. 链式BFT

传统BFT需要对每个区块进行两轮共识,的通信复杂度可以让区块达到prepareQC,但是必须要的通信复杂度才能让区块达到commitQC。

Hotstuff将传统BFT的两轮的同步BFT改为三轮的链式BFT,没有明确的prepare,commit共识阶段,每个区块只需要进行一轮QC,后一个区块的prepare阶段为前一个区块的pre-commit阶段,后一个区块的pre-commit阶段为前一个区块的commit阶段。每次出块的时候都只需要的通信复杂度,通过两轮的通信复杂度,达到了之前的效果。

5. 流水线(Pipelining)和并行处理(Concurrency)

PBFT、Tendermint等协议具有即时确定(Instant Finality)的特性,几乎不可能出现分叉。在PBFT中,每个区块被确认后才能出下一个区块,Tendermint还提出区块锁定的概念,进一步确保了区块的即时确定性,即在某个round阶段,节点对区块消息投了pre-commit票,则在下一个round中,该节点也只能给该区块消息投pre-commit票,除非收到新proposer的针对某个区块消息的解锁证明。

这类BFT共识协议本质上是一个同步系统,将区块的生产和确认紧密耦合,一个区块确认后才能生产下一个区块,需要在块与块间等待最大的可能网络延迟,共识效率受到很大的限制。

HotStuff的Pipelining方法将区块的生产和确认分离,每个区块的最终确认需要后两个区块达到QC,也就意味着上一个区块没有完全确认(需要满足Three-Chain)的情况下可以生产下一个区块。这种方式实际上还是一个半同步系统,每个区块的产生还是需要等上一个区块达到QC。

EOS[8]的BFT-DPoS共识协议可认为是一种完全并行的Pipelining方案:每个区块生产后立即全网广播,区块生产者一边等待0.5秒生产下一个区块,一边接收其他见证人对于上一个区块的确认结果,使用BFT协议达成共识,新区块的生产和旧区块确认的接收同时进行,这极大地优化了出块效率。

(未完待续)

展开阅读全文

篇7:一文详解Polkadot的三种共识

全文共 4012 字

+ 加入清单

Polkadot共识主要有三种:NPOS, BABE, GRANDPA

接下来我们对这三种共识进行逐一的解释

NPOS

什么是NPOS共识

在Polkadot 中,中继链上的验证者需要分配到各个平行链,为它们提供区块链验证能力,是 Polkadot 共享安全性的一部分,因此中继链的验证者对于整个Polkadot多链系统的安全性至关重要。

如何公平安全地选举出中继链上的验证者也就成了保障整个系统共享安全性的第一步,是不可或缺的一步。

NPOS( Nominated Proof of Stake)共识算法就是用来选举出能让系统更安全,更高效的验证者集合的。和传统意义上的POS共识相比,NPOS算法结合了Polkadot链自身架构的一些特点,进行相应的优化。

下面看看NPOS是如何进行工作的。

在说明NPOS之前,我们需要先回顾一下Polkadot中重要的两种角色。

▲ 验证人

中继链的全节点,中继链会在验证人池中通过随机分组把验证人指定给不同的平行链。验证人会接受来自收集人打包的区块并进行有效性验证,然后结合共识算法对收集人提交的区块进行确认。

▲ 提名人

PolkaDOT中数字货币DOT的持有人,它会选择自己所信任的验证人进行DOT质押,然后分享验证人的收益。

Polkadot的选举模型是建立在这两种角色基础上的。要成为验证人,必须先成为验证人候选人参加选举的过程,而这个选举过程中的“选民”就是提名人。

在Polkadot的设计中,提名人数量在理论是可以不设置上限的,如果能够让更多的提名者参与到投票阶段,那么参与到选举的资金量也就越大,整个系统就更加的安全;而对于验证者来说,为了区块链的性能,不能太多(所有节点都能作为验证者的话,那就是比特币采用的模式了),验证者的数量由系统确定的固定值,这一点来说和POS共识是一致的。

选举模型

为了明确选举问题,Polkadot中将选举验证者集合的问题抽象为一个数学的选举问题:

▲ 问题:m 个选民对 n 个候选者的情况下,选出最终的 t 为当选者

(注:提名人可以有任意个,验证者是有限个)

问题的描述很简单,但是如何做到让系统更安全,会有不同的策略。Polkadot的设计哲学中,认为选举策略需要满足下面的“三大原则”:

Balance: 验证者在出块时候的比重相同,因此该策略在Stake分配需要尽量平均,保证网络的安全;

Support: 该策略需要让尽可能多的 Stake 资金参与进来。因为提名者只负责选投哪些候选者,但是对于的 Stake具体分配给多少到哪个验证者是没有决定权的,这部分是NPOS算法通过计算来决定的。这也是NPOS和普通的POS共识中很大的不同之处;

Fair representation: Stake 多的提名者选投的验证人更可能出现在验证者集合中。

基于上述的问题和要求,可以将该问题转化为下面的数学模型:输入:给定,其中是Nominator集合,是Validator候选者集合,是边的集合,表示提名者投了候选者一票。同时给定向量 ,表示各个提名者各自的Stake数量,是选出的最终验证者集合的大小。输出:给定解,其中是最终选定的Validator,大小为,是提名者分配多少 Stake 到最终的Validator。限制条件:

Balance: 给定,能够给出一个,使得最小

Support: 给定,能够给出一个,使得最大Fair representation: proportional justified representation(PJR)规则任意一个 ,都不会存在一个提名者的子集,导致出现下面的情况:

用较为通俗的话来说就是不允许出现:存在某些中的提名者的stake 超过了总的staking的的比重,并且他们支持的人选有交集的超过个,但是他们支持的Validator的数量入选却没有超过个。上述的问题在数学上就是一个最优化问题,很可惜这个选举在数学上已经被证明是 NP完全问题,并不能在多项式时间内给出最优解。所以Polkadot给出了自己的一套解决方案,来绕过这个难解问题。NPOS流程上述推导的数学模型中,由于是NP完全问题,也就是说给出最优解的计算时间复杂度是无法确定在多项式时间内的。Polkadot给出了一个相对来说可行的方案。不追求最优解,达到相对最优即可NP完全问题中给出可行解是很困难的,但是验证已有解是简单的,能在多项式时间内完全。所以验证可行解的部分放在链上进行。▲完整的流程如下:

在提名者给出自己的投票之后,每一个候选者都可以给出自己对于上述选举问题的一个可行解。

在上述这些可行解的集合中,利用链上的方案比较方案,按照之前的“三大原则”来比较这些方案,选取其中最优的方案最为最后验证人选举结果,这样就完成了一轮选举。

BABE

BABE的全称是Blind Assignment for Blockchain Extension,BABE是一个用来出块的引擎,类似于Ourobros Praos,一种PoS的协议。BABE算法是基于slots的。

在Polkadot中每一个slot差不多6秒长的时间。

每个slot时间段中BABE会选出一个leader来出块。

BABE中leader的选举是通过一个随机函数(VRF)来实现的,在每个slot阶段,每一个节点会通过运算VRF函数来获得一个数值,如果这个数值小于网络中预先规定好的阈值,那么节点就会认为自己就是这个时间段的leader,于是节点就开始出块了。

值得注意的是在上述的过程中,由于VRF函数是随机生成数字的,所以可能造成在某一slot中没有leader或者有多个节点算出自己的VRF值小于阈值进而产生多个leader的情况。我们依次分析两种情况:

当没有leader产生时,Polkadot就规定按照顺序来决定谁是leader,这个顺序是预先确定好的。

当出现多个leader的时候,Polkadot允许多个节点都提交区块,而最终区块的确认则由GRANDPA来决定。

GRANDPA

GRANDPA则是用来做区块确认的,在文章的第二部分我们有提到BABE将会对Polkadot的交易进行出块,那么这些出块最终就是由GRANDPA来确定的。

像其他PBFT的衍生算法一样,GRANDPA的时间复杂度也是O(n²)。但是Polkadot之所以采用GRANDPA是因为GRANDPA并不是每次只确认一个区块,它每一次都会确定好几个区块来做确认。

Idle (24 peers), best: #664257 (0x706c…76b7), finalized #664253 (0xe4ab…4d2a)Imported #664258 (0xee71…6321)Idle (24 peers), best: #664258 (0xee71…6321), finalized #664256 (0x809a…a5d8)

上面是Polkadot测试网络的一段日志,可以看到一次确认区块高度从664253到了664256,所以GRANDPA一次性确认了三个区块。这样的话跟一次性只确认一个相比,GRANDPA的效率要比其他PBFT的衍生算法要高出很多。

▲ 下面介绍一下GRANDPA的具体流程:

1. 一个主节点广播之前一轮确认后的区块高度;

2. 等待网络延迟以后,每个节点都广播他们认为的可以被确认的最高的区块(pre-vote);

3. 每个节点对步骤2接受到的区块集进行计算,算出他们认为的能够被确认的最高区块,并且将结果广播出去(pre-commit);

4. 当节点接收到足够的pre-commit的消息能够确认区块后就会形成commit的消息,一般认为大于2/3就可以被确认了。

上述就是GRANDPA确认区块的主要流程。

我们需要担心的是在步骤2的pre-vote过程中可能会有作恶的节点投票了两个区块并且广播出去,这样的话就有可能产生链的分叉行为。 Polkadot为了防止这种情况的发生使用了一个叫做Account Safety的方式。

如果当网络中出现了要分叉的commit信息时,Polkadot的节点会马上采取Account Safety的机制。每个节点都会询问其他节点他们所看到的pre-vote的情况,节点都会回复他们收到的信息,这样就很容易检查到有哪些恶意节点投了两个区块。最后这些被抓到的作恶节点将会被踢出共识网络,永远不能进入。

让我们回到BABE,通过结合BABE和GRANDPA我们可以看到在出块的时候Polkadot采用BABE出块,此时节点之间只要发送一次块信息即可,这样的话时间复杂度仅仅是O(n),在出块之后节点之间再采用GRANDPA进行块确认,此时由于确认阶段节点之间要通过二次确认来保证确认块结果的一致性,时间复杂度是O(n²),不过由于是多个块一次性进行确认,所以两者结合的混合共识是非常高效的,比普通的PBFT共识要高效很多。

结语

上面三种就是我们向大家介绍的Polkadot的共识算法,可以看到NPOS主要是为了选取Polkadot的共识节点,BABE和GRANDPA通过混合来高效的进行区块链的出块和确认。

这样的混合共识比传统的PBFT共识速度更快,并且在速度更快的基础上并没有丢失掉安全性。将出块和确认区块两个阶段分开并且使用不同的算法是在区块链共识中值得学习的地方。

通过这三种算法,Polkadot可以说在一定程度上高效的实现了Polkadot上区块链的共识算法。

参考文献:

[1] Ouroboros Praos: An adaptively-secure, semi-synchronous proof-of-stake blockchain Bernardo David , Peter Gaˇzi , Aggelos Kiayias November 14, 2017

展开阅读全文

篇8:“韭菜的共识也可以是共识” 莱特币对比特币来说有什么价值?

全文共 1032 字

+ 加入清单

比特币是去中心化数字货币的典型,是区块链应用的关键应用领域之一,具有去中心化、总产量有限、买卖安全性、信息公示的超前时期特征。比特币取代信用货币的较大阻碍更是去中心化的特点,它挑战了当今以国家信用为基础的全世界货币发行体制和核心理念,在我国政府部门对虚拟货币交易主题活动的管控逐渐趋紧。在了解到数字货币自身的风险性之后,人们不可以否认区块链应用的创新能力和发展前景。

如今讨论的是数字货币离真实的落地式还十分漫长,因此人们从一个独特视角来讨论,那就是莱特币对于比特币的价值

2018年是莱特币最惨的一年。

2017年末,莱特币随着大盘涨至369美元最高点,随后一路下跌到年末的22美元。李启威在巅峰时刻三次高位清仓莱特币,也因此获得了“逃顶之王”的称号。

接踵而来的是长达一年的质疑:莱特币开发缓慢,编码升级频率低。各种各样的山寨币问世,莱特币实际需求减少。

转机发生在2019年。包含减半和引入MimbleWimble隐私协议等利好在内,莱特币的币价从22美元开始飙升,最高触到122美元高位,如今则一直停滞在106美元左右,领先了一众主流币,上演了一次绝地大反击,变成群众关心的重点。这也体现出加密货币欠缺现金流量和实体线产业链支撑点,价值不确立,投机性强。价格因素成为了吸引群众的关键要素。

莱特币圆餐桌社区论坛副主席PZ称莱特币作用特点不凸出,但它历经了8年磨练,安全系数很好。实际上,没有社区的新项目是不易发展的,高涨是更大共识的反映。而共识背后能够分解为技术性、安全性、平稳、要求等。相比而言,创造了POS的PPC消退了,很大程度上是社区欠缺团队的凝聚力。COINBIG交易中心CEO一针见血:“共识度提高,接受程度广,那它就是有价值的。”

李笑来说:“韭菜的共识也可以是共识。”在加密货币发展的初期,对于一种加密货币来说,价格和社区在某种意义上是看它能不能穿越牛市。实质上财富效应决策了加密货币是不是具备“共识”。

莱特币相对于比特币的差别一般被觉得是它的优点,证实了莱特币的互联网价值。

优点包括:

(1)提升了货运量和减少了确定的时间

(2)低价买卖

(3)热衷于检测和实行新作用

(4)与比特币的兼容模式及其运用比特币产品研发結果的工作能力。

莱特币在数据加密生态体系中的经久不衰通常被误以为是其价值的基础标示。莱特币被看作虚拟货币界的白银,就如同虚拟货币金子是比特币一样,做为价值储存来看,也被觉得是比特币的测试网和最好的数据加密互换媒体,其互联网总市值约35亿美元。

展开阅读全文

篇9:区块链上的共识机制到底是什么意思?如何加以改善?

全文共 862 字

+ 加入清单

区块链上的共识机制是什么?如今的区块链早已进入到火热投资的阶段,所以许多的企业都已经开始利用区块链技术,但是你是否知道区块链上的共识机制到底是什么意思?在平时使用过程中能够发挥出实际的效果吗?下面内容就为大家详细的介绍一下,很多人会发现,这其实就是一种很明显的差异化表现,也同样拥有着一致性和有效性。

1、区块链上的共识机制是什么意思

首先我们可以看一下每一个人,其实差异不仅仅是在外貌上,同样也体现在个人的能力,或者是个人的兴趣,以及文化观点等众多的方面。简而言之,协商一致是根据某一个特定的方面所达成的协议,因此区块链上的共识机制也是为了有效解决区块链统一性的问题,但是也需要满足于两个属性,首先就应该满足于一致性,另外也需要满足于有效性,因此后期在使用过程中就有着更好的效果。

2、区块链上的共识机制需要如何加以改善

在当前的分布式系统中,同样也需要通过异步通信的方式来形成一个不同的网络群体,能够保证每一个主机都具有一致性,由于错误的消息很有可能就会出现不断传播的现象。那么首先就应该保证每一个主机都拥有安全可靠的一致性,这是必要的一点,在相互不信任的市场环境中,首先就应该考虑到自身利益的最大化,然后就可以判断每一个记录的真实性,最终就可以确定的记录在区块链中。换句话说,如果节点之间有相互竞争,也根本就不可能会欺骗到投资者。

另外区块链是否拥有一致性的机制,这一点也非常的重要,会导致整个性能产生不同的影响,首先还是要从不同的方面来考虑区块链上的共识机制技术水平分别是安全性还有可扩展性。安全性是指能不能够预防二次支付,是否拥有更好的容错能力,可扩展性主要是看是否能够支持网络节点的扩展,是否可以按照对象的不同来分成完全不一样的部分。

区块链上的共识机制,简单来说,拥有着不一样的属性,也是为了能有效解决当前统一性的问题,但是到底怎么样才能够加以改善呢?首先还需要从安全性方面还有容错方面来考虑,如果说节点之间确实有竞争,这也无可厚非,但是因为能够有效的判断每一个记录的真实性,所以就算有相互的竞争,也同样不会影响到投资者。

展开阅读全文

篇10:一文读懂跨链的核心技术点:共识穿透

全文共 1601 字

+ 加入清单

CHAINX PCX

我们先来认识共识。“共识”,其汉语解释为共同的认识。相互没有联系的彼此,对一个特定问题持有共同的看法,除了因为一些不可控的道德、价值等方面的共识,规则的作用是非常重要的。

区块链的共识机制

共识机制,就是游戏的规则,社会的法律,是人们共同采用的达成和维护共识的方式,也就是所有人都认可并遵守的规则,这也是区块链的灵魂所在。

区块链最早的共识是 Bitcoin 的 POW,这是挑战 dificulty,谁最先产生合适的 nonce。POW:proof of work, 翻译过来是工作量证明,即用一定量的工作量来换取记账权利,在比特币中,就是计算一个数学难题,谁先算出来并广播出来,谁就有权利记账。

区块链时代的拜占庭容错:Tendermint

因为 POW 共识有巨大的能源浪费,效率低的缺点,大家就开始实现类 BFT 共识, 最知名的是 Tendermint。

Tendermint 开源项目诞生于 2014 年,旨在解决比特币的工作证明共识算法的速度,可扩展性和环境问题。通过使用和改进 1988 年在麻省理工学院开发的经过验证的 BFT 算法,Tendermint 团队是第一个在概念上展示股权证明加密货币的公司,它解决了第一代股权证明加密货币所遭受的无关紧要问题。正因为它的名气,才成就了后面的 Cosmos。

区块链时代的进阶:BFT-DPoS

又因为类 BFT 共识有多方网络交互,带来的网络压力和性能导致区块链上层应用无法拓展。接着就出来了 EOS 的 DPOS, 这个共识在类 BFT 上用“时间换空间”来提升效率,大家轮流出块,用大家出块了的 BFT 签名来统计 BFT 确认,当然这个,至今没有论文证明这符合严格的拜占庭协议。

ChainX 1.0 在线跑的共识,就是这类共识, 用时间换空间,每个 Epoch 中大家轮流出块,统计在该 Epoch 后的某个块高度,出块人大于 2/3 签名,视该 Epoch 为确认。

因为没有严格的 BFT 论文验证, 该共识虽然在性能上已经是单共识中最快的模式。但 ChainX 2.0 还是舍弃了该共识,升级为 Polkadot 的共识。

Polkadot 的共识

Polkadot 共识是 babe + grandpa 的组合, babe 负责出块,grandpa 负责 BFT 确认。

babe 共识又是 aura +vrf 随机的组合。primary slot 走的是 vrf 路线, second slot 走的是 aura 路线。当出块人 vrf 签名挑战 primary threhold 成功,出的是 primary slot,否则出的是 second slot。

当然, 在算最长链时, primary(vrf 随机验证通过)产生的 slot 权重要高于 second(aura)产生的 slot。

grandpa 共识负责 BFT 确认, 因为 BFT 网络通信的压力, 我们把 grandpa 和出块分开, 这样导致 grandpa 共识完全不影响链的出块性能。

跨链的核心技术点:共识穿透

言归正传,我们讲回共识穿透。

我们先来给共识穿透下个定义, 共识穿透是指两条不同共识的区块链,如何从共识层打通,让两条链互联有无,最终实现共识跨链。

共识穿透有两种路径

1.从点对点网络层 着手,直接和共识交互。

2.从交易入手,通过交易输入到区块链共识。

共识穿透是选择 “出块”共识实施 还是在“确认块”共识实施较好, 当然是在“确认块”实施有意义, 因为跨链交互产生的区块或者交易信息,必须是确认的。

具体的如何去实操,实现共识跨链,想法很多,实现的方法也很多,至于如何更好,需要更多的实践经验。

杭州链网科技在这块技术的研发有很长时间的积累。如果谁对这块技术感兴趣,或者有好的想法,也欢迎向 gavin@chainnet.tech 邮箱投稿或交流。

展开阅读全文

篇11:比特币“数字黄金”的共识遭到挑战

全文共 899 字

+ 加入清单

比特币是数字黄金共识也在这次下跌中受到了挑战

币圈大佬以前对比特币的估值推算都是参考黄金市值来估算的,比如咕噜说过的几年后市值达到黄金8万亿。或者有些大佬公开说的看好比特币以后100万美元一个等等。大家也都把比特币当成黄金来储存。

而这次面对突发大危机时,比特币数字黄金的共识瞬间被动摇了。因为黄金是公认的避险资产,而比特币价格被一夜腰斩,这还是数字黄金吗?

比特币是数字黄金这个共识,还有多少人确信无疑呢?

有币圈的投资者说:

18年跌到3000时大家都有信心,现在还没有到呢!

18年的情况和现在不同,那时大家相信比特币就是金融危机的诺亚方舟,那怕是熊市里大家对大牛市的到来也毫不怀疑。没想到真的来了金融危机,比特币居然率先崩盘。

信心去得快,恢复的也快,只是时候未到。数字黄金本来就没有任何理论支持,比特币是再典型不过的风险资产,比特币会再好起来的,不需要“数字黄金”这个概念支撑。

那么后面比特币的估值要参考什么呢?

最近几天比特币的走势完全看美股的脸色和美股展开了高度的联动,在目前的特殊时期,比特币的参考物变成了美股指数。

但有投资者认为比特币和股票市场没啥关系:

不然为什么比特币2017年涨了30倍,股市没有涨30倍,为什么2018币圈熊市,美股牛市?

因为,比特币原来的价值参考物是黄金,所以有小危机时一直和黄金有高度联动。这次大家发现大危机来临时,比特币是被首先抛售的金融资产,于是大家只能用美股来作为参考标的。

比特币现在再5000美元的位置太尴尬了!

6000上方主力砸盘出来的巨量资金,目前5000多这个位置是不会接回来的。而且在第一波暴跌到5500后大量的抄底盘建仓价在6000上面。这部分抄底套牢盘不会很快给你解套的。

上涨需要追涨资金,多头这几天被团灭后,短期多头已经没有资金再支持上涨了。

这波的胜利方做空资金,目前也只会持USDT观望,短期不会去追涨。只会看准时机落井下石再做空踩一脚。

抛开减半来看,目前5000就是大熊市,熊市没这么快能走出来,市场需要足够的时间来疗伤。

目前全球都在放水,比特币虚拟币数字资产这一块儿无国界无成本流通,所以一旦点火了,全球资金涌入,到时候史无前例的大牛市。

展开阅读全文

篇12:区块链的共识算法,实现了多种数字货币的运行

全文共 812 字

+ 加入清单

许多人对于区块链的协议和区块链的共识算法并不是特别的了解,无法区分区块链的协议和算法,那么究竟区块链的共识算法对于数字货币对于区块链技术而言具有怎样的意义呢?我们说区块链共识算法实现了多种数字货币的运行,究竟是具备一个怎样的原理呢?

1、区块链的共识算法是什么?

区块链技术要想要获得更好的发展,必须要保证其基层技术不断的改善,这样才能够不断的解决一些问题,使区块链技术越来越完善,越来越完整,那么区块链的共识算法是什么呢?我们所说的区块链的共识算法能够维持区块链技术的运行,究竟是什么意思呢?区块链共识算法与区块链的协议去进行,相比的话算法应该是比较基础的,它是支撑区块链这个系统的,所以说对于展示非常重要的只有加强其算法,才能够使区块链系统获得更好的发展区块链技术,虽然说是一个创新性的网络系统,但是这个网络系统还并不是特别的完善,所以只有不断的去强化它的基础,才能够使区块链系统真正的得到更好的发展。

2、区块链的共识算法分为哪几个不同的类型?

区块链共识算法是具有一定分类的,在不同类型的区块链系统当中,具有各自不同倾向性的共识算法,为了支撑不同的区块链系统的运行。其中包括有工作量证明,权益证明等各种不同类型的区块链共识算法具有各自不同的优势,当然也存在一些不足之处所以需要根据区块链技术所需要应用的领域,所要求的一些功能去进行分类,所以说去选择和使用区块链共识算法的时候,应该更具有针对性,再进行分类的时候,也需要真实地使用的情况,真实的运行的背景来去进行区分。

我们在分析区块链共识算法的时候,其实是不应该将区块链的协议和共识算法区分开来的,因为这是两种不同的定义,区块链的协议主要是一些实际方面的规定,就是区块链系统在运行过程当中的一些相关的限制,但是区块链共识算法却是一些基础性的东西,主要是进行的一些基础的设置,区块链的共识算法可以验证签名和资产,所以说基础性能是非常强的,可以保证更多进行与区块链技术相关的交易。

展开阅读全文

篇13:带你了解PoS 共识变体图鉴

全文共 3501 字

+ 加入清单

对于权益证明(PoS)大家已经很熟悉了,这篇文章中我们就来了解一下PoS都有哪些变体。

第一部分 — Proof-of-Stake

对于那些不太熟悉权益证明(PoS)的人,我们先来简单了解一下。

PoS通常被拿来与工作量证明(PoW)作比较,PoS根据网络验证器拥有的代币数量来进行激励。

PoS于2012年由Sunny King首次提出。该机制选择利益相关者来验证交易。在PoS中,通过抽签过程选择下一个区块的创建者。创建新块并添加到网络中将获得数字资产的奖励。在PoS中,staked代币的数量决定了网络的安全保障,而在PoW中,是靠算力保护网络。我们非常看好权益证明(PoS)加密货币的未来,因为我们相信它具有以下优点:

1.与PoW相比消耗更少:我们在各种PoS协议上运行几个staking节点,只需要几个安全的个安全的VPS就可以做到这一点,而PoW矿工的挖矿设备却需要好多。

2.代币持有者可以根据通货膨胀率赚取奖励/利息;这有助于建立社区,激励人们持有代币。

3.去中心化:根据协议采用的PoS类型,网络有可能达到完全去中心化,这是创建加密货币的初心。

接下来,将向您介绍各种PoS变体,详细介绍它们的工作原理,然后为您提供一个简单的概括表。为了简化起见,验证器指用于保护和验证网络上交易的节点,以赚取代币报酬。根据协议的不同,也可以称其为区块生产者、见证人或面包师。

第二部分——不同的PoS差异

Delegated Proof-of-Stake (DPoS)

DPoS通常通过选举系统工作,在选举系统中会授权固定数量的验证器来保护网络安全。作为代币持有者,您可以投票决定谁将验证网络上的交易,投票权取决于您的质押份额。得票最多的验证器可以成为委托人,验证交易并获得奖励。

DPoS已经在Lisk、Tron、Steem、Bitshares甚至EOS等协议上实现,EOS是Daniel Larimer创建的一个可扩展的区块链Dapp平台,因为其创纪录的40亿美元ICO而出名 根据协议的不同,DPoS可能需要验证器具有强大的计算能力。

Delegated Proof of Contribution Protocol(DPoC)

一些人可能会熟悉ICON网络,PoS区块链引入了一种新协议,该协议直接用加密货币奖励节点和委托人,被称为委托贡献证明。在许多方面,它类似于DPoS,但是激励机制的设置方式使得社区成员真正有兴趣为协议的发展做出贡献

在DPoC中,委托(称为投票)是可选的和非托管的。此外,可以在不给节点运营商投票的情况下质押代币。

DPoC是一个去中心化的民主的治理协议,在该协议中,代币持有者通过将代币质押委托给那些直接对网络作出贡献的人:公众代表(P-rep)来行使其治理权。共有22名当选的主要P-Rep,不限制副P-Rep的数量,他们也受到激励做出贡献。此外,还向其他类型的生态系统参与者和Dapp建设者提供奖励。

如果出现严重的宕机,P-rep及其选民将面临削减惩罚的风险,目前是可能会受到6%的罚款。

DPoC仍在快速发展并不断改进。stakin作为一名P-Rep参与了协议下一次迭代的开发,并支持IISS3.0,这可以使DPoC更接近LPoS(符合债券要求),同时去中心化激励参与者建设者!?

Liquid Proof-of-Stake (LPoS)

在LPoS中,委托是可选的。代币持有人可以将验证权委托给其他代币持有人,而无需托管代币,这意味着代币仍保留在代币持有人的钱包中。此外,只有验证器在出现安全故障时才会受到惩罚(例如双重认可)。LPoS也具有投票权,作为代币持有者,如果你作为自己的节点,你可以在协议修正案中直接投票。

LPoS最初是由Tezos引入的。Tezos是由Kathleen和Arthur Breitman创建的链上治理协议,自2018年9月以来一直在主网上平稳运行。Tezos的LPoS已经证明是非常成功的,目前的质押比例约为80%,分布在450个验证器和10000多个委托人中。从技术上讲,委托人的数量受到债券规模最低要求的限制,目前可能已经高达10万人左右,去中心化程度很高.

Bonded Proof-of-Stake (BPoS)

BPoS与LPoS非常相似:授权是可选的、非托管的,代币持有者从协议修正案的投票权中受益。尽管如此,它之所以被称为BPoS是有原因的:在出现安全或宕机的情况下,验证器和委托人的一部分质押将被削减。在LPoS,中,只有验证器有被削减惩罚的风险,而授权者唯一的风险是错过一些奖励。通过这种方式来防止验证器不诚实或效率低下。

这种BPoS机制的优势在于,它可以为一些LPoS协议上的验证者提供一个清晰的解决质押比率(类似于资本要求)问题的方案,他们需要尽量维持该比率以防止过度委托。在样也意味着授权人需要在授权前要进行额外的尽职调查,并对验证器的情况保持关注。

BPoS最早是由Cosmos和IRISnet(基于Cosmos SDK/Tendermint)等项目引入的。两者都是非常有趣的跨链协议?.在Cosmos和IRISnet等BPoS协议中,验证器的数量是有限的,根据它们的总质押量(自有质押+委托)的大小来决定有效验证器。

Nominated Proof-of-Stake

波卡生态系统引入了提名权益明机制(NPoS)。现在许多基于Substrate的链都在使用,如Polkadot、Kusama以及Edgeware。在这个系统中,验证器每天自动选择几次。这些验证器运行代价昂贵,例如要确保高通信响应度、建立长期的可靠性信誉并质押代币。这样做是为了保持良好的行为,当他们偏离协议时,他们的利益就会被削减。而且,从最近Edgeware验证器的故障我们可以看到,在NPoS上可以非常快地执行削减操作。

在NPoS中,委托者被称为提名者。提名者在候选列表中提名验证器,并锁定一定数量的标代币来支持它们。在NPoS中,验证程序的数量受治理的限制,并且这些验证器是根据它们在网络中的总质押量来选择的。与验证器不同,提名者可以有无数的参与者。提名者被激励不断寻找可靠的新候选人。有了这两个角色,NPoS可以让所有代币持有者持续参与网络。因此,它保持有限验证器数量的同时,保持了高级别的安全性。

Hybrid Proof-of-Stake (HPoS)

混合PoS/PoW通常被称为工作量证明和权益证明之间的混合。它使用两种方法一起来保护网络:PoS与PoW系统一起工作,以进一步保护区块链。通常,在这种方法中,矿工通过PoW生成新的块,然后PoS验证器对这些块的有效性进行投票。HPoS通过哈希的力量,避免了更多的攻击。

在HPoS项目中,我们可以看到Decred和Hcash。以太坊也正在进行Casper升级成为HPoS。在Decred中,代币持有者有能力检查矿工挖出的区块,并对共识规则的变更进行投票。

Pure Proof-of-Stake

Algorand引入的另一个共识算法是PPoS,它是一种具有开放参与性、可扩展性、安全性和交易终结性的协议。在这个算法中,网络将其安全性与大多数人的诚实联系在一起。

这个算法的不同之处在于,与前面提到的DPoS,LPoS或BPoS不同,对于实体行为不当的情况,没有制裁机制。网络宁愿让少数人不能作弊,允许大多数人作弊,也不会进行削减。该协议的发展方式是,只要网络中75%的大多数人是诚实的,它就可以继续正常工作。

Leased Proof-of-Stake

租赁权益证明(LPoS)是PoS的直接变体。当使用这个共识协议时,领导者可以参与生成新的块。因为在网络节点内租用的数量越大,选择它创建下一个块的机会就越高。

LPoS的工作方式如下:为了能够开始租赁,代币持有者需要创建一个租赁事务,并指定地址以及要租赁的代币数量。Waves平台是采用LPoS网络。

其他可以归类为PoS 的项目

本文的目标是为您提供一个全面的概述,了解各种PoS协议的核心。随着PoS在整个区块链行业中越来越受关注,我们还想提及一些其他项目,这些项目也提供质押:

Tomochain: Proof-of-Stake Voting (PoSV)权益证明投票

达世币Dash: 主节点质押

本体Ontology: ONG “红利”委托拜占庭容错

Neo: GAS “红利”委托拜占庭容错

总结

我们相信,随着区块链背后开发者近乎无限的创造力,未来我们将看到更多的PoS变体出现。现在,人们越来越清楚地认识到,PoS作为替代其他共识机制(如PoW)的最佳可行方案之一,不容忽视。

展开阅读全文

篇14:什么是PoS共识机制

全文共 1194 字

+ 加入清单

OK区块链60讲第17集:什么是PoS共识机制文字版:

所谓PoS机制,全称是Proof of Stake,也就是权益证明。它是除PoW机制外的另一类主流共识机制。

我们都知道,PoW机制有一些缺点,比如挖矿时会浪费大量的资源、整个网络处理效率较低等等。为了解决这些问题,有人就在2011年提出:“可不可以在PoW的基础上,重新设计一个机制?既能保留PoW的优势,又能解决它的问题”。于是PoS共识机制就应运而生,所以,PoS在共识层面上借鉴很多PoW的设计,如区块设计,矿工选择,分叉处理,交易验证等。

PoS机制主要是通过权益记账的方式,来解决网络的效率低下、资源浪费和各节点的一致性问题,简单来说,就是谁拥有的权益多谁说了算。它的原理是这样的:

PoW之所以有种种问题,主要是因为人人都可以自由地成为节点,而每个节点又通过竞争的方式参与数据处理。一笔数据要经过这么多人的处理,肯定会造成资源浪费和效率低下。

PoS之所以能解决这个问题,是因为PoS提高了节点处理数据的门槛,它规定:虽然每个人都可以自由地加入进来成为节点,但只有满足一定条件的节点,比如抵押一定数量的代币,才有资格成为验证节点,也就是候选人。

成为候选人后,系统会通过算法,选择一部分人作为出块节点,每隔一段时间,会重新选择,选取过程中,算法会保证选取的结果不能被操纵,也不能被预测,从而避免网络被某一节点所控制。只有成为出块节点,也就是矿工,才能参与数据的处理、争夺记账的权利。

所以说PoW是人人都可以成为矿工,而PoS则是通过一系列筛选,才能成为矿工。

PoS具体的竞争方式是,谁持有的代币多,谁就越容易获得出块的权利。然后通过全网广播,他打包的区块经其他矿工验证,确认没问题后,这个区块就会连接到链上,并同步在全网其他节点的小账本中,同时他获得相应的代币奖励。

整个流程简单总结起来就是:持币人将代币抵押,获得出块的机会,然后PoS共识中会通过选举算法,按照持币量比例,从中选出出块矿工。矿工在指定高度完成打包交易,生成新区块,并广播区块,广播的区块经过验证人验证交易,通过验证后,区块得到确认。这样一轮PoS的共识过程就完成了。

PoS机制的优势在于,它解决了PoW中的资源浪费、效率低下等问题。但它同样也有一些缺点。比如,PoS机制中初始的代币分发比较模糊,如果初始代币分发不下去,就很难形成之后的股权证明。再比如,选举算法存在被攻击的可能,一旦攻击成功,整个系统就会被操控。

但是PoS机制最大的问题,还是容易造成强者恒强的局面,谁的代币越多,谁就越容易获得更多的代币,理论上谁能掌握51%的代币,谁就能掌控整个网络,所以,它的去中心化程度要弱一些。

总的来说,PoW与PoS都是目前主流的共识机制,共同引领着区块链技术的落地与进步,但他们或多或少,都存在一些不可避免的问题,希望未来的某一天,它们能克服自身问题,真正使区块链大规模商业化,而我们也能迎来一个更好的去中心化互联网。

展开阅读全文

篇15:关于共识机制 | 你知道的、不知道的

全文共 2551 字

+ 加入清单

【导读】共识机制的发展史,代表着区块链技术从1.0走向2.0以及更远的未来。从某种程度上讲,对于共识机制的突破与创新,直接决定了区块链未来大规模商业化的应用。

如果将去中心化的区块链技术比作一个生命体,那么共识机制可以说就是它的生命之源。

1.什么是共识机制?

相信每一位对区块链技术有所了解的人,都或多或少的了解过一个相关的理论——“拜占庭将军问题”,甚至对于很多人而言,拜占庭将军问题是很多人了解区块链技术原理的“第一扇大门”。

“拜占庭将军问题”源自著名图灵奖得主莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。根据维基百科的解释,拜占庭将军问题即:

在分布式计算中,不同的计算机通过通讯交换信息达成共识,按照同一套协作策略行动。但有時候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。

拜占庭是古代东罗马帝国的首都,由于当时帝国的国土幅员辽阔,为了达到防御的目的,因此每个军队都分散驻守,将军与将军之间只能依靠邮差进行通信。当战争的发生时,所有将军需要达成一致的共识共同出击才能取得成功,否则就会失败。但是军队内部可能存在叛徒或间谍,因此将军们需要一种机制保证所有的将军都对进攻的时间有一个相同的认识,也就是——即使信使真的有奸细,而且他采用了任何他能想到的措施,其余忠诚的将军也可以在不受叛徒的影响下达成一致的协议。

“共识”就是在一个由多方组成的系统中,在某一个步骤中让一个系统中所有的节点对一个值达成一致。

也就是说,在区块链系统中,每一个共识机制都需要回答下面的问题(包括但不限于):

What——下一个区块应包含哪些交易?

Who——下一个区块应该由谁来生成?

When——下一个区块应该何时产生?

Evolution——如何升级共识协议?

Immunity——如何解决交易历史的竞争问题?

共识机制的目标,就是找到这些问题的答案,并确保其健壮性以抵制攻击者试图获得网络的控制权。实际上,获得控制就意味着获得了单方面审查交易的能力。共识机制也应当能健壮地抵御攻击者利用在不同计算机上的数据库状态中的临时不一致性获取好处。

2.共识机制可以解什么问题?

在回答“共识”究竟能解决什么问题之前,我们必须了解两个在分布式系统中已经被证明的结论:CAP定理和FLP不可能性定理。

CAP定理指的是在一个分布式系统中,在Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)中,最多只能实现两点,不可三者兼得。

其中,一致性代要求在分布式系统中的所有数据,在同一时刻达到同样的值,也就是说所有节点访问同一分最新的数据副本;可用性要求,系统中部分节点出现故障以后,系统整体可以正常相应,不被故障节点影响;分区容错性则要求,系统如果不能在时限内达成数据的一致性,就必须在C和A之间做出选择。

FLP不可能性定理则是指,对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。

FLP不可能性定理已经证明,在一个异步网络中我们永远也达不成一致。而CAP定理,则让我们在设计算法时所有倾向,是使用CP算法(高一致性算法),还是AP算法(高可用算法)。

共识算法本身可以描述为在某一个步骤中让一个系统中所有的节点对一个值达成一致,即使系统中存在故障, 我们也要忽略掉这些故障节点的噪音让整个系统继续正确运行, 而问题的难点就在于在一个异步网络中将这些噪音降到最小。

3. 不得不谈的去中心化

至此,我们可以清晰地看到一些区别所在:

在一个中心化的结构体系中,整个系统的共识可以由中心来决定,各个节点只需要接受中心所下达的“命令”即可,这也是中心化系统运作更加高效的原因所在。而在去中心的体系中,所有参与系统的节点是处于一个平等的地位,当节点之间出现分歧时,就需要依靠设计巧妙的共识机制来使其顺利地运转下去。

因此,共识机制也被很多人称作是去中心化系统的核心灵魂所在,二者相辅相成、缺一不可。只有在保证去中心化的前提下共识才能保持一致,如果确保共识的节点数量较小或者受到中心化的控制,那么就很容易被攻击。

判断一个协议是不是去中心化,需要看这个协议能不能在全部节点都永久性删除后,仅依靠一个节点仍然能够恢复过来正常运作。如同一个菌丝体借助单细胞就能恢复过来一样。我们称之为完全去中心化,但逃脱不了生物学界的一个事实,多细胞生物比单细胞生物更高级,即以损失一定程度的去中心化为代价。

其实,我们在讨论一个项目是不是去中心化的时候,有所争议的往往是此节。比如对于EOS这种DPOS共识机制是否是去中心化的争论:

提问方问的是系统治理的去中心化程度,而回答者则回答其他两者的去中心化程度。如此沟通如何达成一致?因此我们有对去中心化分层的必要,并从以下三个层面来理解去中心化:

首先是系统部署的去中心化。在现实世界中,基于docker(一个开源的应用容器引擎)等虚拟技术和运用这些技术的云计算平台,以下三个问题往往很难拆分:

①系统有多少节点组成?

②部署在几台物理计算机中?

③分数多少个地区?

但是最终我们想实现系统部署去中心化的目的是一样的,就是降低同一时间节点崩溃的数量,例如地震、海啸、云平台安全事件等。

其次是系统逻辑去中心化;在系统的运行流程中,这个系统是由一种角色组成?还是多种角色合作组成?或者说,是由一台完整的单一设备组成,还是多种不同种类的设备组装的小组?举个例子,针对一个系统,我们在任意一个时刻,将系统分成2份,系统都能完整的独立运行下去么?如果以后两部分又合二为一了,系统还能正常运行么?

第三,系统治理去中心化;针对一个区块链项目,有两个重要的权限控制:系统修改权限和系统数据权限。针对系统修改权限,有多少个人或者组织,对组成系统的计算机拥有最终的控制权?针对系统数据权限,权限控制是否亏归属于每个个体?有多少涉及管理,查看非自身数据的权限?以及如何制定权利边界?

其实,我们不仅需要对区块链的去中心化进行分层理解,更重要的是,目前区块链技术已经发展到了2019年,从某种程度上讲,单纯用“中心化”和“去中心化”无法准确的描述我们目前所用到的方案。

展开阅读全文

篇16:区块链共识机制有哪些?投资者要牢记这些!

全文共 917 字

+ 加入清单

区块共识机制有哪些?区块链在市场上并没有像银行一样的中心化机构,区块链共识机制有哪些?共识机制指的是不同的群体找寻共同的目标,在某些方面可以达成一致的意见,为区块链是完全去中心化的,所以在传输信息以及价值转移时,共识机制可以保证每一次的交易都可以是一致的,并且是正确的区块链,这种共识机制在不依靠任何组织的情况下,可以大规模高效的完成,那区块链共识机制有哪些?

1、工作量证明区块链共识机制有哪些工作量证明可以算是其中之一,这可以简单的理解为市场当中的一份证明,证明过你做到了一定量的工作,然后去检查工作结果,这个时候就可以看一下,投资者是否完成了一定量的工作。在区块链共识算法当中使用最多的便是pow,如今的比特币和以太坊货币在市场当中都是基于这样的机制。比如比特币区块生成的过程当中,所使用的便是pow的机制,也就是大家简单理解的共同去争夺记账权,谁能够抢到并正确完成工作就可以获得一定的奖励,也就是市场当中说到的挖矿。许多矿工都是通过计算机的算力去完成工作的,有这个计算能力的就是矿机,投资者若不理解,可以来到OKLink浏览器上查看学习,在OKLink浏览器中可以查看到具体知识。

2、权益证明投资者最想了解的便是区块链共识机制有哪些?而权益证明就是其中一项,持有代币的数量和时长可以直接决定着投资者在市场当中记账的几率,这就类似于在购买股票时可以拿到的分红制度,如果手里的股票越多,那么可以获得的分红也就越多,所以代币在市场当中也就相当于权益,市场当中有很多数字产品,用到的都是pow的新币。像这些基础的知识在OKLink浏览器上是可以查看到的,很方便。

3、委托权益证明区块链共识机制有哪些?委托权益证明是投资者经常听到的一个词,这也是基于pos直接延伸出来的一个解决方案,像这种方式在市场当中更像是董事会进行投票,如果有投资者获得代币,那么可以直接把票投给那些固定的节点,然后再去选择很多的代理人,由这些代理人进行验证和记账,当然不同的pow和pos在市场当中可以参与记账的竞争,而dpos在市场当中记账点的时间是可以确定的。为了能够让更多的人去参与竞争,系统会生成很少的一些代币当做奖励,就比如比特币才用的,就是这种方式。

展开阅读全文

篇17:什么是PoW共识机制

全文共 1099 字

+ 加入清单

OK区块链60讲第16集:什么是PoW共识机制文字版:

在之前我们已经讲过,共识机制是区块链网络中,所有节点都要遵守的一种规则,当前主流的共识机制分为两种,一种是PoW共识机制,另一种则是PoS共识机制,今天我们就来介绍一下,是什么是PoW共识机制。

所谓PoW机制,全称是Proof of Work,也就是工作量证明。

最开始,这个技术是被用来解决滥发垃圾邮件的问题(系统要求发送者,每发送一封邮件,都要做一定的工作量证明行为,从而提高大量发送垃圾邮件的成本)不过后来,中本聪发现这个技术能有效解决“拜占庭将军问题”,于是便把它引进了比特币区块链网络中,慢慢的,PoW机制就变成当今区块链中的主流之一。

简单来说,PoW机制主要是通过竞争记账的方式,来解决区块链网络中各个节点的一致性问题,它的原理是这样的:

我们都知道,区块链中的每个节点都能自由地参与数据处理,也就是打包区块,为了保证网络中的各个节点能达成一致,PoW就规定,当一笔交易产生后,每一个想要记账的节点,都需要依靠自己的计算能力与他人竞争、争夺记账的权力。

竞争的方式,是每过大约10分钟的时间,就会进行一轮算力竞赛,参与的节点通过算力不断寻找一个随机数Nonce。谁先找到满足一定条件的Nonce值,且通知全网、获得认可,谁就能获得记账的权力。

最终,获得记账权的人,他所打包的区块会连接到区块链的链上,同时他处理的数据,也会被全网的其他节点记入各自的小账本中。

PoW机制在比特币网络中,就是比特币的挖矿原理,它会给获得记账权的节点一定的比特币作为奖励,从而激励更多的人加入进来。

PoW机制的优势在于,它让每个节点的算力都加入进了网络的交易认证中,基于PoW的竞争机制,想要在区块链网络中作恶,必须掌握全网绝对的算力,不然都要面临来自于其他人的算力竞争。理论上,除非有人能掌握全网51%以上的算力,否则整个网络的任何东西都是无法被篡改的。这样使得网络的去中心化性更强、节点的作恶成本更高。

所以,加入的人越多,全网算力就越大,也就越难被人掌握超过51%的算力,整个网络也就越安全。

当然,PoW机制不是完美的,它为了保证网络的强去中心化,付出了很多的代价。比如被大家诟病的浪费大量资源、和处理性能较低。

因为PoW机制中,每个人都可以自由地加入网络成为节点,进行数据处理,而且每个节点处理数据都要通过算力竞争的方式,争夺记账权。想一想,一笔数据要经过网络每个人查看,而且为了一笔数据,每个人还要花费大量的算力,自然而然就造成了资源浪费与效率低下。

不过,瑕不掩瑜,PoW机制也确实使去中心化的互联网落地成为可能。或许未来,随着技术进步,共识机制能够打破去中心化、效率、安全的不可能三角,让我们拭目以待吧。

展开阅读全文

篇18:区块链几种共识机制?各种有什么优缺点?

全文共 832 字

+ 加入清单

区块链是当前非常流行的IT技术,而且具有多种共识机制。那么区块链几种共识机制呢?虽然现在大家都对区块链技术有一些了解,但是普通人不知道区块链几种共识机制?现在不但我国在大力发展区块链,全球多个国家都很重视区块链技术的发展。区块链技术是当前非常火的新兴技术,它不但创造了比特币,还促进着各种数字货币的发展。而且现在区块链还被运用到了多个行业。你知道区块链几种共识机制吗?这些共识机制有什么优缺点吗?

一、工作量证明区块链的共识机制当然包括工作量证明,其实这就是指的POW。在实际进行工作的过程中,工作量只能够通过工作的结果来进行证明,因为过程当中的监测非常的不容易。但是在区块链技术当中使用了POW机制,它可以随时监测到工作量证明。那么区块链几种共识机制呢?区块链有三种共识机制,工作量证明只是其中的一种,它的优点是完全的去中心化,而且节点非常的自由。不过缺点就是吸引了大部分的运算能力,其他的使用pow机制的计算能力则非常难得到保护。

二、权益证明其实权益证明的英文缩写就是PoS,这是节点的记账权的难度和可以得到的收益形成比例一种重要的共识机制。因为区块链的每个节点都是公平的,可是每个节点上的记账不同,而它们可以获得的收益自然不同。比如在挖比特币时, 每个节点碰撞哈希值不同,碰撞对的时间也不同,他们的奖励自然也就不同的。区块链几种共识机制?它一共有三种共识机制,权益证明是第二种。这种共识机制可以缩短共识达成所需要的时间,而它的缺点则是需要进行挖矿。

除了上面介绍的两种共识机制,其实还有股份授权证明。这个共识机制主要是为了让股东们能够按照自己的股票比例来获得相应的影响力。很多人都不懂区块链几种共识机制,甚至不知道区块链是什么。其实我国现在很注重区块链技术的发展,大家要是想更多的了解区块链,可以下载OKLink浏览器学习。OKLink是专门针对区块链和数字货币的专业区块链浏览器,在这上面不但能学习区块链的基础知识,还能顺便学习数字货币的行情,简直是一举两得。

展开阅读全文

篇19:如何认清当前主流的共识算法及背后发展脉络?

全文共 3710 字

+ 加入清单

共识算法是近年来分布式系统研究的热点,也是区块链技术的核心要素。如何理解共识算法重要性及评价体系?如何认清当前主流的共识算法及背后发展脉络?接下来共识算法发展的趋势与阻碍又是什么?

本文由本体研究院撰写,作为一个开放性技术研究组织,它持续专注于区块链相关技术的研究和探讨。

原文标题:《共识算法演变史》

稿件来源:链捕手共识算法及评价体系

共识算法主要是解决分布式系统中多个节点之间对某个状态达成一致性结果的问题。分布式系统都是由多个服务节点共同完成对事务的处理,分布式系统中多个副本对外呈现的数据状态需要保持一致性。

但是由于节点的不可靠性和节点间通讯的不稳定性,甚至节点作恶伪造信息进行恶意响应,节点之间就存在数据状态不一致性的问题。通过共识算法,可以实现将多个不可靠的单独节点组建成一个可靠的分布式系统,实现数据状态的一致性,提高系统的可靠性。

区块链系统本身是一个超大规模的分布式系统,但又与传统的分布式系统存在明显区别。区块链系统建立在去中心化的点对点网络基础之上,在整个系统中没有中央权威,并由共识算法实现在分散的节点间对交易的处理顺序达成一致,这是共识算法在区块链系统中起到的最主要作用。

另外,与企业分布式系统不同,区块链系统中的共识算法还承担着区块链系统中激励模型和治理模型中的部分功能,包括每个区块中对哪些矿工进行激励发放、网络中所有交易手续费的结算和分配、区块链网络共识周期的切换等。

共识算法根据容错能力不同,即在考虑节点故障不响应的情况下,再考虑节点是否会伪造信息进行恶意响应,可以分为 CFT (Crash Fault Tolerance)类和 BFT (Byzantine Fault Tolerance)类共识算法。

CFT 共识算法只保证分布式系统中节点发生宕机错误时整个分布式系统的可靠性,而当系统中节点违反共识协议的时候(比如被黑客攻占,数据被恶意篡改等)将无法保障分布式系统的可靠性,因此 CFT 共识算法目前主要应用在企业内部的封闭式分布式系统中,目前流行的 CFT 共识算法主要有 Paxos 算法及其衍生的 Raft 共识算法。

采用 BFT 共识算法的分布式系统,即使系统中的节点发生了任意类型的错误,只要发生错误的节点少于一定比例,整个系统的可靠性就可以保证。因此,在开放式分布式系统中,比如区块链网络,必须采用 BFT 共识算法。

在区块链网络发展前,BFT 共识算法主要为 PBFT 共识算法,目前部分联盟链采用 PBFT 共识算法。由于公有链的开放性,任意节点都可以随时参与和退出网络并都有作恶的可能,近两年公有链的快速发展也带动了 BFT 共识算法的巨大进步。

另外,因为共识算法都建立在底层的网络模型基础上,所以从网络同步模型的角度来看,共识算法可以分为三种,即同步共识算法,半同步共识算法,和异步共识算法。

同步共识算法要求网络中任一消息能够在已知的限定时间内到达所有的共识节点,因此主要应用在限定规模的网络环境中,大多数联盟链采用同步共识算法。

异步共识算法对于消息在网络中的传播延迟没有任何限制,消息可以在无限长时间后才能发送到其他共识节点,由于 FLP 不可能定理(在网络可靠,存在节点失效,即便只有一个的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。),异步共识算法无法确定性保证共识终局,因此几乎没有高效的全异步共识算法,即使 Bitcoin 的 PoW 算法也是基于同步网络保证一致性,基于异步网络保证可用性。

半同步共识算法在前两者之间做了权衡,要求网络中消息某限定时间后到达所有共识节点的的概率与时间的关系是已知的,目前主流的区块链共识算法都是基于半同步的网络模型,即半同步共识算法。

评价一个区块链共识算法的优劣,可以从以下四个方面进行,即容错性能、终局性性能、扩展性(消息复杂度)以及网络模型性能。

容错性能:指共识算法的容错能力,比如 Raft 只能支持节点故障错误。而在区块链中,特别公有链中,由于节点间存在利益博弈,同时又是一个非中心化的网络状态,其共识算法必须支持节点作恶的容错,所以区块链的共识算法必然是 BFT 算法。

终局性性能:指区块链网络对一个候选区块完成终局一致性所需要的时间,这对于面向用户的 DApp 应用是非常重要的参数。

扩展性:指随着区块链网络节点数目与共识算法性能的相关关系,比如 PBFT 算法随着节点数目增加,完成一轮共识需要在网络中传播的消息数目呈平方比例增加,因此 PBFT 算法的天然特性无法支持大规模网络。

共识算法的网络模型性能对其容错性能和终局性能都有很大的影响。在区块链大规模网络条件下,同步共识算法要求所有节点在规定时间内响应对其他节点的消息,否则将被认为是故障节点,因此受网络波动影响较大,从而进一步导致算法容错性能的降低;而由于 FLP 不可能定理,异步共识算法无法给出确定的终局性性能,所以当前主流区块链共识算法都是基于半同步模型。当前主流的共识算法

在区块链发展初期,主流区块链网络都是基于 PoW 共识算法,包括 Bitcoin,Ethereum,Litecoin,Zcash 等。由于 PoW 存在挖矿的资源浪费问题,2017 年后基于 PoS 的共识算法研究得到了迅猛的发展,并在 2018 年各种基于 PoS 共识算法的公有链都逐步上线。

对于当前主流共识算法可以采用如下几种方式分类:

基于挖矿方式分类:

1) PoW : 所有节点通过解决某个计算难题(例如哈希难题)参与共识。包括:Bitcoin,Ethereum, Litecoin

2) PoS:所有节点通过质押代币的方式参与共识。包括:Ethereum-PoS,Tendermint,Algorand,EOS DPoS,DFINITY,VBFT

基于终局性分类:

1) GHOST:PoW,Ethereum-PoS

2) BFT:Tendermint,EOS DPoS,Algorand,DFINITY,VBFT

基于节点选择方式:

1)所有节点参与:PoW,Ethereum PoS,Tendermint

2)随机选择部分节点参与:Algorand,Dfinity,VBFT

Table 1: 主流共识算法比较

从上述的分类过程中,我们可以看出当前区块链共识算法在性能、扩展性、去中心化等方向上的演进过程。

在 Bitcoin 创建了区块链技术时,创建了 PoW 共识算法,通过计算哈希难题和最长链规则,实现去中心化的共识算法。随着 Bitcoin 网络规模的增大,后续区块在网络中传播延迟的增加,基于最长链规则造成了大量伪分叉,极大的浪费了网络中的算力和 PoW 共识算法的性能。

针对于伪分叉的问题,区块链社区后续提出了通过 DAG 方式扩展 PoW 共识算法,比如 PHANTOM,Conflux 等。但是针对于 PoW 的算力浪费的问题,区块链社区后续更多转向了基于 PoS 的共识算法。

Ethereum 也计划逐渐减少 PoW 激励,直至最终完全取消对 PoW 的共识激励,完成到 PoS 共识算法的切换。同时,也有大多数新兴区块链平台都采用了 PoS 的共识方式,其中最著名为 EOS 的 DPoS 共识算法。

与此同时,随着区块链应用的增加,区块链共识算法的扩展性问题也日益凸显。图灵奖获得者 Micali 教授提出了 Algorand 算法,提出基于 VRF 随机选择部分节点参与共识的方式,通过 BFT 的方式极大降低了共识算法的消息复杂度,在保证去中心化安全性的同时实现共识算法的可扩展性。

在此基础之上,VBFT 等共识算法增加了基于 PoS 治理机制,并基于此解决了随机节点选择的抽样陷阱问题,在保证算法扩展性的同时实现优秀的终局性性能。

混合共识算法也值得介绍,由于单一共识算法由于其本身具有的局限性,例如 PoW 共识速度偏慢等,区块链研究者尝试将两种或者多种共识算法融合起来,取长补短,来达到更好的共识特性。一般来说,混合共识有 PoW+PoS,PoW+BFT 以及 PoS+BFT 等种类。可以看到新一代的共识算法,比如 Algorand,DFINITY, BUMO 的 BU Firework 以及 Ontology 的 VBFT,都属于混合共识算法。共识算法的发展趋势

总体来看,目前主流共识算法逐渐由 PoW 转向 PoS 共识算法,并且采用 VRF 随机选择节点的方式实现算法的扩展性,即使 Ethereum 后续的宁静版本,也将是基于 PoS 的共识算法,并在其信标链中实现 VRF 随机选择验证者节点。另外,Avalanche 共识算法也是采用随机选择节点的方式实现区块链共识算法的扩展性,不过目前还没有上线的区块链采用此共识算法。

随着区块链社区对区块链共识算法的研究,技术社区已经发现在 Internet 规模的网络中可达到的性能上限不仅取决于共识算法的性能参数,更取决于在此规模的网络中完成消息传播的时间延迟等物理上限。因此,主流区块链的研究团队都将下一步区块链网络性能扩展方向投向了分片技术、状态通道和二层网络等方向。

展开阅读全文

篇20:教育数字化成普遍共识 为教育数字化创造有利条件

全文共 594 字

+ 加入清单

在当今社会中数字化变革已经出现在各个角落,数字化教育逐渐成为普遍共识,线下出现了更多的多媒体教室,以数字化来帮助国家成为教育强国,推进教育高质量的快速发展。学校的信息化基础设施已经从电脑、投影仪到现在的液晶一体机,科技的进步也让教学理念和模式大大提升,就连边远山区的教育资源也有非常明显的进步。

教育数字化转型正在有效地促进教育的质量,在教育资源上实现了共享,利用国家中小学智慧教育平台上的各种教育资源,帮助学生提升对学习的兴趣,老师们也能获得更多的教育模式,互动的数字化教学模式让课堂变得更加有趣,自主学习、客服服务、教师备课、作业审批等工作都能在线上完成,同时开展家校之间的便捷交流,让学生获得优质的受教育机会,老师也能提升自己的教学能力。

党的二十大报告中,首次提出“推进教育数字化”,让全民更好地进行终身学习,就连乡村的学生也通过智慧大屏幕,享受到了更多精彩的服务,职业教育类的学校也获得了更多虚拟模仿,基地虚拟协助教研等各种新的形态,以数字化来帮助教育发展,推动素质教育的正确方案。

基础设施的完善也是为教育数字化创造更多有利条件,从教育信息化到教育数字化,除了基础设施的完备之外,还扩大了教育模式,师生之间的素养也不断提高,为深入实施国家教育数字化行动创造了更多有利的条件。同时在“双减”政策的帮助下,学校和课堂的质量也越来越高,也能够开展更多有趣的课程,让孩子接触更全面的教育。

展开阅读全文