本质上,POW和POS都是一种随机选择下一个区块上传者的方式。然而,创建一个每个人被选中几率相等的算法其实是非常难的事情,同时,这种算法只是听上去很美,而在现实中这种算法却称不上公平——因为你怎么在虚拟世界里确定一个人的身份?你怎么知道一个ID背后的是真实的用户还是女巫攻击的脚本?
所以说,与其耐心去验证每一个人的身份,不如干脆根据某种无法伪造的东西进行随机,于是才有了工作证明和权益证明,以及许许多多的其他证明。
但是,另一个问题是,POW是一个在比特币出现之前就有了的东西,而因为比特币的成功,POW基本上特指比特币的POW。但相反,POS是个新东西,目前并没有成熟的POS应用,所以,当提到POS的时候,并不是指某一个算法,而是一类,而且,这类算法目前各有优劣。并且,目前为止,没有一个算法的可靠性通过了实践的检验。所以,要对比POW和POS的优劣,我只能以POS这一大类为例。以上基本上所有其他的答案,其实都在说PPCoin的POS,也就是最早的POS,那个东西是有根本缺陷的,例如啥币龄攻击(save-up attack),都仅仅是对PPC适用,而并不是POS的问题。
优势:可靠(或者叫安全,我不喜欢用安全这个词),这就是它最大的优点,因为它是目前唯一接受了实践检验的公有链算法。
劣势:浪费算力,对于51%攻击有潜在隐患——攻击者并不需要拥有比特币,所以如果要做51%攻击,所需要的花费跟挖矿难度相关而不是直接跟比特币价格相关(虽然说挖矿难度会和比特币价格相关),所以,如果挖矿公司的市值不如比特币的价格的线%攻击的风险就会变大。
优势:不需要浪费算力,同时,进行51%攻击的代价更高,因为想要进行51%攻击的线%的货币。也就是说,这东西越值钱,攻击的成本就越高。
1,权益粉碎攻击(nothing-at-the-stake attack),上面有人说POS是社会主义,我是不赞同的。我觉得POS就是完全的资本主义——你钱越多,你拥有的权力就越大。当然,这个也并不是没有道理,因为在其中利益越多的人,就更愿意去维护这个币的系统,于是他们手中的币才能更有价值。因此,他们并不愿意去进行恶意攻击,因为那样实际上他们手中的币也会受害,这就是POS能够更有效地防御51%攻击的原因。换句话说,钱越多责任越大。
但反过来讲,钱越少责任越小。假设你只有1%的钱,你成功的概率只有1%,但是你尽可以去尝试分叉,因为这并不消耗任何资源。也就是你在最长链上挖矿的同时,也去创造一个只在自己的区块上挖矿的分支。放在POW里,创建这个分支完全得不偿失因为你浪费了大量的算力。然而在POS里,如果这个分支不被接收,实际上你什么都没损失。于是,即便是诚实的矿工也可能回去偷偷地进行这种分叉尝试。尽管他们知道这种尝试会造成整个币的价值降低,但是他们的钱很少,他们并不在乎,这就是所谓的平凡人悲剧(tragedy of the commons)。
对于这种攻击,基本上所有的新的POS算法都有应对的机制,例如以太坊的casper里的slasher,基本概念就是如果有人尝试了这种攻击,其他人发现了可以公布证据然后对这个人进行惩罚。
权益粉碎攻击是主动的,而这个是被动的——假设有人做了权益粉碎攻击进行了分叉尝试,诚实节点理应不予理会,因为他们能看到这种分叉被接受的几率小。对于POW来说,你不会在被接收几率小的分叉(例如不是最长链的分叉)上挖矿,因为那样浪费算力。但对于POS来说,在那上面挖矿没任何损失,反而是不在那上面挖矿,万一这条链被接收了,你就会受到损失。
于是,即便是诚实节点,如果它足够理性,那么它也会在所有它收到的链上同时挖矿。POW里,没人挖的分支很快就会变成孤块被丢弃,但在POS里,如果整个网络足够理性,会出现的情况反而是每条分支都会永远存在因为理性的矿工会同时在所有分支上挖矿。这是我觉得POS最大的缺陷,就是如果只用最长链共识的话,POS本身是没法应对分叉的,必须通过惩罚。而这种惩罚不光是基于作恶,而是违反节点逐利本性的。
放在线就好比是抢劫,抓了判刑没有任何问题。可是2就像是投资,把他们也抓了判刑,这就有点过了。
我们现在找100个人问,他是不是在交易所买卖虚拟货币?大概99%的人都会回答yes。这样导致了很多币都是保存在交易所的钱包里面,一些大型的交易所钱包里面保存巨额的币,对于PoS和DPoS而言,这些币都是有权益的(前者可以用币挖矿、后者可以用币投票),而这些权益显然为交易所所有,所以我们现在看到bitfinex宣布竞选EoS的区块生产节点(俗称超级节点),是一点都不会奇怪的。拿着用户的币,集合起来投票让自己当选,交易所显然比那些自己持币的竞选大户还更有成本优势,因为交易所的币都是用户免费充值进来的,不需要自己掏腰包去买。这个形势浮出水面逐步变得清晰,逻辑摆在这,大交易所势必成为PoS和DPoS的大玩家,以用户之币生产自己之币,自行源源不竭发行新币,卖给用户,但权益却不会损失,因持币的用户大面上会有很多存在交易所。交易所集中化这种情况是早期没有预料到的,大家刚开始以为虚拟货币应该保存在点对点的钱包里面,但是交易所的崛起,导致PoS和DPoS马上面临权益的集中化问题,而且还是零成本的,这样有一个好处,就是币价会比较便宜,因为在自由市场里面,零成本生产的东西总归要便宜些,也算是造福虚拟币收藏爱好者了。
PoS没有防御分叉的能力,甚至有可能一生二、二生四、四生八,生生不息,造成很多链条。PoW机制在硬分叉的时候,算力会分布在原链和新链,如果分歧不大的话(分歧大的话一般不会发起硬分叉),算力大的那条链条会形成马太效应,而算力小的链条会出块困难,挖矿产出小、交易确认慢,矿工会很快集聚到算力大的链条,停止挖掘算力小的链条。假如小算力链条只有1%算力,也就是原来10分钟出块的时间会增加到1000分钟,熬完2016个块,需要3年多时间,这才能熬到下一个难度自动调整周期。这是以比特币为例,1%的算力成本每天也要20万美元左右,不可能会有一批矿工去熬这么一个周期。所以PoW机制下,不会轻易启动硬分叉,在取得大量共识基础前提下,能够有效防御硬分叉产生的可能性。事实上,比特币运行接近十年以来,也没有发生过一起原链存活硬分叉事件。而PoS在这种情况下,则完全无力,所谓PoS就是以币生币,用币的所有权进行挖币,不需要投入算力挖矿,在硬分叉的时候,只要有一个币接着挖原链,必然分叉,而且两条链条的币都不会丢失,所以PoS对分叉没有算力成本上的壁垒,也没有经济上的惩罚,几乎可以说毫无抵抗硬分叉原链存活的能力。抵御分叉的能力对于以作为世界货币为实验目标的虚拟币而言,是有必要的,在技术上保证交易一致性,在政治上防止社区和市场的割裂。大家想想,中国在发展过程中固然有过很多次路线的纠偏,但从没有并行两个党中央,路线错误是可以纠正的,但是纠正后,新的党中央和老的党中央同时存在,问题就大了。
这是第一点。第二点PoW的算力挖矿相对公平,PoS的以币挖币,使富者越富,容易产生超级节点,即在PoS机制下,谁拥有的币多话语权就大。PoW和PoS是现在区块链最基础的协议组成部分,所谓共识机制。PoS的出现是认为PoW机制要耗费大量的电力资源进行算力运算,这是一种浪费。很长时间以来,基本上这种说法弥漫在整个密码学货币领域,这种情况,也经常被社会舆论所诟病。
但随着认知的拓展和时间的推移,PoW机制的存在仍然有其合理性,包括在学术研究领域,其认可度也没有下降。国外的一些研究,甚至指出,用于比特币运算的ASCI芯片最好没有任何其他用途,只能单一地用于挖矿,对比特币经济是最有利的。现在看来,PoW算力浪费资源的结论本身可能就是错的。
比特币早期的算力运算是很小的,算力的增长到今天,每天要耗费数亿人民币的电力成本,是经过近十年的运行,其市场认受度增长的结果,而不是原因。很简单,淘宝的双十一购物节要支撑海量的并发交易,所以构建了对应的服务器集群,而不是反过来,因为有了服务器,就会有海量的交易。比特币网络每天的交易量,从几笔上升到今天的几十万笔,显然是因为比特币市场认受度增加了,才吸引到算力加入挖矿。淘宝为了应对海量的交易,花费巨资建设网络,如果我们不能要求淘宝以接近为零的成本来支撑其服务,那么为什么又要要求比特币网络能够做到零成本的运行和安全呢?假如比特币的价值为零,市场认受度下降,它变得一文不值,这些算力自然就会停止投入挖矿。同理,没有一个人去淘宝购物,淘宝的服务器不用几天就会全部关停。基于无形的手还能够起作用,市场在短期内也许会浪费一些资源,但不会长期浪费大量的资源。所以PoW引发的算力投入,是来自于虚拟货币的市场认受度,后者是因,前者是果,切不可颠倒。
很多文章说PoW机制解决了数学上有名的拜占廷将军的难题,但通篇看下来,很少有把这个问题说透的。所谓拜占廷将军的难题,是“不诚实”者的收益大于风险,而“诚实”者的风险大于收益,所以博弈的结果,向拜占廷进攻的共识很难形成并实践,解决这个问题的关隘,在于奖励“诚实”者,惩罚“不诚实”者,使“诚实”者的收益永远大于风险,“不诚实”者的收益永远小于风险。
PoW机制下,“诚实”者能够得到源源不断的奖励,虽然这些奖励是按工作量比率分配的,但是至少是多劳多得,一分工作量投入,会有一分产出。“不诚实”的人呢?如果攻击不成功,损失工作量,血本无归。而攻击成功的概率,随时间推移是成几何级数下降,很快就会绝望。这里有两层安全壁垒,一是经济壁垒(算力成本),二是时间壁垒。在达到51%算力攻击门槛之后,网络仍然可以继续推高门槛,在一段时间后使攻击失效,恢复正常。
而对于PoS而言,防御51%攻击的安全是一层壁垒设计,即经济壁垒,一旦突破就可以永远为所欲为。
根据区块链共识机制中最核心也最基础的“抗女巫攻击策略”进行分类,区块链共识机制最大最主流的两个分支分别采用了工作量证明(Proof of Work,即 PoW)和权益证明(Proof of Stake,即 PoS)。
关于 PoW 与 PoS 的优劣对比与争论从来没有停止过,因为二者各有所长,谁也无法彻底压到对方。(联盟链采用有许可的准入机制来抵抗女巫攻击,不在我们讨论之列。)
因为我们认为比特币最大的价值在于去中心化和安全性,而只有基于 PoW 的共识机制才能最大限度地保留这些优点。
在一个典型的 PoS 共识系统中,大家通过股权质押获取一张门票,然后获得门票的人坐在会议室里指点江山。
而在以比特币为代表的 PoW 共识系统中,一群人坐在漆黑的荒野里,他们既不知道其他人的身份,也不知道荒野里一共有多少人、其他人何时来何时走,只能通过喊出自己的观点和听清他人的喊声来交流并最终达成共识。
这个比方很好地描述了 PoW 共识机制无许可加入(Permissionless)的特点,这也正是去中心化最根本的来源。因此,我们坚持 PoW 是实现去中心化的必由之路,也是新的公链项目的唯一选择。
另一方面,由于 PoW 机制中无法确定参与者的身份和人数,以此为基础设计高性能的共识协议无疑是一块非常硬的骨头(否则恐怕压根儿就不会有 PoS 什么事儿了!)
“今天,很少人知道股权证明的想法来自于对挖矿中的公地悲剧问题的辩论。如果你还不了解这些的话,我建议你阅读比特币论坛(bitcoinTalk)中极为重要的帖子之一,由Vandroiy所写的挖矿公地悲剧([If tx limit is removed] Disturbingly low future difficulty equilibrium)。Vandroiy的帖子吸引了很多人的兴趣,但是在两个月内并没有对这个问题取得实际的进展。然而,当QuantumMechanic发表了“股权证明而不是工作证明”的帖子(Proof of stake instead of proof of work)后,事情发生了变化。Quantum的帖子是比特币社区中第一个使用“股权证明”这个术语的,也有可能这就是“股权证明”这个概念的起源。Quantum认为股权证明可以允许更低的交易费用。当Quantum的股权证明概念出现在Vandroiy的帖子里后,这个概念获得了很多人的青睐。很快,Vandroiy, Meni, 我以及其他人意识到股权证明可能就是挖矿公地悲剧的解决方案了。从这以后,我个人的使命就是来推广股权证明加密学货币。”
2. PoS的实现:PoS (Proof of Stake权益证明)挖矿由Sunny King 在2012年8月发布的PPC(点点币)首先实现。相关链接:PPC: 一种P2P(点对点)的权益证明(Proof of Stake)电子密码货币
早在2011年BTC圈子中就有了对POS权益证明这个概念的讨论。大概说来,POS指的是一种对货币所有权的证明。一笔交易所消耗的币龄可被视为POS的一种形式。我们在2011年10月独立发现了POS及币龄的概念,当时我们意识到通过对BTC造币及安全模式精心地进行重新设计,POS实际上可以取代POW的大部分功能。这主要是因为,和工作量证明POW一样,POS权益证明也不可能被轻易伪造。当然,这也是货币系统中的一个关键特性-防止伪造。从哲学角度而言,货币在过去就是一种“工作量证明”,因此其本身可以代替工作量的证明。
--SK在白皮书中的说法,也佐证了加密货币圈内在2011年开始就已经有讨论,而PPC是第一个将其变成的现实的加密货币。
3.1 PPC白皮书:PPC: 一种P2P(点对点)的权益证明(Proof of Stake)电子密码货币
自从中本聪在2008年创造出比特币以来,工作量证明(POW)的设计理念已成为P2P电子货币的主流思想。在中本聪的设计中,POW是保证采矿及BTC安全的支柱。
在2011年10月,我们意识到币龄(coin age)可以是中本聪POW设计以外的另一种设计,即权益证明(POS)。自从那时起,我们就开始构思利用POS来构建P2P现金的安全模式及一部分造币流程,而POW主要在最初的造币阶段起作用,而重要性逐渐减少。此设计试图展示将来可在不依赖消耗能源的情况下,P2P电子货币仍然是可行的。我们将此项目命名为PPC.
回答:所有权/所有权证明是一个用于使用货币本身(拥有权)来达到某种目的的专有名词。在PPC中,POS取代工作量证明POW来处理交易及进行采矿。请参考我们的设计论文,里面有对此的详尽描述及实施方法。
当我发现比特币的时候(2011年3月),对我来说,比特币听起来太棒了!当时股权证明还没有成为一个术语。2011年4月,我才知道挖矿的公地悲剧问题,当时我认为这就是比特币棺材上的那颗钉子,现在我仍然这么看。
发现股权证明这个概念再次让我异常兴奋。股权证明极为美妙的是它无需挖矿奖励而工作。因为有了股权证明,挖矿中的公地悲剧就不再是一个问题。当然股权证明中可能没有得到交易费用,但这又有什么呢?如果你使用股权证明,这就是一个非常伟大的特点。如果你使用工作证明,低交易费反而是精彩中的缺陷。当我了解到股权证明,我发现有几种可能性:1)比特币也采用股权证明(或者是其他一些非常规的替代方法)从而长期保持垄断地位;2)另一种竞争币采用股权证明从而长期保持垄断地位。就我个人来看,我认为一种新的加密学货币出现的可能性很大。比特币非常规地改变规则,这样的挑战实在太艰巨。而重写规则,从头开始则是非常值得的宝贵财富。
POW:Proof of Work工作量证明 POS:Proof of Stake 权益证明
工作量证明的原理很简单:一方(通常称为证明人)出示计算结果,这个结果众所周知是很难计算的但却很容易验证的。通过验证这个结果,任何人都能够确认证明人执行了一定量的计算工作量来产生这个结果。第一个POW程序是1996年Adam Back开发的“哈希现金Hashcash程序,它使用SHA-256工作量证明措施来反垃圾邮件—通过要求所有收到的邮件都使用强POW附件。此系统使得垃圾邮件发送者在大量发送邮件时在经济上不可行,但却允许个人在需要的时候互相发送信息。时至今日,殊途同归的程序是 Bitmessage, 而这种算法也被赋予新的意义,即以“采矿”形式出现的BTC安全核心。 SHA256工作量证明是如何工作的? 对于密码学者来说,SHA256被称为单向函数,即其结果很难计算得出,但却很容易被验证。但如果要将这个结果反向计算出来,却需要尝试每个输入直到某个随机数匹配为止。传统的SHA256输出形式是一系列十六进制的64位数字和字母组合--从0123456789abcdef中取出。举例说明: SHA256(hello) = 2cf24dba... SHA256(Hello) = 185f8db3... SHA256(Hello.) = 2d8bd7d9... SHA256的输出被设计成了高度随机性,即使输入的数据有微小的变化也会使得输出结果迥异,这也就是SHA256成为单向函数的原因。 找出以0打头的SHA256的输入值平均需要尝试16次,“00”打头的需要尝试256次,以此类推。哈希现金及比特币采矿工作的方式,是要求使用者(即邮件发送者或矿工)找到一个“随机数”,使得其SHA256(信息+随机数)以一串零开头,然后把找到的随机数与信息一起发送出去,作为其工作量证明。例如,编号为254291的区块是: cf55c8d254fc97d2850547e5b787a936bc729497d76443a89 平均而言,在一个区块内进行运算时,需要进行72957千亿次尝试才能找到一个随机数,才能返回这样一个以很多0开头(技术上而言,282394 千亿,因为POW要求的比“以很多零开头”的要复杂一些,但是大体而言是如此。“人为设置这样的难度是因为防止攻击者凌驾于比特币网络之上,引入另一个区块链,并推翻之前的交易,引入新的交易。任何想要攻击比特币网络的人,都必须完成 282394 千亿次SHA256 运算来达到这样的目的。 但是,这有一个问题:工作量证明是相当浪费资源的。比特币网络每秒种进行600千亿次运算,最终这些运算并没有任何实际或科学用途。其唯一目的在于解决工作量证明问题,而工作量证明如此之难,是为了阻止攻击者轻易伪装成数以百万计的节点,并控制网络。当然,这种浪费也不是天生的。在没有其它选择的情况下,这种工作量证明的浪费对于获得一种去中心化的,半匿名的而允许所有人都能够几乎免费即时发送现金到其它人的全球货币网络来说,这个代价可能不算大。在2009年,工作量证明确实是唯一的选择。
但是在四年之后,我们有了其它选择。 Sunny King的素数币可能是最温和,但同时也是最有希望的解决方案。除了运算工作量证明之外,素数币还试图使其变得有用。没有采用SHA256运算,素数币要求矿工们寻找长的坎式链素数-如n-1,2n-1,4n-1等,然后这些数值在区块链里是素数(为了准确,n+1,2n+1,4n+1也是有效的坎式素数,素数币也接受孪生素数如n-1,n+1,2n-1,2n+1,这些都是素数。目前还不清楚这些区块链有什么用处--素数币支持者列出一些理论上的应用,但这些应用只需要长度为3的区块链,这很容易产生。但是,在目前比特币采矿界的更有力的说法是目前采矿硬件的大部分生产成本都是用在研发如何更有效地采矿方式上面(ASICs,优化线路等),而不是自己制造或运行这些硬件。而在素数币的世界里,这些研究会投入到寻找更有效的算法及数字理论计算上-这些研究的目的比单纯地进行加密货币采矿要更高级。 类似素数币这种“有用的工作量证明”令人鼓舞的原因还有,如果这种计算是足够有用的,那么这种货币的“浪费指数”会降至零以下,使得这种货币成为一种公共货币。假如有一种加密货币的每一次运算,都能够推动治疗癌症的研究能够进展1020 之一。现在,没有个人或组织有足够的动力去这样做:如果他们运气好能够成功的话,有两个选择。一是将秘密公诸于众,除了一些短期的媒体报道外,对于他们个人并无益处;二是在有保密条款的前提下把结果出售给一些研究者,这样大部分没有签署保密条款的人就无法从中受益。无论哪个选择,他们都不会挣到大钱。但是,如果这种神奇的运算可以被整合到某种虚拟货币中去,采矿所得就能鼓励不少人进行这种运算,而且运算所得会公布在区块链上,所有人都能看到。其社会效益将远超电力成本。不过,目前我们不知道这种神奇的治愈癌症的运算,最接近的一个项目是Folding@home项目,但这个缺乏数学上的可验证性—一个不诚实的矿工能够轻易地制造让工作量证明人难以分辨的虚假计算,但对社会毫无益处。在数学可验证及有用的工作量证明的领域,素数币是目前最好的。虽然其带来的效益能否完全超出其生产及电力成本仍然很难判断。很多人对此存疑。但即使如此,素数币的成就仍然值得表扬,能够给公众带来效益已经收回了部分成本,总比没有强。 POS权益证明 但是,还有另外的SHA256算法已经存在,从根本上摆脱了工作量证明的算力浪费,这就是权益证明。与要求证明人执行一定量的计算工作不同,权益证明要求证明人提供一定数量加密货币的所有权即可。中本聪没能做到这一点的原因很简单:在2009年之前,没有任何一种数字财产可与密码协议层面上产生互动。Paypal和信用卡在线支付已经存在十几年了,但这些系统都是中心化的。如此这些中心化的系统也使用权益证明的话,就会给Paypal及信用卡供应商在提供虚假交易上提供可乘之机。IP地址及域名是部分去中心化的,但目前针对这两种方式都无法建立一种所有权证明而且无法验证。实际上,第一种能够实现在线权益证明的数字财产就是比特币本身(及普通的加密货币)。r 对于如何实现权益证明有过几种方案,但目前为止实际成功应用的就是PPC,也是由Sunny King 发明的。POS权益证明的运作方式如下:当创造一个POS区块时,矿工需要创建一个“币权”交易,交易会按设定的比例把一些币发送给矿工本身。(类似利息,原理与比特币的区块产出25个接近)。一个SHA256的哈希运算是基于以下数据得出的:交易输入,其它一些固定数据,以及当前时间(以秒为单位的整数,基点是1970年1月1日)此哈希运算将与工作量证明要求进行比较,与比特币很象,除了其难度是与交易输入的“币龄“成反比的。在PPC中,币龄的定义是交易数量乘以该笔交易的币存在于钱包中的时间。由于POS的哈希运算只是基于时间及静止数据,因此无法加快其运算速度。每一秒钟,每个PPC交易输出都有一定机会产生与其币龄及其钱包余额成正比的有效的工作。不增也不减。实质上,每个PPC都可以成为“模拟矿机”,虽然这种矿机的算力会随着时间直接增长,但每次发现一个新块其算力就会归零。 目前还不清楚PPC使用币龄或使用输出大小是否一定有必要,这样做的初衷是防止矿工重复使用得到的币,但是PPC目前的设计并不允许矿工有意识地去通过一定量的交易输出生成一个区块。目前的机制是系统会每隔若干随机秒挑选出某个PPC,赋予其所有人生成POS区块的权力。即使在这个随机过程中没有把币龄做为衡量因素包括进去,这也几乎和比特币采矿相类似,只是没有了浪费。但是,对币龄一说不利的还有一个比较复杂的理论:因为如果你无法创建一个区块的时间拖得越长,下一次成功的机率就会越大。而POW矿工创建区块的时间会更有规律些,因此减少了类似中心化矿池的风险。 加密货币之外 但POS更有趣的地方是其可以应用于加密货币之外的地方。
目前,反垃圾邮件系统在以下三类防护机制中都失败了:工作量证明,captchas和身份认证系统。 工作量证明,已经使用在Hashcash及bitmessage当中,我们上面已经进行了深入讨论,不再赘述。 Captchas在互联网上广泛使用。其原理是给出一个机器很难解答但人类很容易解答的问题,因此把人和机器区别开来(CAPTCHA 是 Completely Automated Public Turing test to tell Computers and Humans Apart”的首字字母缩写)。实际应用中,通常会使用很混乱的背景图上带上字母和数字,然后要求答题人打出其中的数字和字母。最近的变化是将其“对大众有用”,方法是从印刷书的扫描件里取出某个字,利用公众的力量将其数字化。不幸的是,captcahs效率并不高,最近的机器学习进展已经将成功率提高了到30-90%,这个数字和人类的成功率相近。 身份识别系统有两种形式。一种是系统会要求使用身份证进行注册,这也是民主团体防止被匿名发言者控制的方法。另一种是系统要求交纳一定费用进行注册,如果发现用户滥用系统,则管理员可以说没收注册费并取消帐户。这些系统是起作用的,但牺牲了匿名性。 权益证明可以用于第四类反垃圾邮件的机制。假设在注册论坛帐户时,不需要填写Capthas字符,而是要求用户通过发送给自己一定量的PPC或者BTC来消耗币龄。为确保每个权益证明运算都是由用户执行的,而且不是随机从区块链中抽取的,系统可以要求用户使用相同的地址发送已签署的信息,或者是可以用某种方式把他们的钱发送给他们自己(例如,发送的数量可以设定为0.0000xxx,这个数字是随机设定的。)请注意,此处币龄起到了决定性的作用,我们希望用户能够根据需求创造权益证明,所以必须消耗一些东西来防止重复花费。从某个角度而言,手机短信验证就是某种形式的权益证明,要求用户发送某个信息,证明对某个号码的所有权以便创建google帐户。虽然这并不是纯粹的权益证明,因为电话号码通常与身份证紧密相关,而且买电话的过程也象是填captcha。因此,短信验证具备了这三种反垃圾邮件系统的一些好处和一些坏处。 但权益证明的真正优势在于其去中心化的系统,类似bitmessage.目前,bitmessage使用工作量证明因为没有其它选择。目前并没有去中心化的captcha存在,而且在这个方面也没有太多的研究在进行中。
不过,工作量证明是浪费资源的,这一点也让Bitmessage有些难以处理,同时也要耗费电力去维持系统运行。如果是电子邮件通信还行得通,但如果是即时通信就省省吧。但如果bitmessage 能够与比特币(素数币或PPC)整合在一起,并用POS来运行,就可以消除大部分的困难和浪费。 POS权益证明有未来吗? 有很多迹象表明确实有。Sunny King说比特币的安全性将随着区块产出持续下降而变得脆弱,这确实也是他创造PPC及素数币的出发点之一。自从那时候起,PPC的市值占据了第五的位置(本文写于8月底,截止10月2日PPC市值已经上升至第3),而且还有很多山寨币模仿了这种POS设计。目前,PPC还不是完全的权益证明,因为其支持者人数不多,币值也不高。被人控制的风险大于比特币,所以存在着一个中心化的检查机制,无论攻击者如何攻击,开发者可以确保“检查点”存在于区块链中。 最终的目的使得这个检查机制更加去中心化,并弱化其影响,同时更多的人群可以拥有PPC。另一个方法是可以把POS作为一个去中心化的检查机制整合进比特币里面去。例如,可以创建一个协议让多人合作,通过把币发回给自己,消耗至少1百万年的BTC币龄来产生一个区块,而这个区块将被所有人同意为一个有效的区块。 在2009年,加密货币在一系列看似不相关的创新下诞生了:哈希现金、merkle 哈希树,工作量证明及公匙密码学。而这些创新都在BTC中起到了关键作用。 现在,比特币及加密货币将继续存在下去,这又为加密货币的未来提供了另外令人兴奋的可能性。我们现在能够在加密货币本身以外设计新的协议-权益证明就是绝好的例子。权益证明可以被用来保证一种加密货币的安全,它可以被用在去中心化的反垃圾邮件系统,甚至还有我们没有想到过的数十种其它协议。就象直到1998年戴伟发明B-money之后,人们才会想到比特币。 未来,存在无限可能。
POW是一种按劳分配的模式,算力越高、挖矿时间越长,获得的数字货币就越多了,如果某个节点拥有全网算力15%的算力,那么该节点理论上拥有15%的概率获取到记账权和奖励
那么现在都有谁在使用POW机制呢?最重要的也是最出名的就是BTC以及BTC其他分叉出来的儿子们,比如说BCH、BCD等等,还有就是早期的ETH、LTC、BTM等等 ,POW有哪些优点呢?首先算法简单,采用大家都认可的数学逻辑,寻找随机数这样的方法,容易实现。第二,安全系数最高,如果你想要破坏整个系统的话,就需要投入巨大成本,那POW有哪些缺点呢?首先需要耗费大量电力,处理效率比较低,其次还有算力集中的问题,还有51攻击等等这些隐患。POS也称股权证明机制,是通过持币产生利息,从而对于验证人以及节点进行奖励。这里我们大家首先要了解一个概念,就是币龄,币龄等于币的数量乘以币持有的天数,因而你持有的币数量越多,持有天数越长,你获到的记账权和激励的概率就会越大拉!当你获得激励之后,你的持币天数就会清零,币龄也回被清空,这样周而复始,POS就像事你到银行里面去存钱,银行根据你存的数字货币的多少和存放的时间给你算利息,那么有谁在使用POS呢?首先是ADA爱达币,Nxt未来币,Qtum量子链。当然,区块链共识机制不止有这两种,还有更多的共识机制,在巴比特倾力打造的区块链系列趣味科普视频栏目喵懂区块链新一期就有讲到区块链共识机制完整视频戳这里:喵懂区块链11期 不懂共识机制,何以谈区块链?
【喵懂区块链】是由巴比特出品的一档趣味区块链科普栏目,用简单的语言,趣味的演绎,每天一点区块链小知识,让你轻轻松松了解什么是比特币,什么是区块链,认识一个更真实的区块链世界。更快进阶区块链世界,欢迎来“巴比特资讯”公众号找我们哦~
Nervos 项目是推崇比特币的 Nakamoto 共识机制。在比特币之前,(在分布式系统中)一个共识网络中的所有参与者都彼此知道其它的每个参与者。它们之间的信息会通过安全链接或者采用数字签名的方式进行传递,并且,消息对于定时的假设是异步的。比特币引入了带有延迟的无需许可网络的概念。在比特币网络中,新的节点可以随时加入,并且可以获得可信的网络历史记录。网络的参与者不再需要知道其他参与者,信息也不再需要被可信的主体签名,而是通过广播的方式传递。
那么,如果不采用工作量证明机制,或者在一段时间内不采用工作量证明机制,这样的网络还能够正常运转吗?对于一个无需许可区块链来说,答案是否定的。为了保证后来加入的节点能够看到可信的区块链历史,工作量证明机制必须永远持续下去。并且,节点需要随时知道网络的延迟信息,因此网络中无法采用异步协议。另外,这个网络还要求大部分节点都是诚实的。
那么,权益证明机制可以达成网络中的这些属性吗?和工作量证明机制类似,权益证明机制的运行需要一种稀缺资源作为基础。然而和工作量证明机制不同的是,如果没有可信的主体,那么采用权益证明机制的网络无法容忍较高的延迟。这意味着在某些情况中,权益证明机制系统会面临几种能够让新参与者无法分辨真实网络历史的攻击。为了解决这个问题,采用权益证明机制的系统必定会采用由一些拥有公共身份的可信主体进行签名的检查点机制,这实际上又违背了去中心化和无需许可的这个核心信条。
在某些情况中,采用权益证明机制比采用工作量证明机制的系统有更强的安全属性。因为整个系统的价值是已知的(全网有多少 Token,Token 的价格都是公开可知的),如果大部分「价值」达成一致,那么参与者的数量就不那么相关,这样一来,网络可以绕过由于不知道所有参与者数量带来的问题。但为了确保它们是否达成一致,所有人都必须保持在线,而这是一个很强的安全假设,并且每一个区块都必须被几千个节点签名,这会对性能产生很大的负面影响。因此,虽然参与者数量是已知的,但这并不能弥补权益证明机制相对于工作量证明机制的缺陷。
关于秘猿科技:秘猿科技成立于 2016 年,总部位于中国杭州,于北京、旧金山设有分支机构。公司主要从事区块链基础技术与工具的研发,开发项目涵盖区块链领域所有核心环节,先后参与设计与开发企业级高性能区块链内核 CITA,公有链NervosEthereum,手机钱包Cyton与 Neuron,区块链浏览器Microscope等开源项目,并建立开源技术交流社区CITAHub帮助技术与商业的结合。
如果有任何技术疑问或者商业场景落地咨询,请移步CITAHub 论坛进行讨论。CITAHub 的使命是打造一个连接开发者与运营方的合作平台。区块链是用来创造价值网络的工具,基于该理解,我们希望 CITAHub 能够联合各方资源,为开发价值网络提供场景、开发工具及最佳实践。
在工作量证明中,一个成员要想成为领导者并选择下一个要添加到区块链的区块,他们必须要找到解决一个特定数学问题的方法。
鉴于所使用的散列函数是加密安全的,找到解决这个问题的唯一方法就是用暴风算法(尝试所有的组合)。换句话说,从概率学的角度,首先解决上述问题的成员是拥有最大计算能力的成员。这些成员也被称为矿工。
每当一个区块被开采的时候,该矿工会获得一些货币(区块奖励、交易费用),因此他就更有动力继续采矿。在工作证明中,其他节点通过检查区块的散列是否小于预设数字来验证区块的有效性。
由于计算能力的供应有限,矿工也不会想作弊。因为硬件、能源和错过的潜在开采利润的高成本,攻击网络会损失很多。
股权证明去掉了工作量证明对于能源和计算能力的要求,并用股权替代。股权就是在一段时间内成员愿意锁定的货币数量。作为回报,他们有和他们的股权成比例的机会成为下一个领导者,并选择下一个区块。现在有一些币种只用股权证明如Nxt和Blackcoin。
PoS的主要问题就是所谓的缺乏利害关系。从本质上来说,在分叉的情况下,股权持有人不是没有在两条链上持股的动机,然后就会增加双重支出问题的危险性。想了解更多,看这里。
以POW为共识算法的最著名的例子就是bitcoin(比特币),能力则表示为算力,谁拥有的算力最大,就更有机会获得挖矿成功的机会,从而获得不定数的bitcoin的奖励(每4年递减一半)。
以POS为共识算法机制目前没有特别的出名的例子(EOS中存在,但是实践证明有效性的时间还不够),因为还没有被完全证明是一种可实践的算法,不同POW出现在bitcoin之前,POS大多出现在很多公链的后面,所以多数POS指一类算法,而不是针对一个链的一种算法,权益证明的本质就是,谁拥有的资产最多,能得到挖矿奖励的几率越大,权力也就越大。
由于区块链体系中并不存在某个节点永久作为检查点确认的节点,而是每个参与节点都有机会被选举成为该角色,因此在每个节点都能够进行读写操作时,整个区块链体系从功能上等价于一个不支持事务机制的多活数据库。而具体使用哪种算法选择出块节点(PoW与PoS之争)、哪些节点在接收到数据块时该如何验证(PoS与DPoS之争)、节点之间的数据以什么方式进行传播(DAG与链式结构之争)、以及如何确保一条交易被大多数参与节点所接受(PBFT、Paxos、RAFT、以及各种分叉解决方案等算法之争,Hyperledger 1.0甚至直接使用中央Kafka做排序也是醉了),则是区块链共识算法需要回答的问题。不同的解决方式制约着区块链的一致性、性能、吞吐量、以及可靠性。
POW劣势:很明显,POW机制,采用能力为本的机制,必定会为此而浪费过多的算力,而算力的背后就是CPU和GPU的烧,以及电力方面的资源支持,所以POW机制最大的劣势就是其浪费的资源过多(想想,bitcoin价值如此之高,必定有很多的人为之而努力挖矿,而最终得到奖励的只有一个,并且算力决定你的概率,所有人都大力的发展自己的算力,自然也浪费了绝大多数的资源)
POW优势:安全,是目前唯一经过了实践检验的算法。虽然有不可避免的51%攻击概率,但是几率很小,拥有51%节点的算力并不简单。
POS劣势:POS机制用资产决定几率的大小,对于算力的要求并不高(不是像bitcoin一样,一群人用算力补充解数学题),但是很明显,POS为机制的链实际是资本主义链,谁最有钱就谁的权力最大,但是又可能出现权益粉碎攻击的潜在的危险,51%攻击几率反而很小,因为你要控制51%的资产,从而来控制链的共识,造成攻击,反倒是那些权益很低的人,会在本来是一条链共识的基础上,多开侧链,因为权益证明不需要算力,没有损失,但是如果有一天这一条侧链被主链认知接受,他们将得到收益(和bitcoin类型的POW不同,POW需要消耗算力,如果没有被接受,则会遭受损失)。(也可能直接进行攻击,如上手段,由于侧链区块变多,从而可能使得价值变少,让资本多的人损失(目前有部分应对措施,如以太坊的casper 里的slasher。)
因此,如果把挖矿的概念扩展,不论是PoS、PoW或DPoS算法中,节点间竞争成为检查点的过程即挖矿过程。
PoW是一种极为粗暴原始,但却又及其有效防止恶意攻击的选举算法。该算法与计算机内核中多线程协作的自旋锁有异曲同工之处,自旋锁的原理在于通过线程自身不停循环判断一个内存地址状态,直到该状态设置为空闲后,通过CPU原子操作将其置为锁定状态,以此和其他线程进行互斥的机制。这种机制和PoW极为相似。
而PoS更倾向于类似Raft投票机制,通过固定时间协调所有节点参与投票,根据某种规则(例如持有代币数量、或提供存储空间大小等)判断每个节点的权重,最后选取权重最高的节点作为检查点节点。而在数据库一致性选择的Raft算法中,普遍会根据最新事务号作为权重,多个节点之间优先选择包含最新事务记录的节点作为主节点。
因此,可以看到PoW与PoS最大的区别在于,PoW在算法复杂度足够高的前提下,基本不需要太多的节点间互相通讯和确认,对代码的实现要求极低。而PoS对于多节点间一致性验证、防伪等要求较高,但是很大程度上可以沿用传统一致性选举的思路进行一定程度的优化即可。
但是PoW的缺点与自旋锁一样,对于计算资源的要求极高。一个被错误应用的自旋锁可以轻易消耗掉计算机中所有的CPU资源,同样PoW当前被人们诟病的最大问题也在于资源消耗。PoS在这方面则没有任何问题。
PoW采用简单粗暴但极为有效的方式,通过节点首先自证其资质后才进行广播的方式,大幅度减少了网络间的通讯压力,但与之带来的问题则在于自证资质的计算资源消耗极大。
PoS采用与传统分布式一致性验证类似的机制,通过代币数量(或存储容量等指标)作为权重依据,使用某种分布式算法选举出每次的检查点节点。这种机制的好处在于没有消耗计算资源的自证资质过程,但是带来的问题在于每次选举时在大量节点的网络中对网络压力极大。
POW工作量证明:就是跟世界上的黄金一样,需要勘探,组队,挖矿,加工等一系列环节,需要你用劳动最后换取商品黄金的价值。
POS权益证明:就是我们去证券交易所(上海证券/深圳证券)买卖股票一样,用钱去买了某某公司的股票后,你持有股票就是该上市公司股东,享有该上市公司的分红权等等收益。
区块链网络最重要的一个机制是分布式账本,分布在区块链网络的不同节点共同维护和记账账本,由于各个节点的地位是平等的,当出现分歧的时候,如何达成共识就成了一个问题,而解决这个问题需要大家共同协商,也就是共识机制。目前比较知名的共识机制有POw(工作量)和POS(权益证明)。
POW(Proof of WorkPow) :通过工作量证明,谁的算力高→谁先计算出结果→谁就可以获得记账权利及工作奖励。俗称挖矿,其代表就是比特币。
POS(Proof of Stake):为了解决POW机制计算资源浪费,其不需要通过大量算力来挖矿,而是通过计算你持有占比来决定你的记账权益,谁的持有越多→谁的记账权益越多。具有代表性的是EOS。
说pos的attack成本比pow高的大约是媒体文章看多了,比特大陆如果51攻击比特币,价格下跌,他的矿机就都作废了,那都是成本,比特大陆本身也持有比特币那也废了。他的所有生意都要作废了。 在pow下转一笔亿的交易只要你愿意等足够多的块,任谁都无法修改这笔交易。但是你在POS下转一笔这样多的钱试试,10年后你都睡不好觉,因为只要POS大户合起伙来给你们都修改了毫无成本!


