ETH-21权益证明

内容整理自 北京大学肖臻老师《区块链技术与应用》公开课 21-ETH-权益证明

比特币和以太坊都是用的基于工作量的证明,这种共识机制一个普遍批评就是浪费电

比特币能耗随时间变化的情况:随时间不断增长

 比特币具体的统计数据:

比特币每年的总能耗大约是70TWh

相当于智利国家的能耗

相当于647万多美国家庭的能耗

占全世界总能耗的0.31%

平均每个交易消耗1014KWh

相当于34.26个美国家庭一天的能耗  

比特币挖矿每年总收入60多亿美元,费用大概在35亿美元,占总收入的57.48%。挖矿利润空间还是很大。

以太坊能耗随时间变化的情况:也是随时间增长

以太坊具体的统计数据:

以太坊每年能耗大概是20TWh

相当于冰岛国家能耗

相当于美国183万个美国家庭的能耗

占全世界总能耗的0.09%

每个交易的能耗大概是67KWh

相当于2.25个美国家庭一天的能耗

以太坊每年挖矿收入是59多亿美元,费用是24亿美元,利润空间大。 

把比特币和以太坊的能耗加在一起当做一个国家来算:芬兰,比利时,巴基斯坦,比特币+以太坊,哈沙克斯坦,阿联酋,荷兰

权益证明:

矿工挖矿为了取得出块奖励获得收益,给矿工奖励是为了激励矿工参与区块链的维护,如果没有奖励矿工没有动力参与记账。矿工要想挖矿就需要一大笔资金去买挖矿设备,挖矿的收益由挖多少区块决定,挖多少区块由算力所占比例决定,算力由有多少设备决定,设备由有多少资金决定。投入的资金越多,买到的设备越多,挖矿的算力越大,得到的收益就越多。所以挖矿的收益是由投入资金决定的,那么能不能靠直接比资金多少来决定资金分配。把资金投入到区块链的开发, 将来就按照每个人投入资金的多少来决定收益分配,这就是权益证明的基本思想,有的时候也称为virtual mining。采用权益证明的加密货币一般在发行之前会先预留一部分货币给开发者,也会预留一部分货币来换取开发加密货币需要的资金,将来按照权益证明的共识机制每个人按照持有货币的数量来进行投票。

这种方法和工作量证明相比,一个明显的好处是省去了挖矿的过程,也避免由此带来的能耗和对环境的影响。基于工作量证明的共识系统从某种意义上说,维护区块链安全的资源不是一个闭环。Block Chain is secured by mining, 挖矿的设备是由法币买来的,也就是说是从加密货币的生态系统外面得到的。这就带来一个问题,虽然最近两年加密货币总市值有很大的增长,但是和世界经济总量相比仍然是微乎其微,所以如果有某个组织想发动恶意攻击,只需要有足够的资金来购买挖矿设备,然后聚集到加密货币总算力一半以上的算力就可以,也就是说发动攻击所需要的资源是可以从外部得到的。如果是刚发行的小币种(AltCoin)遇到这种攻击可能是致命的,AltCoin Infanticide。

权益证明是按照你有多少该币种的币进行投票,所以如果有某人想发动恶意攻击,需要先设法获得该币种发行量一半以上的份额,也就是说发动攻击的资源只能从加密货币系统内部得到,这也是说为什么是闭环的原因。无论攻击的组织者在外部拥有多少钱,多少资源,都不会对加密货币系统造成直接影响,必须先要用钱去买足够多的币,然后才能发动攻击。而一旦有人大量买入加密货币,货币价格会大涨。

权益证明和工作量证明不一定是互斥的,有的加密货币采用的是混合模式,仍然要挖矿,但是挖矿难度和占有的权益相关。比如说每个矿工拥有一定数量的币,挖矿的时候持有的币越多,挖矿的难度越小。这种带来的问题是拥有币最多的人,挖矿最容易。所以有的加密货币要求投入的币会锁定一段时间,不能够重复使用。比如挖当前区块时投入一定数量的币用于降低挖矿难度,那么等区块发布出来之后,投入的币就会锁定一段时间,挖下一个区块的时候这个币就不能再用了,要过一段时间才能重复使用,这叫做proof of deposit。

基于权益证明的共识机制面临许多挑战,早期面临的挑战就是两边下注,nothing at stake。比如有下面这样一个区块链,如果挖矿的话会沿着上面那条链去挖,因为是最长合法链。其实下面那条链也有可能成为最长合法链,但是不会两条线都挖,因为这样做会算力分散,挖到区块的概率减少。但是如果是权益证明,可以两边都下注,如果上面成为最长合法链,那么在下面锁定的那些币是没有影响的。这是早期基于权益证明的共识机制遇到的一个问题。

以太坊中准备采用的权益证明协议叫作Casper the Friendly Finality Gadget(FFG)。在过渡阶段也是要和工作量证明混合使用的。为工作量证明提供Finality,是一种最终的状态。包含在Finality中的交易不会被取消,单纯基于工作量证明(挖矿)的交易是有可能被回滚的。Casper协议引入一个概念叫作Validator,要想成为一个Validator需要投入一定数量的以太币作为保证金,保证金会被系统里面锁定住。Validator的职责是推动系统达成共识,投票决定那条链是最长合法链,投票权重取决于保证金数目大小,类似于数据库中的two-phase commit。挖矿的时候每挖出100个区块就作为一个epoch,然后决定它能不能成为Finality进行投票,第一轮投票是prepare message,第二轮投票是commit message。每一轮投票都要有2/3的验证者验证通过,按照保证金金额大小计算。实际系统中不再区分两个message,而且把epoch从原来的100个区块减少到50个区块,然后每个epoch只进行一轮投票即可,这个投票对于上一个epoch来说是commit message,对于下一个区块来说是prepare message。连续两轮投票,也就是两个epoch都得到2/3以上的通过才算有效。

验证者参与这个过程的好处是,如果验证者履行职责可以得到一定的奖励,就像矿工挖矿得到出块奖励,相反如果验证者有不良行为会受到相应处罚。比如某个验证者行政不作为,会扣掉一部分保证金,如果两边下注会没收全部保证金,没收的保证金被销毁,相当于减少了以太币的总供应量。验证者有一定的任期,即使交保证金也不是永久任职,任期满之后要经过一定时间的等待期,等待期是为了让其他节点检举验证者是否有不良行为,进行处罚。如果等待期过了没有问题,可以取回保证金以及应得的奖励。

Casper协议可以给挖矿挖出的区块的某种状态做一个检查点,那么检查点是不是绝对安全?通过验证者投票达成的finality有没有可能被推翻?假设有某个有恶意的组织要发动攻击,如果该组织仅仅是矿工是没有办法推翻finality。如果出现攻击成功的情况,一定是大量的验证者两边下注,给有冲突的finality都下注,至少有1/3的验证者是两边都投票的,一旦被发现了这1/3的验证者的保证金将会被没收。

之所以不在一开始就用权益证明,是因为权益证明不是很成熟,工作量证明是比较成熟的。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值