权益证明(PoS):修订间差异

来自非小号百科
Doge留言 | 贡献
创建页面,内容为“'''持有量证明'''(英语:'''Proof of stake''' 或 '''PoS'''),又称'''权益证明''',是加密货币中共识机制的一种。 == 实现原理 == 以共识算法的方式,使用伪随机数的方式指定持有货币的人为交易的验证者,并创造新的区块并接续在最长的链后面。 == 技术原理 == === 随机选择 === === 基于持有时间选择 === == 加密货币的应用 == 依加密货币的设计,可以让获…”
 
Doge留言 | 贡献
无编辑摘要
第1行: 第1行:
'''持有量证明'''(英语:'''Proof of stake''' 或 '''PoS'''),又称'''权益证明'''加密货币中共识机制的种。
'''权益证明(PoS)'''协议是一类区块链共识机制,又称持有量证明。通过根据参与者在相关加密货币中的持有量来选择验证者。这样做是为了避免[[工作量证明(PoW)]]方案的计算成本。PoS在加密货币中的首次实际应用是2012年的Peercoin,尽管从表面上看,这一方案仍然类似于PoW。
 
第一个功能性的权益证明(PoS)加密货币实现是Peercoin,推出于2012年。随后,其他加密货币如Blackcoin、Nxt、Cardano和Algorand也相继采用了PoS机制。然而,直到2017年,PoS加密货币的使用仍然不如工作量证明(PoW)加密货币广泛。
 
2022年9月全球第二大加密货币[[以太坊(ETH)|以太坊(Ethereum)]]在经历了若干提案和一些延迟后,从工作量证明(PoW)转向了权益证明(PoS)共识机制。
 
== 概述 ==
为了使区块链交易被认可,它必须被附加到区块链上。在权益证明(PoS)区块链中,执行附加操作的实体被称为铸造者(minters)或验证者(validators)(在工作量证明(PoW)区块链,这一任务由矿工完成);在大多数协议中,验证者会因完成此操作而获得奖励。为了保持区块链的安全性,它必须有一个机制来防止恶意用户或团体控制大多数验证过程。PoS通过要求验证者持有一定数量的区块链代币来实现这一点,这就要求潜在的攻击者必须获取区块链上大量的代币,才能发起攻击。
 
工作量证明(PoW)是另一种常见的共识机制,通过验证计算能力来确认交易,要求潜在的攻击者必须获得验证者网络的绝大部分计算能力。这种机制鼓励消耗大量的能源,而PoS则更加节能。
 
早期的PoS实现面临着许多新型攻击,这些攻击利用了PoS协议的独特漏洞。最终,出现了两种主流设计:所谓的拜占庭容错(Byzantine fault tolerance, BFT)基础和基于链(chain-based)方法。Bashir还识别出了三其他类型的PoS<ref>[https://link.springer.com/chapter/10.1007/978-1-4842-8179-6_8 Blockchain Age Protocols] | SpringerLink</ref>:
 
# 基于委员会的PoS(也称为提名PoS,NPoS);
# 委托权益证明(DPoS);
# 流动权益证明(LPoS)


== 实现原理 ==
== 实现原理 ==
第9行: 第24行:


=== 基于持有时间选择 ===
=== 基于持有时间选择 ===
== 攻击 ==
PoS机制的额外漏洞直接与其优势相关:构建区块链时所需的计算量相对较低。
=== 长期攻击(Long-range attacks) ===
较少的计算能力使得某类攻击成为可能,这类攻击可以将主区块链的一部分替换为被劫持的版本。这些攻击在文献中有不同的名称,如长期攻击、替代历史、历史修正等,而在PoW机制中,由于所需的计算量庞大,这些攻击是不可行的。区块链的早期阶段更容易被篡改,因为这时参与的利益相关者较少,简化了串通的可能性。如果每个区块和每笔交易都有奖励,恶意团体就可以重做整个历史并收集这些奖励。
经典的“短期攻击”(贿赂攻击)也有可能发生,这种攻击只会重写区块链的末尾部分。
=== 无所事事攻击(Nothing at stake) ===
由于验证者在过程中过少地消耗计算能力(也就是金钱),他们容易遭遇“无所事事攻击”:参与一次成功的验证会增加验证者的收益,因此验证者会有内在的动力去接受所有提交给他们的区块链分叉,从而增加赚取验证费的机会。PoS机制允许从历史的任何点开始创建区块链替代链(无成本模拟),将这些分叉提交给愿意验证的节点,可能危及系统的稳定性。如果这种情况持续下去,可能导致双重支付问题,即数字代币被多次消费。对此可以通过惩罚验证那些验证冲突链的验证者(“经济最终性”)或通过设计奖励机制,消除创建冲突的经济激励来缓解。基于拜占庭容错(Byzantine Fault Tolerance)的PoS机制通常被认为能够有效抵御这种威胁(详见下文)。
=== 贿赂攻击(Bribery attack) ===
贿赂攻击是指攻击者通过财务手段诱使一些验证者批准他们的区块链分叉。在PoS机制中,贿赂攻击得到了增强,因为重写大量历史可能使得曾经拥有大量股份的利益相关者(但现在不再持有大量股份)能够在某个时间点通过合谋,占据必要的多数地位,从而从那个时间点开始,发展出一条替代的区块链,这种操作是通过PoS机制中低成本添加区块的特性实现的。


== 加密货币的应用 ==
== 加密货币的应用 ==
第31行: 第60行:
# MINA
# MINA
# CELO
# CELO
== 变种 ==
=== 基于链的PoS(Chain-based PoS) ===
这实际上是PoW机制的一个修改版,竞争的方式不再是通过用最短时间强行解决相同的难题,而是根据参与者的权益变化调整难度;如果在某个时刻(||表示连接):
则证明该难题已被解决。对于高价值的权益持有者来说,所需的计算量较小,有助于避免过度的硬件消耗。
=== 提名PoS(NPoS,Nominated PoS) ===
也称为“基于委员会”的方案,这种机制通过一个可验证的随机函数选举出验证者委员会,选举概率与权益大小成正比。然后,验证者随机轮流生成区块。NPoS被Ouroboros Praos和BABE所采用。
=== 基于拜占庭容错(BFT)的PoS ===
主条目:[[拜占庭容错]]
BFT PoS“时代”(即向链中添加一个区块)的概要如下:
# 随机选出一个“提议者”和其“提议的区块”,并将其添加到一个临时池中,该池用来选择一个共识区块;
# 其他参与者(验证者)获取这个池,进行验证并投票选出一个区块;
# 使用BFT共识来最终确认投票最多的区块。
该方案的有效性取决于验证者中不超过三分之一是作恶者。BFT方案被Tendermint和Casper FFG所使用。
=== 委托权益证明(DPoS,Delegated Proof of Stake) ===
委托权益证明系统使用两阶段过程:首先,权益持有者按比例投票选举验证委员会(也称为见证者);然后,这些见证者以轮换方式轮流提议新区块,之后见证者对新区块进行投票,通常采用类似BFT的方式。由于DPoS中的验证者数量少于许多其他PoS方案,因此共识可以更快达成。该方案被许多区块链采用,包括EOS、Lisk和Tron。
=== 液态权益证明(LPoS,Liquid Proof of Stake) ===
在液态PoS中,任何有权益的人都可以自愿成为验证者,但对于小持有者来说,将投票权委托给更大的参与者,以换取一些好处(如定期分红)是有意义的。建立了一个市场,验证者在费用、声誉和其他因素上竞争。代币持有者可以随时将支持转移到另一个验证者。LPoS被Tezos所使用。
=== “权益”定义 ===
“权益”的确切定义因实现方式而异。例如,一些加密货币使用“币龄”概念来定义验证者的权益,即单个用户持有代币的数量与持有时间的乘积,而不仅仅是代币的数量。


== 代理权益证明 ==
== 代理权益证明 ==

2024年12月9日 (一) 03:20的版本

权益证明(PoS)协议是一类区块链共识机制,又称持有量证明。通过根据参与者在相关加密货币中的持有量来选择验证者。这样做是为了避免工作量证明(PoW)方案的计算成本。PoS在加密货币中的首次实际应用是2012年的Peercoin,尽管从表面上看,这一方案仍然类似于PoW。

第一个功能性的权益证明(PoS)加密货币实现是Peercoin,推出于2012年。随后,其他加密货币如Blackcoin、Nxt、Cardano和Algorand也相继采用了PoS机制。然而,直到2017年,PoS加密货币的使用仍然不如工作量证明(PoW)加密货币广泛。

2022年9月,全球第二大加密货币以太坊(Ethereum)在经历了若干提案和一些延迟后,从工作量证明(PoW)转向了权益证明(PoS)共识机制。

概述

为了使区块链交易被认可,它必须被附加到区块链上。在权益证明(PoS)区块链中,执行附加操作的实体被称为铸造者(minters)或验证者(validators)(在工作量证明(PoW)区块链中,这一任务由矿工完成);在大多数协议中,验证者会因完成此操作而获得奖励。为了保持区块链的安全性,它必须有一个机制来防止恶意用户或团体控制大多数验证过程。PoS通过要求验证者持有一定数量的区块链代币来实现这一点,这就要求潜在的攻击者必须获取区块链上大量的代币,才能发起攻击。

工作量证明(PoW)是另一种常见的共识机制,通过验证计算能力来确认交易,要求潜在的攻击者必须获得验证者网络的绝大部分计算能力。这种机制鼓励消耗大量的能源,而PoS则更加节能。

早期的PoS实现面临着许多新型攻击,这些攻击利用了PoS协议的独特漏洞。最终,出现了两种主流设计:所谓的拜占庭容错(Byzantine fault tolerance, BFT)基础和基于链(chain-based)的方法。Bashir还识别出了三种其他类型的PoS[1]

  1. 基于委员会的PoS(也称为提名PoS,NPoS);
  2. 委托权益证明(DPoS);
  3. 流动权益证明(LPoS)。

实现原理

以共识算法的方式,使用伪随机数的方式指定持有货币的人为交易的验证者,并创造新的区块并接续在最长的链后面。

技术原理

随机选择

基于持有时间选择

攻击

PoS机制的额外漏洞直接与其优势相关:构建区块链时所需的计算量相对较低。

长期攻击(Long-range attacks)

较少的计算能力使得某类攻击成为可能,这类攻击可以将主区块链的一部分替换为被劫持的版本。这些攻击在文献中有不同的名称,如长期攻击、替代历史、历史修正等,而在PoW机制中,由于所需的计算量庞大,这些攻击是不可行的。区块链的早期阶段更容易被篡改,因为这时参与的利益相关者较少,简化了串通的可能性。如果每个区块和每笔交易都有奖励,恶意团体就可以重做整个历史并收集这些奖励。

经典的“短期攻击”(贿赂攻击)也有可能发生,这种攻击只会重写区块链的末尾部分。

无所事事攻击(Nothing at stake)

由于验证者在过程中过少地消耗计算能力(也就是金钱),他们容易遭遇“无所事事攻击”:参与一次成功的验证会增加验证者的收益,因此验证者会有内在的动力去接受所有提交给他们的区块链分叉,从而增加赚取验证费的机会。PoS机制允许从历史的任何点开始创建区块链替代链(无成本模拟),将这些分叉提交给愿意验证的节点,可能危及系统的稳定性。如果这种情况持续下去,可能导致双重支付问题,即数字代币被多次消费。对此可以通过惩罚验证那些验证冲突链的验证者(“经济最终性”)或通过设计奖励机制,消除创建冲突的经济激励来缓解。基于拜占庭容错(Byzantine Fault Tolerance)的PoS机制通常被认为能够有效抵御这种威胁(详见下文)。

贿赂攻击(Bribery attack)

贿赂攻击是指攻击者通过财务手段诱使一些验证者批准他们的区块链分叉。在PoS机制中,贿赂攻击得到了增强,因为重写大量历史可能使得曾经拥有大量股份的利益相关者(但现在不再持有大量股份)能够在某个时间点通过合谋,占据必要的多数地位,从而从那个时间点开始,发展出一条替代的区块链,这种操作是通过PoS机制中低成本添加区块的特性实现的。

加密货币的应用

依加密货币的设计,可以让获得担任验证者工作的人(即持有货币者)获得奖励以吸引更多的人参与。此奖励通常会依照验证者持有的货币数量来计算,当持有的量越多获得的奖励也越高。

优点

和工作量证明相较之下,由于不需要矿工持续的进行挖矿产生区块记账,更能节省能源。

缺点

由于持有量越多时被指定到获得的奖励也越多,有可能会造成屯币的状况,降低货币的流通量。

目前使用 PoS 机制的虚拟货币,市值排名前十的为[2]

  1. ETH 以太币
  2. ADA 艾达币
  3. SOL
  4. MATIC
  5. TON
  6. ALGO
  7. XTZ
  8. INJ
  9. MINA
  10. CELO

变种

基于链的PoS(Chain-based PoS)

这实际上是PoW机制的一个修改版,竞争的方式不再是通过用最短时间强行解决相同的难题,而是根据参与者的权益变化调整难度;如果在某个时刻(||表示连接):

则证明该难题已被解决。对于高价值的权益持有者来说,所需的计算量较小,有助于避免过度的硬件消耗。

提名PoS(NPoS,Nominated PoS)

也称为“基于委员会”的方案,这种机制通过一个可验证的随机函数选举出验证者委员会,选举概率与权益大小成正比。然后,验证者随机轮流生成区块。NPoS被Ouroboros Praos和BABE所采用。

基于拜占庭容错(BFT)的PoS

主条目:拜占庭容错

BFT PoS“时代”(即向链中添加一个区块)的概要如下:

  1. 随机选出一个“提议者”和其“提议的区块”,并将其添加到一个临时池中,该池用来选择一个共识区块;
  2. 其他参与者(验证者)获取这个池,进行验证并投票选出一个区块;
  3. 使用BFT共识来最终确认投票最多的区块。

该方案的有效性取决于验证者中不超过三分之一是作恶者。BFT方案被Tendermint和Casper FFG所使用。

委托权益证明(DPoS,Delegated Proof of Stake)

委托权益证明系统使用两阶段过程:首先,权益持有者按比例投票选举验证委员会(也称为见证者);然后,这些见证者以轮换方式轮流提议新区块,之后见证者对新区块进行投票,通常采用类似BFT的方式。由于DPoS中的验证者数量少于许多其他PoS方案,因此共识可以更快达成。该方案被许多区块链采用,包括EOS、Lisk和Tron。

液态权益证明(LPoS,Liquid Proof of Stake)

在液态PoS中,任何有权益的人都可以自愿成为验证者,但对于小持有者来说,将投票权委托给更大的参与者,以换取一些好处(如定期分红)是有意义的。建立了一个市场,验证者在费用、声誉和其他因素上竞争。代币持有者可以随时将支持转移到另一个验证者。LPoS被Tezos所使用。

“权益”定义

“权益”的确切定义因实现方式而异。例如,一些加密货币使用“币龄”概念来定义验证者的权益,即单个用户持有代币的数量与持有时间的乘积,而不仅仅是代币的数量。

代理权益证明

权益证明的问题是,大多数的持币人没有足够的专业知识或足够的预算,无法达到高性能节点所需的计算机硬件和软件要求,难以产生区块,因此持币量大的少数账户便能支配区块的生成,获取大部分的奖励。

代理持有量证明(又称代理权益证明,英语:Delegated Proof of StakeDPOS)的出现旨在解决以上的问题。DPOS与POS原理相同,主要分别在于每位持币人有权投票选出代理节点,由得票最多的若干节点负责生成区块。DPOS引入了民主机制,持币量少的人亦能参与投票,决定之后能生成区块获取奖励的节点,以实现去中心化的目的。

优点

通过缩小选举节点的数量,能够在不增加计算资源的前提下有效减少网络压力。

缺点

选举固定数量的节点未必能完全实现去中心化;如参选的节点数量少或者投票人数低,选出的节点代点代表性不足。

参考链接