Supernode Proof-of-Stake讲义 - moo

作者: moonking9999 | 来源:发表于2019-04-07 10:37 被阅读11次
By Community Staking Professional,ID - the Moonking9998(大家等我做一份PPT去演讲)

参考文档:

Bitcoin: A Peer-to-Peer Electronic Cash System

https://bitcoin.org/bitcoin.pdf

PPC: 一种P2P(点对点)的权益证明(Proof of Stake)密码学货币

https://peercoin.net/whitepapers/peercoin-paper-cn.pdf

从 PoS 进化 SPoS:无能耗共识机制的演进

https://www.v.systems/pdf/sposwhitepaperch.pdf

Casper Proof of Stake compendium

https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium

DELEGATED PROOF OF STAKE

http://docs.bitshares.org/bitshares/dpos.html

EOS - An Introduction

https://eos.io/documents/EOS_An_Introduction.pdf

Decred Documentation - Proof-of-Stake Voting and Proof-of-Work Mining

https://docs.decred.org/research/overview/

Dash: A Payments-Focused Cryptocurrency

https://github.com/dashpay/dash/wiki/Whitepaper

一、基础介绍

SPoS共识机制全称是Supernode Proof-of-Stake,中文译名是超级节点PoS共识机制。

SPoS共识机制由Proof-of-Stake(简称PoS)共识机制原作者Sunny King于2018年6月发布,它延续了PoS共识机制的多个核心逻辑,包括以权益为权利(Stake-as-Power)、去中心化、高扩展性等,相较于其他新一代共识机制(包括Casper、混合PoS以及被认为不是PoS的DPoS),SPoS是忠实于PoS原教旨的下一代Proof-of-Stake共识机制。

在2013年发布PoS共识机制,用来解决比特币的PoW共识机制中的能源消耗、矿池中心化以及不可扩展性,PoS共识机制被很多数字货币采用为替代性共识机制,包括当前主流的达世币、艾达币以及Sunny King主创的点点币均采用了PoS共识机制。

不过PoS共识机制也存在诸多的不足,并且无法满足当前区块链领域对于基于单一区块链公有链平台发展应用的要求。Sunny King在2016年12月31日,停下了手中的点点币工作,沉思了一年多时间,过滤了外界对PoS的误解,也改进了PoS的确存在的不足,并针对当前区块链领域主流发展方向的要求。在2018年11月,Sunny King发布了首个基于SPoS共识机制的区块链公有链平台V SYSTEMS(网址:https://v.systems ),这是一个区块链数据库和云平台,其愿景是支撑一个由数亿区块链应用组成的全新经济时代。

二、回顾PoS共识机制的特点

由于SPoS共识机制延续了PoS共识机制的原教旨,所以要仔细了解SPoS共识机制的特点,我们需要回顾一下PoS的几个重要技术特点:

几乎不消耗能源

PoS共识机制不依赖电量和计算量做为区块链记账的验证基础,几乎不消耗能源。

可以无限规模化

因为验证记账的过程,不必受限于硬件和电能的供给量,理论上区块链的记账能力可以无限地规模化扩大。这为区块链技术应用铺平道路。

货币效用决定货币价值

货币价值不需要内在价值或其他类型商品的价值对称(如挖矿成本决定币的价格),而是由货币效用决定货币价格。

权益就是权力

区块链记账验证和奖励,都是以权益为核心。

去中心化

没有矿池,不会出现算力巨无霸控制区块链的情况。

随机产生区块

PoS采用了随机节点产生区块的设计,仅可观察平均区块间隔。

三、对PoS共识机制的质疑

同时,我们需要了解几年来,区块链领域对PoS共识机制的几个主要质疑点,才能更好理解为何SPoS共识机制才是纯正的下一代PoS。

无风险支持分叉链(nothing-at-stake)

这是外界对PoS共识机制最大的质疑。

无风险支持分叉链的质疑主要指出,由于区块链记账验证不涉及工作量或能源消耗,铸币者可尝试在区块树上所有分支上进行铸币而不会有任何损失。因而在利益的驱使下,铸币者将会在所有分叉链上进行铸币,以保证获取到最大的铸币收益,而同时避免没有支持最后获胜的一个分叉链。

这一质疑简单讲就是认为因为铸币者不作为,所以作恶者可以不断分叉主区块链,导致主区块链被分散。

币龄限制了权益流动性(Stake Liquidity)

PoS共识机制对于权益在参与铸币后的移动行为进行了诸多限制,在技术层面这一设计避免了频繁攻击(即持币者可以“一票多投”,一个权益获得多份收益)。

从权益证明的角度来看,不应当允许使用同一权益在多个铸币时段索取铸币权。然而由于权益具有流动性,或许可以利用这种流动性尝试 快速移动权益, 为权益获取比其应得的更多的铸币时段。称这种类型的攻击为频繁竞争攻击(Busy Contention Attack)。

尽管在技术层面这可能有其合理考虑,但在经济层面,它却是用户参与铸币的一个进入门槛,因为用户总是会问,我的币会被锁多久。

然而,在PoS共识机制中,参与铸币的权益数量直接关系到共识的安全等级,与比特币算力决定比特币安全类似。

从这个意义上讲,对权益的移动不加任何限制才是对网络安全有益的。

币龄并不能准确衡量贡献值(Coin Age)

作为控制铸币概率的价值证明,币龄显示出了它的优点与稳定性。

然而,由于它是一个基于交易的量,计算复杂度与给定时间内所执行的交易数量有关。而且,币龄也并不是一个能体现出铸币者对社区贡献量大小的准确值。

铸币安全性(Minting Secuity)

由于PoS共识机制要求铸币者对区块进行签名,为此其私钥必须保持在线,这就给铸币者带来了巨大的数字资产风险。

如何支撑海量的去中心化应用

其一,在PoS共识机制中,并不是所有节点都有足够的激励,让他们有动力去升级硬件。

其二,如果要采用比特币和其他PoS区块链的随机出块设计,例如每10分钟出块1次,但实际上有时候,这个间隔超过了10分钟。

对于以性能为设计方向的区块链而言,这就是一个巨大的问题。

这类系统更倾向于固定的而非随机分布的响应时间。

四、SPoS如何演进PoS

对于无风险支持分叉链(nothing-at-stake)

无须理会!

Sunny King认为,这种质疑是杞人忧天。

对于无风险支持分叉链(nothing-at-stake)的质疑,它忽略了PoS共识机制中,对区块链有重要影响的人的核心原则,即当某人在货币供应中拥有了的一定比例的权益后,他应当已有激励去做对整个区块链有益的事情,而不会对系统进行攻击。

按照这样的原则来看,即便是贪图收益的“大户”铸币者也会用外部货币的对价来衡量自己手上持有的权益,而使用权益在多个分叉链上铸币肯定会导致整个区块链对外部货币的贬值,这是损害铸币者自身利益的事。

考虑到对权益价值可能的负面影响,这或许与公地的悲剧有一定关联。然而,即便按公地悲剧最初的解释,可能避免的少量铸币损失也比不上权益价值潜在损失的量级。

事实上,无风险支持分叉链(nothing-at-stake)目前并没有发生过的案例。

对于权益流动性(Stake Liquidity)

让权益在铸币后可以充分流动,以确保区块链的安全性。(举一个极端例子:在SPoS共识机制下,当一个超级节点被黑客攻破之后,持币者可以马上将自己租借给超级节点的权益收回,并立即租借给安全的后备节点成为超级节点。这无形让黑客失去了攻击意义,也让黑客要想控制整个区块链付出更大的代价,因为理论上需要攻击无穷尽数量的超级节点)

有了权益流动性,铸币者可以随时花费或转让其拥有的权益。而租借权益的人也可以随时解除租借关系,并花费或转让其权益。

此前提到过充分的权益流动性会带来频繁竞争攻击,而SPoS共识机制中,抵抗这类攻击的办法是为账户余额引入某种度量,其类似于铸币时段竞争的累加平均。思路是,权益必须留存在账户中一段时间​​,以等待账户度量恢复到满额,这样即可阻止频繁竞争攻击。

对于币龄的合理设计(Coin Age)

引入铸币余额的设计。

简单说就是让权益移走时会立即减少超级节点上的权益总量,而权益租借给超级节点时,并不会立即增加超级节点上的权益总量。

超级节点是否拥有铸币权,与此铸币余额总数有关,而铸币余额总数就与放置满一定时间的权益有关,但并不是权益放置时间长短与铸币收益多少无关。

对于铸币安全性(Minting Secuity)

解决的办法是将铸币与消费的角色相分离。

也就是说,持币者的密钥与铸币者的密钥可以是不同的。那么,铸币者密钥保持在线的同时,权益所有权密钥可以放置在离线存储中。

这自然就会允许出现铸币池(minting pool),类似于比特币的矿池,也就是SPoS共识机制中的超级节点。

而Sunny King在此处还设计了平衡铸币权,以防止SPoS共识机制中超级节点出现中心化的问题。在后文中我们将详细给大家解释。

如何支撑海量的去中心化应用

引入超级节点做为出块者,提供足够的激励,确保超级节点不断升级硬件以支撑区块链扩容。

而同时采用固定顺序和固定间隔出块,让区块链时钟与互联网时间协议同步,以保证出块的性能以及提高可预见和预测性保障安全。

五、SPoS的3大技术特点和2大经济特征

3大技术特点

固定顺序和固定间隔出块

冷铸币

超级节点

2大经济特征

权益所有者和出块超级节点都有激励参与出块

铸币收益由超级节点和权益所有者共同分享,分享比例由超级节点之间的竞争决定。

举个例子大家就明白了。在Sunny King最新的公链VSYS主网中,一共有15个超级节点,持币者(权益持有者)将权益租赁给超级节点,每个超级节点每分钟轮流产块1个,每个产块获得36个VSYS币做为奖励,一天一个超级节点产VSYS币51840个,超级节点扣除20%左右的硬件等运营成本,将80%的铸币收益按照权益总量均分给持币者。

大家可以访问vsysrate.com了解更多细节。

此前讲过参与出块的权益总量对标了比特币的算力,所以以上设计保证了绝大多数权益将参与SPoS共识机制的出块过程,这也带来了很大的安全性。

铸币权和铸币收益平等分配,以消除矿池中心化风险

铸币时段的平等铸币权使得网络中超级节点拥有平等的地位及相同的铸币输出。这与比特币挖矿设计形成鲜明对比。在比特币挖矿中,没有内在机制防止止矿池市场形成垄断,其已成为了系统去中心化目标的一个现实威胁。

铸币时段的平等铸币权在铸币经济中扮演了一个不可或缺的角色。超级节点形成了一个由 铸币池组成的市场。铸币池市场决定租借的利率。由于权益所有者有将权益租借给支付更高利率的超级节点的理性偏好,而对于支付高利率的超级节点来说,铸币输出(即收入) 是固定的,租借来更多的权益将会迫使它降低租借利率,所以存在一个平衡点,其作为一种内在的力量迫使超级节点的租借利率趋于相等。

六、SPoS共识机制带来的飞跃

延续PoS,同时超越PoS

面向性能,支撑海量去中心化应用

最难被51%攻击的区块链

生态系统整体高安全性

去中心化的超级节点

用数学角度重构回归比特币的极简设计,提高了完美性

七、横向对比

目前的主流共识机制包括了:

PoW、PoS、混合PoS(PoS出块验证,PoW平均分配奖励)、SPoS

因为DPoS系统没有提供广泛数量的权益所有者(持币者)出块奖励,所以其权益所有者属于无意识参与出块验证,并不会对区块链有任何做为,其更像是一个带有区块链色彩的互联网网络(注4)。不过因为EOS的受众过多,虽然逻辑告诉我DPoS不是区块链,但这次还是加入了分析。(我们这里是分析技术,我没有说EOS的币价不牛逼)

补充说一下,其余30多种Po?漏洞太多,根本没有运行出来,在此不进入讨论范围,而DAG共识机制,目前争议比较大,在此也不进行讨论。

注1:

在DPoS中,权益的持有者,没有任何激励参与出块验证,也没有任何激励不参与出块验证,更没有任何激励在出现黑客对BP节点或者51%攻击时有做为。

最现实的例子就是EOS的投票率极其低下,而上述讲过,投票率=权益参与数=算力。

注2:

在DPoS中,单纯就只是BP包办全部出块过程。一旦一半BP被攻破,这个区块链就完蛋了。因为没人能短期集结所有的权益去支持不作恶的新BP。

注3:

在DPoS中,一方面由于权益所有者没有任何激励,另一方面权益多的节点收益更高,所以BP节点会越来越寡头。但寡头节点并不一定持有足够多的权益,当作恶的利益超过寡头节点持有的权益,寡头节点就会有作恶的动机,而一旦寡头节点作恶,所有权益持有人第一时间的动作就是抛售持有的币,而不是去更换投票。

注4:

由于持币者逻辑上没有理由对出块者有作为(符合公地的悲剧所讲述的原则),所以DPoS中,实际上出块过程中的变量是出块者本身,也就是EOS的那20多个超级节点,这20多个超级节点就像20多台互联网主站,他们在运转整个区块链,即使出现任何的作恶情况或者被黑客攻击,整个EOS主网是不会像区块链一样进行自我完善和修复的,因为持币者本身是不作为的(事不关己,高高挂起)所以说很多人认为,EOS的主网已经脱离了PoS区块链中系统靠权益来不断自我调整的原则,EOS不是区块链,更像一个互联网,而DPoS根本不是PoS。

相关文章

网友评论

    本文标题:Supernode Proof-of-Stake讲义 - moo

    本文链接:https://www.haomeiwen.com/subject/nnijiqtx.html