PoW、PoS和女巫攻击
ETH作为当今加密生态的头部公链,其拥有最为繁荣的生态系统和最大的TVL。因此,ETH2.0的升级计划也理所当然的成为当下加密世界最受关注的热点之一。而该次升级计划的核心之一就在于验证机制将由PoW转变为PoS。
根据区块链共识机制中最为核心,也是最为基础的“抗女巫攻击策略”进行分类,区块链共识机制可以分为最为主流的两大分支——工作量证明和权益证明。
我们先简单说明一下什么是女巫攻击:所谓女巫攻击,就是指通过伪造多个ID对网络进行干扰的攻击方式。该名称来源于美国著名小说《女巫》。该小说的主角患有多重人格障碍症,一个身体内同时兼容多个人格。
女巫攻击在网络中很常见,淘宝产品中的刷量、刷赞等都是黑客通过伪造大量ID造假完成的。女巫攻击最常见的攻击场景是数据冗余机制,即为了提升网络安全,将数据进行多重备份的机制,而区块链正是使用数据多重备份机制的典型。因此,在分布式数据存储的区块链中从来不乏女巫攻击的身影。
要实现女巫攻击,需要通过一个实体节点伪造出大量的伪装节点,并将这些节点广播到整个区块链网络。当其他正常节点查询信息时经过这些伪装节点,攻击者可以操控伪装节点对查询进行干扰,继而反馈给查询者虚假信息,或者干脆不反馈任何结果。
当一个区块链中的伪装节点数量超过真实节点时,攻击者会凭借投票票数领先的优势击退真实的节点。攻击者还可以通过拒绝接受新区块、返回错误信息等方式拒绝新节点的加入,以达到对区块链的统治。这种情况下,攻击者就拥有了整个区块链的决定权,可以篡改交易记录、更改交易顺序,对区块链造成极大的危害。
数据:某巨鲸再次花费320枚ETH购买6400亿PEPE:金色财经报道,据Lookonchain监测,3小时前,某巨鲸再次花费320枚ETH(52.9万美元)购买了6400亿PEPE。
该鲸鱼还于6月5日花费280枚ETH(50.7万美元)购买5000亿PEPE,并于5月6日花费253枚ETH(48.1万美元)购买了1640亿PEPE,平均购买价格为0.000001163美元。[2023/8/25 10:02:37]
区块链的基本原理就是用户将数个交易打包成块,通过哈希引用把单独的区块连接成一条链,从而得到一个共享的账本。但是直接这样使用一个账本的安全性就很难保证,因为坏人同样也可以创造一个账本,然后把两个账本同时摆在用户面前。而哪个是真的哪个是假的,用户应该相信哪一个,就成了一个复杂的权衡问题。
如果在中心化的环境中,这个问题将不再是问题,例如,如果我有一个银行账户,其中余额的多少完全由银行的中央系统所确定。如果账户的实际数额和事实情况不一致,我就可以通过与中心系统协调或者法律途径解决问题。
但在去中心化的世界中,是不存在这个一个一锤定音的中心化机构的。因此,人们就需要通过其他方式达成共识,才能保证账本的公正性。
那么问题来了,在去中心化的环境中,应该怎样达成共识呢?
最经典的办法就是投票。通过大家共同参与投票,就可以选出一个值得信任的账本,然后共同使用该账本。
但是,说到投票,公平公正的问题就无法忽略,例如,投票权要怎么分配就是个不得不考虑的问题。
ETH突破3900美元关口 日内涨幅为7.48%:火币全球站数据显示,ETH短线上涨,突破3900美元关口,现报3900.58美元,日内涨幅达到7.48%,行情波动较大,请做好风险控制。[2021/5/9 21:39:52]
如果在一次投票活动中某一个体拥有了可以左右全局的票数,那么这场活动就很难再称之为投票。因为这意味着他想做什么,结果就是什么样的,而这对于其他个体显然是不公平的,这种不公平的方式也注定无法获得共识。因此,如果我们真的希望达成某个共识,就要排除这种不公平。所以投票权的分配被视为是共识协议中最为核心的部分之一。
如果发生在线下,投票权分配的问题其实很容易就能得到解决。实行简单的一人一票即可。至于身份验证问题,通过身份证件在投票的时候登记一下就可以解决。
但是如果发生于线上,一人一票的问题就会被无限复杂化。
首先,在线上的环境中,尤其是去中心化的环境中,如何定义“一个人”就是个很大的问题。大家在线上都是以匿名的方式存在,甚至无法判断网络对面到底是一个抠脚大汉还是一条狗。因此,我们就需要一个抗女巫攻击的机制。但到底是将一个账户视为一个人,还是将一个ip视为一个人,抑或是再用别的什么标准去确定?
在区块链中,最常用的两大解决方案就是工作量证明和权益证明,后者包括代理的权益证明。当然除它们之外还有一些其他的证明方式,比如说证明拥有多少空间,或者证明燃烧了多少货币,但是目前最为主流的还是PoW和PoS这两种。
PoW工作量证明
动态 | Tether Gold拟于圣诞节前发行 将100%由黄金支持:Tether和Bitfinex背后的公司计划在圣诞节前发行Tether Gold。Tether和Bitfinex首席技术官Paolo Ardoino表示,Tether Gold将100%由黄金储备支持。Ardoino在一封电子邮件中称:“当前宏观金融的不确定性带来了对传统工具的需求,以对冲我们客户的风险,尤其是在加密行业。纵观历史,黄金一直是应对突发风险的重要资产。”(彭博社)[2019/11/15]
工作量证明的基本思想就是通过算力决定出块权。如果你能解出一个PoW计算难题,你就可以获得出块的权力。我们甚至可以粗暴的理解为一个CPU、一个GPU、或一台矿机一票。这种模式的优势在于:
1、整个系统是无许可的。参与者不需要任何人许可,只要有机器有算力就可参与。甚至理论上都不一定需要机器,如果说你可以手动算出一个区块的哈希,并及时将结果上传,别人依旧会承认这是一个合法的区块。
2、PoW投票行为本身成本是比较高的,不论是使用CPU、GPU还是用矿机,机器的成本和电力的成本,都是实打实的真金白银。这就意味着,如果想在PoW的环境下进行女巫攻击将要付出极高的成本,而这往往会让攻击者得不偿失。
3、PoW中所投的票和投票权是保持绑定的。按照工作量证明的一般逻辑,投票的时候需要先打包出一个块,然后再对这个块做工作量证明,如果做出证明就相当于投出去一票,但是这个时候打包的块已经没有办法修改了。而另一方面,如果想要回滚掉自己出的块,必须付出和回滚别人的块时候所需的同等的算力。这意味着一旦投票成功以后,即使是投票者本人也修改不了投票的内容,投票的信誉度得以保障。
动态 | 跨ETH/EOS/TRON/IOST四大公链 DApp活跃度排行榜:据 DAppTotal 09月02日数据显示,过去一周,综合对比ETH、EOS、TRON、IOST四大公链的DApp生态情况发现:总用户量(个): ETH(243,642) > EOS(167,328) > TRON(48,746) > IOST(20,475);总交易次数(笔):EOS(30,366,476) > TRON(7,270,133) > IOST(1,589,696) > ETH(1,239,798);总交易额(美元):ETH(72,360,258) > EOS(54,190,848) > TRON(51,801,365) > IOST(7,236,966);跨四条公链按用户量TOP3 DApps为:Hash Baby(EOS)、Endless Game(EOS)、DDEX(TRON);按交易次数TOP3 DApps分别为:Hash Baby(EOS)、WINk(TRON)、Dice(EOS);按交易额TOP3 DApps分别为:WINk(TRON)、NEST(ETH)、Newdex(EOS)。一段时间内,受稳定币和DeFi类DApp活跃度持续增长的影响,ETH周活跃用户量和交易额已经远超EOS和TRON。[2019/9/2]
当然基于PoW机制的共识算法也存在一些无法规避的缺点。
1、PoW的延迟非常高,因为把交易打包到区块以后,这个区块并不是马上就成为一个有效的候选区块。至少还要完成一个工作量证明这个区块才能称之为候选区块。
于是,从打包好区块到做完区块的工作量证明这一段时间内,交易是不可能被人确认的。所以即便比特币不是等六个块确认,而是看到一个块就确认,确认一笔交易平均也要等十分钟时间。
分析 | 金色盘面:ETH/USD 关注下轨支撑力度:金色盘面综合分析:ETH/USD夜间回落,短期得到15分钟下轨支撑,下方支撑位280,今天是OKEX合约交割日,持续关注价格波动,注意破位风险。[2018/8/17]
2、PoW机制另一个被人诟病的缺点就是能耗特别高、不环保。对于这一点,工作量证明的能耗是否必要,我觉得见仁见智,可以持保留意见。虽然它的确存在一些浪费问题,但攻击者的成本也因此被拔高到难以承受的地步,从这个角度来说,似乎也不全是件坏事。
PoS权益证明
权益证明基本的思想是:当你持有Token,你就有记账权和投票权。你的投票权和你持币的数量是成正比的。简而言之,Token越多,投票权就越大。
PoS协议的基本框架是按所有的参与者的持币量,去分配打包权和投票权。这也就意味着,参与者的信息是已知的,至于这有什么意义咱们先按下不表,后续再论。
回到打包权和投票权,在PoS的系统里打包和投票两件事是分开的。分配完打包权以后,拿到打包权的人就有资格出一个候选区块。这个区块里包含要处理的交易和打包权人自己的签名。
但是候选区块并不意味着就会被加入共识,在广播候选区块以后还需要由那些有投票权的人去投票。只有在投票后得到相对多数票的支持,候选区块才会最终被加入共识,变成一个有效的区块。当然投票的过程可以用很多方式执行,比较常见的就是可以用一个少数服从多数的共识算法去实现。
这一点跟PoW非常不一样,因为在PoW系统里人们根本不知道全网的算力有多少,只能靠估计,而且一般还估计不准。所以PoW系统里几乎不可能用一个确定的阈值去判断什么是多数。
在PoS系统中,如果检测到有的参与者违反了PoS共识的协议,就可以对他们做出一些惩罚。比如有的人把自己的一票投给很多个块,或者说有票但就是不投,这些会对系统的安全性造成影响的行为都可以惩罚。
接下来,让我们来看一下权益证明的优点有哪些:
1、矿工和持币者的动机是一致的。
PoS的矿工都必须持币,这意味着在PoS的生态里将减少不持币但靠机器来挖矿的角色。在PoW的社区中,经常会出现有钱人、开发者、以及矿工三方的利益不是完全一致的情况,然后就会出现争执,以至于最后很多事情都难以进展。而在PoS中,至少矿工和资本家的利益会更为一致,一定程度上减少了冲突和分歧。
2、PoS的延迟可以做得非常低,确认可以非常快。
在PoS系统里,拿到一个交易就可以马上打包,打包以后就可以广播,这个时间是不需要等待的,不像PoW,必须等至少做一个PoW问题的时间。PoS共识的延迟主要是受限于网络和参与投票的人数。因为投票的人越多,要等的时间也就越久。
3、PoS比较环保,因为它不需要做工作量证明。
在Pos中,投票实际上就是做个签名,最多再做一些简单的运算,比求解PoW难题容易多,自然消耗的算力和电力就大大减少。
但不得不说,PoS的缺点也同优点相对,另外,它也失却PoW系统的一些优点。
1、与无许可的PoW系统相比,PoS的系统在匿名性和许可性上稍微差一些。因为一个人如果要加入一个PoS的系统,首先要持有Token。这个Token是无法通过其他方式获得,只能跟持有Token的人去做交易,且只有在交易成功拿到币后才可以加入系统。不像PoW,只要有一台机器接入系统,就可以直接挖到Token。
2、投票行为本身成本非常低,只需要做个签名就可以生成一个有效的投票。这样的话在安全性上会有一些问题。比如PoS系统常见的无利害攻击问题。
另外,投票权可以复用,可以转让,这也是相当危险的。如果用户把自己的私钥卖给别人,那他以前投出的票或是在历史上每个分支做出的选择,拿到其私钥的人都可以再去重新选择一次。这会在安全性上带来一些问题。
3、我们在前面提到过,在PoS机制中,分配投票权和打包权之前参与者的信息是已知的。因此,投票权的决定时间是早于生成候选区块的。这样一来意味着人们可以选择的策略空间将会更大,整个博弈会变得更复杂。通常来说,策略空间大对于系统的安全性相当不利,因为这会给攻击者留出更大的操作空间。其结果就是在PoS系统中会有更多的攻击方式,比如无利害攻击、长程攻击等。
4、在PoS中矿工和资本家通常是一个人,尽管这会减少整个系统的博弈成本。但也意味着整个系统的中心化程度会水涨船高。
PoW和PoS
在区块链中,有一个不可能三角,即安全性、效率和去中心化。通常情况下,这三方面是无法兼得的。而PoW和PoS就是在这三个方面做出了不同的取舍。
PoW以无许可和算力门槛保证了整个系统的安全性和去中心化程度,但在效率方面则不可避免的会有缺失,实际上其也确实长期被延迟高、低吞吐量等问题所困扰。
而PoS则选择了另一条路,它不再无许可,取而代之,矿工成为了生态系统的实际参与人。这意味着如果矿工做出了不利于整个系统的决策,作恶者也会付出代价。但其投票机制也降低了整个系统的安全性,同时,矿工和资本的身份合一也让系统出现了中心化的风险。
有人曾经打过一个比方。
在一个典型的PoS共识系统中,大家通过股权质押获取一张门票,然后获得门票的人坐在会议室里指点江山。
而在以比特币为代表的PoW共识系统中,一群人坐在漆黑的荒野里,他们既不知道其他人的身份,也不知道荒野里一共有多少人、其他人何时来何时走,只能通过喊出自己的观点和听清他人的喊声来交流并最终达成共识。
不得不说这个比方相当的形象,PoW和PoS的特点尽显无疑。而实际上两者孰优孰劣是无法比较的,对他们的采用只能体现出两种不同的权衡。
ETH2.0最终决定采取PoS也意味着对目前的ETH来说,效率问题已经相当严峻了,因此可能需要以一定的安全性和去中心化程度作为交换,这是无可厚非的,毕竟当下没有可以兼顾的解决方法。
如果能把PoW和PoS的优势结合起来,就有可能做到一个安全性又高,确认又快,吞吐量大,而且能耗比较合理的系统。
但其技术难度之大,自不必多说。因此,目前我们只能静观其变,期待更好的解决方案横空出世。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。