从POW到Casper来感受下以太坊共识机制演进艺术(上)

囚徒戈多第4篇文章,阅读需要5分钟

这或许是全网解释区块链的价值核心--共识机制最详细的文章。


前言

区块链起源于比特币,发展于以太坊。想对区块链有系统性的认知,最好先熟知比特币和以太坊的知识。这是我从比特币和以太坊写起的原因。


而对区块链项目来说,共识机制是其根本价值所在。共识是区块链应用落地的基础,指的是参与者如何在此系统中进行协作。所以,本文希望能对比特币和以太坊的共识机制做总结,帮助大家更好地认识区块链的价值。


正文

初遇比特币,很多人看到的是一个周身被贪婪、欺骗所围绕,充满暴戾与丑闻的事物。


而当有人试着吹散泡沫,探寻本源时,他们会为比特币所构建的“共识”所折服。感觉像是走入一个全自动化工厂,每个处理事情的节点,都按照既定规则运转。


从广义上讲,共识是一种社会协作方式,可在不同领域应用,提升效率,是比特币区别于“郁金香”、“密西西比”等泡沫事件最本质的不同。


另一方面,比特币共识并不完美。由于中本聪的原意是创造一种“钱”,所以在CAP原则(指的是在一个分布式系统中,一致性Consistency、可用性Availability、分区容错性Partition tolerance,三者不可得兼)框架下,他选择了一致性和分区容错性,弱化了可用性,使比特币共识在扩展应用时,遇到了难题。

从POW到Casper来感受下以太坊共识机制演进艺术(上)_第1张图片


基于此,有人试着去研究不同的共识机制,弥补比特币在应用性上的不足。


以太坊社区是其中最著名的一群人,他们正尝试把权益证明POS引入到以太坊中,并将此计划命名为Casper(取自同名电影,中文译为《鬼马小精灵》)。


本文将围绕比特币工作量证明POW与以太坊权益证明计划Casper展开叙述。


比特币工作量证明POW

 

起初,中本聪想创造一种提前约定好发行机制,并且一旦发行,任何人都无法操控的货币。这样就避免了有人因一己私利,通过控制货币发行量,变相盘剥民众利益。


为了达成目的。首先,中本聪将比特币总量设定在2100万个,并利用动态函数,规定每10分钟产出一定数量。这2100万个币,将于2140年全部流通于世。


其次,比特币交易记录不受任何数据中心控制,而是利用点对点技术(P2P),让用户之间直接转账,过程就像用微信互传文件一样。


为了维护系统正常运行,中本聪将新产出的比特币与转账手续费,奖励给记账参与者(矿工,又称节点)。干活的人得到了奖励,这样便有人心甘情愿的为系统付出了。


为了不出差错,中本聪需要采取一套运行规则来使系统符合以下原则:


1. 结果一致。每个节点记录的全网交易记录是一致的。

2. 不可篡改。任何人无法篡改交易记录。

3. 有效率。货币系统工作效率高。

4. 可持续。货币系统可一直运行下去。


而用以保证系统正常运行的规则,便是共识机制。


比特币共识机制是如何运转的呢?


当用户A给用户B转账时,节点(包括AB自己)的比特币客户端,会收到这一信息。


同时,所有参与者会在客户端内,利用计算设备(矿机)每隔10分钟计算一道“哈希难题”。这道难题出现时间及难度,受动态函数控制,以保证10分钟间隔。


这个过程被称作工作量证明(POW)。


率先计算出正确结果的节点,将根据代码审查交易信息是否属实,将包括AB用户在内、一定时间段内的转账信息,打包在一起确认(打包成“块”),并将当前的“块”,连接到此前的“块”上,生成“区块链”,并同步(广播)至全网所有比特币节点。


此时,A给B的转账交易会判定为有效。


从POW到Casper来感受下以太坊共识机制演进艺术(上)_第2张图片



记账节点获得新产生的比特币及转账手续费,作为奖励,并开始新一轮的哈希难题计算。


此外,记账结果以“最长链”为准。若有2个参与者同时完成工作量证明,并打包区块,则他俩会开始“竞赛”,谁最先产生新的区块,就以谁为准。


工作量证明机制(POW)使每次参与记账的节点是唯一的,计算结果会被广播至全网以最长链为准,这保证了全网节点交易记录是一致的。


此外,在记账时,节点同时会检查与该交易有关的、所有地址的“未被花费的余额”(UTXO)。比如,检查A是否有未被花费的余额,则需检查A是否收到过更早的转账,以此类推,直到“创世交易”。


理论上,只要“创世交易”不变,当前每个人未被花费余额就是确定的。


创世交易不变,加上交易记录分布式存储,使得任何人无法篡改交易记录。



从POW到Casper来感受下以太坊共识机制演进艺术(上)_第3张图片
比特币生态



能源消耗与“下议院悲剧”


事实上,比特币为了保证系统一致性,牺牲了可用性,并引出一系列问题。


首先,比特币不是有效率的。


一方面,受到大小的限制,每个“块”包含4000条交易数据,按10分钟的生成时间换算,相当于每秒处理6.67条交易,以至比特币的全网未确认交易数一度达12134笔,这对货币来说是不合格的。


另一方面,工作量证明机制消耗大量无谓资源。每次打包成块时,所有节点分别计算哈希难题,而最终有资格记账权的节点却是唯一的。其余节点所做工作皆是浪费。


此外,为了有更大概率获得记账权,人们发明了专门的矿机来提高算力。而矿机在计算哈希难题过程中,消耗大量电力。据统计,目前全球比特币矿场年耗电量,超过捷克等全球159个国家。


其次,比特币或许不是可持续的,独特的发行机制或许会让比特币陷入“下议院悲剧”。

 

由于中本聪规定,每产出21万个区块,新比特币奖励减半。到2140年,比特币全部被挖出时,矿工奖励仅剩用户转账手续费。


同时,别忘了“块”的大小是有限制的,所以手续费数量是一定的。


于是,在未来某一时刻,当矿工记账获得的比特币奖励,与矿机硬件、电力地租等成本持平时,大量矿工将退出比特币系统,算力集中在少数人手里。


他们可以凭借已掌握的算力,在之前的区块上,延伸出新的“最长链”,从而将另一条链作废,从而将自己已经支付的币取回。这会对比特币系统造成毁灭性打击。


从POW到Casper来感受下以太坊共识机制演进艺术(上)_第4张图片
算力攻击

事实上,比特币社区早已认识到问题的存在,近年来他们讨论过扩大“块”的容量,或者引入隔离见证、闪电网络等方案,提高每秒可处理的交易数(TPS)。他们甚至还讨论过是否扩大发行总量。但始终没有达成一致。


好消息是,尽管比特币支付还不像法币一样方便,但美国、日本、德国、加拿大、白俄罗斯、瑞士等国家已接受比特币支付,并在一定法律范围内,承认其合法地位,部分国家还设置了比特币ATM机。


本质上,作为一种货币,比特币正向着初衷迈进。相比之下,以太坊需要解决的问题,就要复杂很多了。


拓展阅读:

Bitcoin: A Peer-to-Peer Electronic Cash System

https://bitcoincore.org/bitcoin.pdf


Next-Generation Smart Contract and Decentralized Application Platform

https://github.com/ethereum/wiki/wiki/White-Paper


Ethereum Casper 101

https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0


A Proof of Stake Design Philosophy

https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51


Proof of Stake FAQs

https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs


Casper Proof of Stake compendium

https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium


Proof of Stake: How I Learned to Love Weak Subjectivity

https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/


Critique of Buterin’s “A Proof of Stake Design Philosophy”

https://medium.com/@tuurdemeester/critique-of-buterins-a-proof-of-stake-design-philosophy-49fc9ebb36c6


Cryptocurrencies without Proof of Work

https://arxiv.org/pdf/1406.5694.pdf


casper_basics.pdf

https://github.com/ethereum/research/blob/master/papers/casper-basics/casper_basics.pdf


The Triangle of Harm

https://vitalik.ca/general/2017/07/16/triangle_of_harm.html


Casper Proof of Stake compendium

https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium


slasher

https://blog.ethereum.org/2014/01/15/slasher-a-punitive-proof-of-stake-algorithm/


The History of Casper — Chapter1

https://blog.ethereum.org/2016/12/06/history-casper-chapter-1/


The History of Casper — Chapter2

https://blog.ethereum.org/2016/12/07/history-casper-chapter-2/


The History of Casper — Chapter3

https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-3-70fefb1182fc


The History of Casper — Chapter4

https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-4-3855638b5f0e


The History of Casper — Chapter 5

https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-5-8652959cef58

你可能感兴趣的:(从POW到Casper来感受下以太坊共识机制演进艺术(上))