链闻ChainNews
公众号ID:chainnewscom
关注
「理解区块链的安全问题,有助于我们从根源处理解 Staking Economy 的意义。」
撰文:李画
致谢:Genaro CTO 吴为龙
PoS 区块链正在变得流行,Staking Economy 成为热门话题。
为什么 PoS 需要 Staking Economy,很大程度上与链的安全问题相关。区块链的安全涉及诸多层面,但我们通常指的是一条链上的记录不会轻易被「坏人」篡改的这种安全性,文中所说的安全也特指这一种。
理解链的安全问题,也许有助于我们从根源处理解 Staking Economy。
安全:从算力门槛到节点门槛
由于区块链特殊的账本结构,篡改基本只在一条「坏人」的链取代了「好人」的链成为主链时发生,在最长链原则下,也就是「坏人」的链的长度超过了「好人」的链的长度。
在 PoW 共识下,这种安全问题被称作「51% 攻击」;在 PoS 共识下,51% 攻击不再存在,与之相对应的攻击手段是「Long-Range Attacks 远程攻击」。
1. PoW:51% 攻击
想要篡改账本,首先要能够「写」账本,因此,成为记账节点的门槛是保障区块链安全的第一道关卡。
在 PoW 共识下,这道门槛并不高,只要拥有算力即可,算力在此处指可以算出哈希值的计算能力。但拥有算力并不代表能篡改账本,拥有足够的算力才可能篡改账本。
其原因在于 PoW 需要工作量证明,能够生产出更多的区块完全是由算力决定的。理论上,只要「坏人」的算力比「好人」高,也就是在总算力中占比超过 50%,「坏人」就可能生成一条更长的链,这也是我们把 PoW 下的攻击称为「51% 攻击」的原因。
所以,PoW 链的安全是由算力保障的。也就是说,一条链的算力越高,该条链的安全门槛越高,攻击者越难以进入该系统进行破坏工作。
2. PoS:Long-Range Attacks
与 PoW 链相同,在 PoS 链下想要篡改账本首先也需要能够「写」账本,在没有更好的说法之前,我们暂且也称之为「需要拥有算力」。
算力在此处不是指计算能力,因为在 PoS 中生成区块不取决于是否算出了哈希值,而取决于该节点是不是记账节点。我们可以把PoS 下的算力认为是「抵押代币参与 Staking 的能力」,只要算力的名次满足链的要求,就能够成为节点,参与记账。
因为 PoS 不需要进行工作量证明,节点只要拥有了能够实现记账权的算力,就能「走捷径」生成一条更长的链,从而篡改账本。
「坏人」可以直接从创世区块开始制造分叉,而不是像 PoW 那样只能从当前区块生成分叉,这是我们把 PoS 下的攻击行为称为「Long-Range Attacks」的原因。(编者注:此处指没有更多限制条件的纯 PoS,实际的 PoS 会复杂很多)
能否成为记账节点取决于该节点参与 Staking 的代币价值在所有参与 Staking 的代币价值中的占比,因此「坏人」的攻击成本主要是由该种代币的总价值决定的。
所以,对应于PoW 链的安全由计算能力保障,PoS 链的安全是由代币的价值来保障的。也就是说,一条链的代币总价值越高,该条链的安全门槛越高,攻击者越难以进入该系统进行破坏工作。
不过,上述讨论是为了理清主要线索而假设的纯 PoS 模型,实际 PoS 中的安全门槛会被不同的机制和共识提高,不同链的安全问题有较大不同。主要包括两个方面:
提高成为记账节点的门槛:在一些 PoS 链中,并不是参与 Staking 就有资格参与记账。比如在提供分布式存储的公有链 Genaro 中,记账节点除了需要抵押代币,还需要提供存储
通过共识算法提高区块上链的门槛:如今主流的 PoS 几乎都采用「BFT+PoS」共识,比如以太坊、波卡、Cosmos,新区块需要被 2/3 节点验证。
Staking Economy 的必要性
除开比特币、门罗等等加密货币类型的区块链,公链和跨链更多是作为一种基础设施存在,它们要做的工作是保护承载在链上的资产的安全,而链上资产的安全又是由整条链的安全来保障的。
这属于常常被探讨的「公链捕获公链之上的应用或协议的价值」的话题,「安全」是价值捕获的重要手段:一条链承载的价值越高,要求这条链的安全性越高;链的安全性越高,需要这条链上的代币的总价值越高,具体的逻辑见上一小节对 PoS 安全问题的分析;代币的总价值越高,带来的是这条链的价值越高。
代币对链的安全的重要性,决定了链对链上资产价值的捕获,同时也决定了 PoS 下的 Staking Economy 的必要性。
假设一条链的代币持有者几乎不参与 Staking,那么「坏人」只需要获得极少的代币就能「承包」记账节点,哪怕这条链上的代币价值很高,作恶的人也不需要付出多少成本就能破坏链的安全。
所以PoS 链必须通过 Staking Economy,鼓励代币持有者参与到 Staking 中来,如果所有的代币都参与进来,这条链就实现了其能力范围内最高的安全性。
此处有一个延伸话题可以讨论:对于链的安全来讲,代币全部参与到 Staking 是最理想的状态,但这样一来就削弱了流通性,代币作为支付工具、交换媒介等等的功能就会丧失;反之如果我们需要把代币用于支付或其他用途的抵押,链的安全性又会被削弱。
所以双代币是否是 PoS 系统中理想的模型?一种代币用于保障安全,同时完成价值的捕获;一种代币作为交换媒介,是「稳定币」。
从安全视角重新观察 PoW 与 PoS 的经济逻辑
PoW 链和 PoS 链面临不同的安全问题,也因此决定了它们不同的经济逻辑。
有一种观点认为 PoS 共识下设计了 Staking 是一种锁住代币以提升币价的方法,这其实是对因果关系的一种倒置。PoS 链必须通过 Staking 保证安全,代币被锁住只是其带来的一种后果。
也有一种观点认为 PoW 链比 PoS 链更加安全,这是有待商榷的。算力门槛不高的 PoW 链,特别是新生的 PoW 链是脆弱的,就跟价值不高的 PoS 链一样。
PoW 已经走过了十年,用事实证明了它的可信赖;PoS 刚刚萌芽,正在展现自己的生命力,同时也可能带来很多新问题,但这一切都值得我们去期待、去探索。
参考资料:
1. 《Long-Range Attacks: The Serious Problem With Adaptive Proof of Work》,Vitalik Buterin
项目专题 | Proof of Stake 共识苏醒
领取专属 10元无门槛券
私享最新 技术干货