万卡贷 发表于 2020-10-23 06:04:10

超硬核!关于PoS,你想知道的都在这里

摘要: PoS(Proof of Stake)为什么这么火?2019年为什么是“PoS 元年”?Staking Economy 又是什么? 我们特地邀请到了 Cobo PoS 生态的负责人、美丽智慧的小姐姐 Grace Yu 来和大家分享和交流近期大热的 PoS 话题,以下为分享内容,超硬核!
https://p9.pstatp.com/large/pgc-image/ROjFpDrDMSqEwK本周 Cobo 刚刚发布了新产品 Staas (Staking as a Service),在发布会上,神鱼提到 2019年是 Staking 元年,目前PoS 机制的区块链项目已经超过80个, Staking 权益池中资金总额高达60亿美元。Cobo 在 2017 年成立之初就在 PoS 生态进行着布局,致力于建立长期和用户共同盈利的能力。
首先,我们先来看看 Proof of Stake 是什么?
PoS 是区块链(Blockchain) 技术中的一种共识协议(Consensus Protocol)的统称。很多人都把它他和最早的 PoW 共识算法对应着看。想要系统的理解他,我们先从解释几个关键概念来看。
区块链上的共识协议 ( Consensus Protocol ) 的主要任务是什么?
https://p3.pstatp.com/large/pgc-image/ROjFpE7PamGam区块链技术的根本是在分布式系统中,多个节点在 P2P(Peer to Peer)的网络上共同维护一个不可篡改,公开透明的账本。既然是共同维护,那么当新的交易记录产生,哪个交易记录合理且可以记录在链上是P2P网络上各个节点,通过一定的算法来决定。这个算法称做共识协议(Consensus Protocol)。共识协议的特点决定了一条区块链的安全性,性能和去中心化程度。
出块的流程大致可以分为以下五个步骤,循环往复,一般每个出块的周期称作 Epoch。
https://p3.pstatp.com/large/pgc-image/ROjFpEK7NJWsWh出块的过程的两个关键步骤的决议和共识协议(Consensus Protocal) 有密切的关系:

[*] 将一段时间新出现的交易记录打包,生成区块 (Block Creation);
[*] 在所有生成的区块中,验证区块,确认最终区块 (Block Validation)。
第一个共识协议 Pow (Proof of Work)
PoW (Proof of Work) 是区块链的最早的共识算法。诞生于比特币,以太坊 (现在还是)也采用了 PoW 共识。拉出市值排名前 100 的币种,绝大多数仍然使用 PoW,但是明显看到了更多新的项目采用或过度到了 PoS (Proof of Stake),比如以太坊。
参与 PoW 出块的节点(Node)称为矿工(Miner),这个过程俗称为挖矿 (Mining)。出块的过程是矿工打包一定量的交易后,通过群举法 (Brute and Force) 解决一个谜题,第一个解出谜题的节点网络广播谜题答案和区块信息,其他矿工验证区块和谜题正确性以后,收录此块,增加区块高度,进入下一轮的出块流程。解出谜题的节点获得出块奖励 (Block Rewards)。
Proof of Work 在安全性,和去中心化的角度来讲其实做的不错,毕竟比特币已经安全存在 10 年,且仍是不错的去中心化网络。但是随着参与人数的增多,他的弊端也越来越明显。

[*] 随着竞争激烈,需要购买专业的矿机设备致使参与门槛越来越高;
[*] 挖矿需要消耗很多电力资源,被很多环保学家抗议。预测是到 2020 年,比特币挖矿的耗电量将等于丹麦 Denmark 的用电量;
[*] PoW 牺牲了TPS (Transaction Per Second) 换取了安全性和去中心化。根据 Blockchain.info 的统计,比特币的 TPS 峰值也仅仅趋近于 5 TPS 。而且当交易比较多的时候,很容易造成网络堵塞,交易费骤升。当时以太坊上的现象级应用加密猫就是一个堵塞以太坊的著名案例;
[*] 还有经济原因,因为矿工有前期投入和电费投入, 所以挖出的币需要兑换成法币来付电费,给 PoW 币种带来持续的抛压。
PoS (Proof of Stake) 共识协议是为了可以更好的解决 PoW 日益出现的问题而提出的新的共识算法的统称。从字面意思来讲:

[*] Proof: 是确认区块的合理性的证据 (Evidence that blocks of transactions are legitimate)
[*] Stake: 节点上的地址拥有的币量相之于网络相对价值(Relative value held by an addresses on the node)
虽然在最近引起了很高的热度,但 PoS 的概念早在2012年就已被提出,且被 Peercoin 第一个采用。它的本质是节点(Node / Validator)通过质押一部分资产(Staking)获得出块或验证区块的权利。它分别对应于 PoW 网络中的 矿工(Miner) 和算力 (Computing Power)。
以下是针对出块5个流程中 PoW vs PoS 的对比:
https://p3.pstatp.com/large/pgc-image/ROjFpEYfvyCgR让我们来聊聊「PoS 」
对数字资产持有用户来讲,提到 PoS (Proof of Stake), 可能脑中最直接的词便是”睡后收入“ (Passive income), 因为从表面上看,用户买入一定量的 PoS 币种,进行质押(Staking),便可以获得的一定的收益。和 PoW 挖矿相比,这可以被理解为只需要资本投入的挖矿行为,简称为「PoS 挖矿」。
在这个过程中,大家可能会注意到很多不同的以 PoS 为共识的项目和类 PoS 共识协议。比如 DPoS (Delegated Proof of Stake), PBFT (Practical Byzantine Fault Tolerance), DBFT (Delegated Byzantine Fault Tolerance)。还有 Proof of Authority (PoA), Proof of Believability (PoB)。如何读懂他们的代币经济,收益分配规则,未来前景,安全稳定性等重要指标,下面我们就来系统的了解一下。
无论 PoS 的共识协议如何演变和优化,它归根接地是在出块的三个流程中使用了不同的算法而已。

[*] 成为候选节点的条件 (Validator Candidates)
[*] 在每轮出块过程中,从候选节点中选择谁来做出块节点 ( Block Creation Validator)
[*] 如何确认该块的正确性而上链(Validate Blocks -> reach finality)
以下我们根据相似性或历史出处将 PoS 类共识协议分为以下五个部分:
https://p3.pstatp.com/large/pgc-image/ROjFpEmDtKke1U第一部分:传统的 Proof of Stake 和 Masternode
传统的 PoS 项目成为候选节点的流程相对简单,只要质押(Staking)一定数量的币便可以拥有出块权利。出块过程一般依赖币量或币龄, 即质押(Staking)的币量越高, 或者「币量」和 「币龄」的乘积越大。被随机选中出块的概率越大。
验证区块通常是随机选 X 个候选节点进行区块验证。或者有的项目会用 Masternode 来验证区块。(Masternode 是类PoS的节点,但是有着本质区别,我们会在后文中讲解)
传统使用 PoS 的项目早期有 Peercoin, NXT, Blackcoin, Neblio。一些项目从数学上将这个过程优化,衍生出变种,比如 DCR, 它是以票(Ticket) 的数量和价格来动态调节成为节点的难度和数量。
Masternode vs PoS
对于比较了解 PoS 生态的朋友来说,可能会发现一些区块链项目采用了 Masternode 机制,或用中文来讲为主节点。很多人将 Masternode 的项目谈做 PoS 项目,虽然从外表上看,他们都提供 Passive income, 但是其实他们是有本质区别的。
首先,Masternode 是在一个去中心化网络上具有特殊功能的服务器节点,比如 DASH 网络中,Masternode 提供 Direct Send 和 Instant Send 的功能,且 Masternode 拥有治理权,网络提议投票。因为 Masternode 在网络中的特殊功能,所以会收到一定的奖励。每条链的激励周期和数量都不尽相同。但是区别于 PoS 的是, 它的奖励都比较固定,所以从计算年化角度来讲相对比较确定。
另外 Masternode 的参与门槛较高, 不仅需要证明有一定数量的币,还需要操作节点,为节点提供服务。但和 PoS 不同的是,被锁定的币不是质押(Staking) 而是「证明拥有」。一个节点证明达到币量后即可成为网络服务节点,参与网络分红,但是也可以随时解锁,所以本质上 Masternode 上”锁定“的币是流动的,他没有长期的锁定合同。
最后最重要的是,Masternode 是辅助节点,不是共识节点,所以它不负责产生区块和验证区块。所以你会发现,Masternode 不会单独成为一条区块链,它必定是和 PoS 或者 PoW 的区块链共存。一些地方也将 Masternode 的分红方式称作 Proof of Service 或 Proof of Commitment, 但它不是共识协议。
纵观 Masternode 生态的项目,在市值前 100 名的项目中,Masternode 模式的币种只有少部分。其中最著名的是 Dash(7%年化), PIVX(14%年化)和 XZC (27%年化)。由于 Cobo 是最早提供 Masternode 和 PoS 增益的钱包,这几个币种都已在 Cobo 中支持。正如上面提到 Masternode 的参与门槛都比较高,个人用户参与 DASH Masternode 需要有 1000 个 DASH 币的证明 (现市值12W美金),并且需要自行操作和服务器管理。所以 Cobo 钱包提供了 Pooling 的方式,即用户只需要将任何数量的币存入 Cobo 的云端增益钱包,既可按比例获取 Masternode 分红。
如果扩展到市值前 3000 名的项目,大概有 200 多个基于 Masternode 的项目(masternodes.pro),但是市值都较小。虽然一些项目的年增益可以到 5 倍,但是1年后项目是否存在还需仔细评估。Cobo 的上币委员会一直在关注 Masternode 的好币种,在安全性,发展前景和年化增益等维度权衡,为大家提供简单方便的增益方式。
第二部分:DPOS (Delegate Proof of Stake)
成为候选节点的条件较高且略中心化,他需专业的服务器和运维人员来维护节点的安全性和稳定性。从获得资格来讲,不仅需要质押 (Staking)很多币量,吸引用户投票 (Voting),还需要一定的组织实力做为节点的背书。
采用DPoS共识协议的项目会限制最大节点数 X ,持币用户的每个币对应一定数量的投票权,用户将票权投给自己信任的节点。根据投票(voting)数量的多少排名前 X 个节点成为出块节点。
在每轮出块时,节点通常是轮流(Round-robin) 出块,只要( 2/3 + 1 )个出块节点验证一个块通过,则该块上链 (reach finality) 。
DPoS 是在 PoS 的一个衍生,出块流程相对简单,大大提升了网络 TPS。代表币种是LISK(101节点) 和 EOS(21个节点) TRON(27个节点). EOS, Bitshare, Steemit 的创始人曾经写过一篇输入分析 DPoS 的文章,有兴趣的读者可以研读 [DPOS Consensus Algorithm - The Missing White Paper
虽然 DPoS 的协议相对简单,且出块迅速 — 一般在三秒之内。但是问题也很明显:不够去中心化。这样作为公链系统作为价值存储不够安全。但作为伸缩性高的侧链系统共识协议也许是上乘之选。
第三部分:(BFT Byzantine Fault Tolerance)
BFT(Byzantine Fault Tolerance)起源于著名的拜占庭将军问题,曾经在 1982 年的文章中便被提及。正如它的名字一样,他解决一个系统中即使有 1/3 的恶意节点也可以正常运作的共识算法。
BFT 的算法被很多项目使用或优化后使用。比如 Cosmos 的共识层 Tendermint, 是用 PBFT(Practical Byzantine Fault Tolerance)。NEO 是最先提出 DBFT(Delegate Byzantine Fault Tolerance)算法的项目。虽然衍生很多,但本质上来讲他可以被归纳为以下流程。
成为出块节点(Validator) 的前提是需质押一定币量,即 Staking。同时其他持币用户(Delegator)可以将所持币相等的币权授予(Delegate) 给支持的节点(Validator)。类似于 DPoS,币量和票权相加排名前 X 名的节点可以参与出块。但是和 DPoS 模式有本质区别的是:

[*] BFT 共识不会刻意限制共识节点 (Validator) 的数量,因为不像DPoS, 如果节点(Validator) 数量超过 101 个,那么节点协同作恶的风险就会大大增加。像使用 BFT 的 Cosmos, 虽然主网上线后限制 100 个节点,但是每年会提议增加;
[*] Validator 和 Delegator 锁定或授权的币,如果在节点作恶,会被系统惩罚 (Slash)。而 DPoS 中一般没有这样的规则。它完全依靠节点的背景和信誉来保证出块的正确性,所以说它更加中心化;
[*] BFT 系统中。授权(Delegation)的利益其实和节点(Validator) 更加深度绑定的。如果节点作恶,授权用户(Delegator) 也会受到相应经济损失。而在 DPoS 中,投票用户(Vote) 投票只是赋予了节点票权以表支持;
[*] 另外一点区别更偏技术,在出块协调过程中需要同步时钟(Clock)。这在分布式系统中对系统性能有很高的要求。然而 BFT 的算法是异步的,对统一的时间要求更宽泛,从而可以扩充更多的节点数,使得扩展更加去中心化的系统成为可能。
BFT 出块节点选择和验证区块和 DPoS 类似,节点轮流出块,一般出块量(Block rewards) 和排名正相关。当每个块被网络上的 2/3的节点验证后边成功上链( Reach Finality)
https://p3.pstatp.com/large/pgc-image/ROjFpTt5OFlNbK第四部分:PoS / DPoS / BFT 的扩充 (Extended PoS)
基于传统 PoS , DPoS, 和 BFT 的衍生共识协议基本都满足他们的基本属性,只是在一些条件上有了提升和优化。下面选择一些有代表性的项目和协议举例:
Tezos: Liquid Proof-of-Stake 类似于 DPoS,但是节点(Baker) 的数量不固定,最多可以到 80,000 个。和BFT类似,作恶同样有惩罚机制。每一轮的出块节点是随机选出,选择其他 32个 stakeholder 验证(endorse) 后既可出块。
Algorand: Pure Proof-of-Stake 著名的声称可以解决 区块链中不可能三角问题的项目。他的方式是在每一轮出块的时候,每个 stake 的节点可以再本地运行一个加密算法获得令牌(Token) ,从而知道是否自己在下一轮是否出块。如果是,则广播给其他节点自己的信息。出块后, 选出 1000个令牌(Token)进行区块验证后上链(reach finanlity) 。这样的好处是,每次出块,是纯随机,恶意节点不可能持续的成为出块节点。而且每次出块节点和验证节点都是随机选择,可以有效避免 DDoS 攻击。
Near: Thresholded Proof Of Stake 该项目致力于移动端的区块链,所以共识协议需支持百万级别的共识节点。Threshold 的优化方向是在每个出块的时间内,在百万节点中选择 1024 个 席位(Seat)的拥有者。每个 Seat 的价格根据网络总Stake 的数量决定。1024 个席位(Seat)的持有节点可进行出块和验证。出块节点的抵押币量在出块后需要锁定三天才可以被赎回。
IOST :Proof of Believability 是一种混合型的 PoS,提升了选取候选节点的方式。Staking 和获得 Delegate Votes 的数量只是成为 Validator 的门槛,节点还需要证明自己对于社区的贡献,用户行为,技术实力和响应时间来获得更多的节点权益。
PoA Network: Proof of Authority 是修改过的PoS,区别在于不用Staking的币量的经济价值多少来确定节点 (Validator),而利用节点的真实身份来作为节点的信任保障。
第五部分:Proof of X and beyond
前方提到的 Proof of Stake 及衍生共识协议都基于公链,确保公链的安全,性能和去中心化。它不仅是公链 Native Token 价值存储的基础, 更是确保公链上 DApp 应用资产所有权和安全性的保证。然而对于 Proof of Stake 的概念除了对共识协议本身的优化之外,它也被扩充到了 Work / Utility Token上。
Livepeer 是视频加密和传输的应用,它的 Token LPT 是基于以太坊的 ERC20. LPT 的 Proof-of-Stake 是基于对视频加密场景的特殊应用。Stake LPT 的节点不再是 区块 Validator 而是视频加密服务节点 (Transcoders) ,Stake LPT 越多从而被选中提供服务的机率越大,从而获得收益越多。
FIlecoin 是 2017 年最火热的 ICO 项目之一,协议层 IPFS 所用的共识协议为 Proof of Spacetime / Proof of Replication. Filecoin 是文件存储和读取的特定应用场景的项目,所以节点根据提供的存储 或 被读取的服务获得收益。Staking 是获得提供相应项目的方式。
是不是感觉和前方提到的 Masternode 有点像呢?
第六部分:写在后面的话
正如前面提到,PoS 及其衍生的共识协议多种多样,他的本质都是在以下三个过程中选取不同方式和算法来优化 安全性,性能,和区中心化特性。

[*] 成为候选节点的条件(Validator Requirement)
[*] 出块节点的选择方式 (Block Creation)
[*] 区块正确性验证方式(Block Validation)
随着新的项目逐渐上主网,我们注意到很多提升隐私性和伸缩性的二层网络 (2nd Layer) 解决方案都比较倾向用 PoS 的共识协议。
Staking 经济模型 (Staking Economy)
正如 PoW 的出块奖励模型激励了矿工矿池产业的诞生和繁荣,PoS 生态是否可以长远发展和经济激励密切相关。下面就来讲讲 PoS 共识中基本激励模型, 并且作为持币用户如何在质押和投票(Staking or Delegating)的众多选择中擦亮双眼获得Passive Income。
Proof of Staking 共识系统的增益率没有 Masternode 的增益奖励来的直接,因为他通常来自于三个维度。
通胀奖励

[*] 年通胀率:大部分项目的通胀比例和节点 Staking 的币量比例反相关,目的是来调节 Staking 币量和流通币量之间的关系。比如说网络 Staking 收益年化率提升会吸引更多的币进行质押, 那流通的币量固然会减少,从而影响经济系统的使用价值。此时,通胀奖励的数量根据质押率减少,反激励 Staking 的比例,达到动态均衡。
[*] 通胀货币中,作为出块奖励的比例, 来衡量项目在 Staking 经济中是否占很大分量。
出块手续费 / 服务费

[*] 交易手续费奖励给出块节点 或 成为服务节点的工作收益和网络使用率正相关。这也很符合区块链的精神。区块链是 Adoption 系统,参与用户越多,则网络价值越大。
项目方奖励

[*] 项目方通畅会在刚上主网后为了鼓励节点参与,会给与一定的补贴或奖励。通畅这部分奖励会随着时间的增长和项目上线的完成度逐渐递减。所以一般很多项目在刚上线时增益会比较高,但是随着用户使用增长,交易手续费 或 服务费 会弥补这部分的减少。
在选择质押(Staking)和投票(delegating / voting)时,作为普通持币用户该关注节点什么方面来保证资产安全和稳定收益?
我们先不关注币价波动带来的法币价值变化,我们的讨论先限制在币「种自身经济模型」之内,即币的增益。
1. DPoS / PoA 为基础的项目,看节点团队和其真实身份
他们一般都代表了项目的利益。可能是投资方,社区,或 Staking Service 。利益紧密绑定的节点方更会以用户利益和项目的成长为目标。和他们一起赚钱才是靠谱的。
2.对 BFT 等具有惩罚机制的衍生 PoS 需要很关注节点的技术实力
如果掉线未出块,或者因为某种原因包含了恶意交易,会被协议惩罚(Slash). 此时不仅仅是节点(Validator) 会被经济惩罚,投票给节点的持币用户(Delgator)也会遭受损失。
节点质押币的方式有多种,有时候会质押在热钱包中。所以节点的服务器安全性是很重要的一个考量因素。一般是否服务器在安全的数据中心或云服务上,是否有 DDoS 保护,是否有安全的硬件加密模块(HSM)保护 Validator 服务器。PoS 生态才刚开始,节点丢币事件还很少,但是它是个巨大的增量市场。之后必定会像 PoW 的发展过程中出现丢币盗币时间发生。
3.所有 PoS类项目,市值排名很重要
区块链还在高速发展的时期,这意味着仍然会有大多数项目存在归零的风险。一些项目的年化增益可以达到 500%, 但是市值确是 4 位数字,请大家擦亮眼睛,谁也不想质押自己的币给 Ghost Project.
另外从经济角度来讲,市值越大意味着经济体量越大,系统风险便越低。要和鲨鱼一起赚钱。
4. 收益率
一般投票(vote)或 授权(delegate) 节点的持币用户,会付 5 - 20% 给节点作为服务费。节点收取服务费的比例不相同,这会影响用户一部分的年化率。Cobo 的使命是建立长期的和用户一起盈利的能力,所以在服务费收取的角度,会优化执行效率和稳定性,从而最大可能的返利给用户
除了项目本身,用户自己的特点和需求也需要被考虑。如果你只想简单增益,且不想去担心节点资质或技术配置及监控问题,那可以选择 Staking Service。

[*] 第一种 Staking Service 提供技术设施,他们的优势在于节点运维和监控。适合于想做节点(Validator)但不想自己在 VPS 搭建和管理技术设施。
[*] Staking Service 提供节点服务,他们往往自己通过募资或资本建立节点,吸引持币用户投票(vote) 或授权 (Delegate) 给他们的节点。这种服务有时候也被称为 Pooling。
[*] Staking Service 更加智能,通常用户选择将数字资产托管于服务商。根据项目的不同,服务商可能会自己做 Validator 或集中用户的币来 投票 (vote)或 授权(delegate) 其他的 validator。服务商会通过网络收益,节点资质优化投票配比来做到最大程度和用户一起盈利,规避系统风险。对用户来讲做到无忧增益。
(作者:cobo钱包)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 超硬核!关于PoS,你想知道的都在这里