SlideShare a Scribd company logo
1 of 16
Download to read offline
!
从 PoS 进化 SPoS:⽆无能耗共识机制的演进
英⽂文原⽂文由Sunny King的 V SYSTEMS 团队 撰写
2018 年年年年 9 ⽉月 16 ⽇日
本中⽂文版由V SYSTEMS社区爱好者翻译,请在http://www.v.systems阅读英⽂文原版
摘要
我们为 V SYSTEMS 区块链平台设计了了了了⼀一个注重⾼高扩展性的权益证明(PoS)共识机
制,称为超级节点权益证明共识(Supernode PoS)。该共识机制的特点包括固定的区
块铸币间隔、冷铸币、以及权益流动性。
本⽂文⽂文也阐述了了了了 SPoS 与最初 Peercoin 在 2012 年年年年引⼊入⼊入的 PoS 机制之间的沿
袭与差异。
1. 能源的作⽤用
早在 2011 年年,⽐比特币⽹网络经历了了可能是它的第⼀一次显著增⻓长。那时,绝⼤大部分的⽐比特
币使⽤用者及⽀支持者们对于这⼀一去中⼼心化⽹网⽹网络的能源消耗问题可能并不不关⼼心。然⽽而,
Peercoin 项⽬目[1] 已经提出了了问题:能源消耗对达成共识真的必不不可少吗?对于⼤大多数
⽐比特币的⿎鼓吹者⽽而⾔言,这个问题的答案是肯定的:⽐比特币就像是⻩黄⾦金金;挖⾦金金矿所消耗的能
源给⻩黄⾦金金赋予了了价值,⽽而⽐比特币挖矿所消耗的能源不不仅能使⽹网络达成共识并保共识安全,
也是⽐比特币货币价值的⽀支撑。
但回顾历史,⼈人们对于是什什么给予了了⻩黄⾦金金货币价值这⼀一问题众说不不⼀一。奥地利利学派推断其
必然来⾃自于某种初始的商品价值[2]。有⼈人推测,⼀一旦⺠民族国家有了了⾜足够的能⼒力力可以剥夺
⻩黄⾦金金的货币⻆角⾊色,那么⻩黄⾦金金就应该没有什什么价值了了。只要⼈人们相信⽐比特币的货币效⽤用,就
⾃自然会问道:到底是什什么给予了了⽐比特币价值?
!
Peercoin 在⼀一定意义上是在尝试解开这个最重要的货币奥秘。它成功地将⼯工作量量证明或
(借⽤用⻩黄⾦金金挖矿⽽而来的)挖矿的能源消耗从共识算法中分离了了出来,并将能源的作⽤用限制
到仅⽤用于数字货币的发⾏行行。接下来很容易易考查能源仅剩的与货币发⾏行行的关联,因为⼈人们可
以切换到某种类似股票的发⾏行行模型,从⽽而可轻易易将能源成分从发⾏行行机制中剔除。
因⽽而事实上,权益证明共识技术进⼀一步表明了了货币价值并⾮非来源于能源消耗。⽽而且,货币
价值也不不需要内在价值或任何其他类型的商品价值。仅由货币效⽤用就可以赋予价值。
2. 权益证明共识—⽆无能耗的共识
Peercoin 达成共识的⽅方法极具开创性。它完全抛弃了了⽐比特币的取得惊⼈人成功的⼯工作量量量量
证明共识机制,⽽而去寻求⼀一种完全不不不不依赖能源消耗的算法。它对权益证明充满信⼼心⼼心,
相信这⼀一概念可以独⽴立⽴立地形成⼀一个共识算法,⽽而⽽而不不需要任何⼯工⼯工作量量量量证明成分。
有的作者误解这⼀一点。就共识算法⽽而⾔言, Peercoin 是纯权益证明的。⼯工作量量量量证明仅仅
⽤用于数字货币的公平分配,并不不不不参与共识算法。
对于⼀一个⽆无⽆无能耗的共识系统,我们称产⽣生区块的过程为铸币(minting),以区分于消
耗⼤大量量量量能源的挖矿过程。
Peercoin 的共识算法继承了了了了⽐比特币的⼀一些特征。例例如,它也随机地产⽣生区块,仅可以
观察到平均区块间隔或⽬目⽬目标区块间隔。与这⼀一过程相关联的是⼀一个称作权益证明难度的
度量量,对应于该度量量量量有⼀一个⽤用⽤用于铸币的由共识协议维护的可调节阀值。
引⼊入权益证明共识机制是区块链技术发展中的⼀一⼀一个巨⼤大⾥里里程碑碑。它不不仅消除了了为达到分
布式共识⽽而⽽而进⾏行行挖矿的能源消耗,也极⼤大增强了了区块链的扩展能⼒力力,为区块链技术的各
种应⽤用铺平了了道路路。
3. 针对权益证明共识的批评
⾃自从 Peercoin 开创性的⾯面世后,常有⼈人针对该系统某些⽅方⾯面提出批评。⼀一个经常能听到
的批评是“权益欺压(stake grinding)”。这种攻击在 2012 年年 Peercoin 最初版本[3]
!
发布后不不久即被发现。Peercoin 于 2013 年年 2 ⽉月发布的 0.3 版本[4] 中实现了了⼀一个重
要的新算法,以抵抗这种类型的攻击。
这个新算法引⼊入了了⼀一个称为“核(kernel)”的共识字段。它是⼀一个会随区块链逐渐变化
共识数字:在给定的时间隔内协议会选中⼀一个区块,被选中的区块可以改变核的⼀一个⽐比特
位。核可以看成是区块链上的⼀一个缓慢改变的随机源(entropy source),区块链的⼀一
个短分叉给它带来的影响将⼗十分有限。有了了核的保护,权益欺压的威胁就基本上被消除
了了。
另⼀一个针对权益证明共识常⻅见的批评为“⽆无⻛风险分叉(nothing-at-stake)”问题。该问
题可表述为,由于铸币不不涉及⼯工作量量或能源消耗,铸币者可尝试在区块树的所有分⽀支上进
⾏行行铸币⽽而不不会有任何损失。因⽽而在利利益的驱使下,铸币者将会在所有分⽀支上进⾏行行铸币,以
避免某⼀一给定分叉输掉竞争⽽而导致的损失。这种论证的问题在于它忽略略了了权益证明的核⼼心
原则。权益证明的思想是,当某⼈人在货币供应中拥有了了的⼀一定⽐比例例的权益后,他应当已有
激励去做对整个系统有益的事情,⽽而不不会对系统进⾏行行攻击。由于在所有分⽀支上进⾏行行铸币可
认为是对协议的⼀一种攻击,它已经是权益证明所不不允许的了了。按这样的观点,即便便是所谓
的理理性铸币者也不不应当以内部货币单位来估量量价值,⽽而应当以外部稳定货币来衡量量其权益
的总价值。
考虑到对权益价值可能的负⾯面影响,这或许与公地的悲剧[5] 有⼀一定关联。然⽽而,即便便按
公地悲剧最初的解释,可能避免的少量量铸币损失也⽐比不不上权益价值潜在损失的量量级。事实
上,没有证据表明“⽆无⻛风险分叉”导致了了任何为进⼀一步制⽌止该攻击⽽而作出的协议调整。
4. 关于冷铸币的争论
在权益证明共识⾯面世后不不久,Peercoin 社区就掀起了了了了关于冷铸币(cold minting)特
征的讨论 [6][7][8]。它与⽐比特币称为冷存储的特征有关,即私钥由离线钱包进⾏行行管理理
理理。由于权益证明共识要求铸币者对区块进⾏行行签名,为此其私钥必须保持在线。这与冷存
储可获得的⾼高安全性是⽭矛盾的。
!
解决的办法是将铸币与消费的⻆角⾊色相分离。也就是说,权益所有权的密钥与铸币所需的密
钥可以是不不同的。那么,铸币密钥保持在线的同时,所有权密钥可以放置在离线存储中。
这⾃自然就会允许出现铸币池(minting pool),类似于⽐比特币的矿池。鉴于⽐比特币矿池
的中⼼心化倾向,铸币池也是不不被赞成。
考虑到众多因素,冷铸币特征并未在 Peercoin 中实现。⽽而在其他⼀一些权益证明系统中确
已经实现了了铸币密钥与所有权密钥的分离。这种分离现在通常被称为权益代理理或出租。
5. 向超级节点的转换
区块链⾏行行业在最近⼏几年年年年中⻅见证了了去中⼼心化应⽤用的巨幅增⻓长。⽐比特币与以太坊都出现过周
期性交易易拥堵。越来越多的关注点投向了了单⼀一区块链的表现上。
这就已经为共识算法的设计带来了了⼏几个问题。⾸首先,挖矿或铸币节点可能没有⾜足够的激励
升级节点硬件。且这种节点也可能⼤大量量存在。由于整个⽹网络的维护成本⾮非常之⼤大,有的节
点在硬件升级上注定会被甩在后⾯面。
另⼀一个问题与⽐比特币产⽣生区块的随机过程有关。尽管平均区块间隔是 10 分钟,但有时候
下⼀一个区块的产⽣生需要等待⽐比这⻓长得多的时间。对于⾯面向性能的系统⽽而⾔言,这就成了了⼀一个
问题。这类系统更更倾向于固定的⽽而⾮非随机分布的响应时间。
如上的考虑,铸币协议应当设计成有固定的区块间隔,且要将铸币节点提升到⽐比⽹网络中其
他节点更更重要的位置。
6. 铸币时段与铸币权竞争
为实现铸币的固定区块间隔,我们定义⼀一个称为铸币时段(minting slot)的实体。每个
时段对应于铸币权的⼀一次平均分配。因此,为获得某个时段的铸币权,⼀一个潜在的铸币参
与者必须取得该时段的所有权。
!
在每分钟内定义了了 60 个铸币时段,每个时段对应于其中特定的⼀一秒钟。要在给定的⼀一秒
钟内取得铸币权,必须取得该秒对应铸币时段的所有权。
基本上系统中的铸币者将会轮流着进⾏行行铸币。这样做的好处是,如果有某些超级节点停⽌止
⽌止了了铸币,不不管出于什什么原因,他们对系统响应及吞吐量量的影响都会被最⼩小化。
每个超级节点的本地时钟都通过⽹网络时间协议进⾏行行同步,以保证铸币活动的正常顺序。回
到 2009 年年年年,⽐比特币选择不不依赖于⽹网络时间协议进⾏行行时钟同步,所以⽐比特币协议允许
矿⼯工们时钟偏移多达 2 个⼩小时。通常⽽而⾔言,现今的⽹网络时间协议可以作为⼀一项基本的互
联⽹网服务,与域名服务类似,因⽽而可以合理理地假设其有很⾼高的安全性。
铸币时段的竞争可以允许在任意时间⾃自由进⾏行行。挑战者可以选择⼀一个时段向当前的铸币者
发起挑战。为防⽌止滥⽤用挑战,挑战者需要⽀支付⼀一笔较⾼高的挑战费。当挑战者发布⼀一个竞争
交易易后,协议将检查竞争者与当前铸币者的质押权益以决定谁是竞争的胜出者。
7. 铸币经济
铸币者参与铸币的质押权益包括其拥有的且未租借给别⼈人的数字货币,以及其他⽤用户租借
给该铸币者的数字货币。术语“租借(lease)”指明的关系为铸币者通常以铸币池形式运
⾏行行,并需要给数字货币的拥有者⽀支付⼀一定利利利利息。在租借期间,货币的所有权并未转让,
因此铸币者不不能花费或转让租借来的货币。
铸币时段的平等铸币权使得⽹网络中超级节点拥有平等的地位及相同的铸币输出。这与⽐比特
币挖矿设计形成鲜明对⽐比。在⽐比特币挖矿中,没有内在机制防⽌止⽌止矿池市场形成垄断,其
已成为了了系统去中⼼心化⽬目⽬目标的⼀一个现实威胁。
铸币时段的平等铸币权在铸币经济中扮演了了了了⼀一个不不可或缺的⻆角⾊色。超级节点形成了了⼀一个
由铸币池组成的市场。铸币池市场决定租借的利利率。由于权益所有者有将权益租借给⽀支付
更更⾼高利利率的超级节点的理理性偏好,⽽而对于⽀支付⾼高利利率的超级节点来说,铸币输出(即收⼊入
⼊入)是固定的,租借来更更多的权益将会迫使它降低租借利利率,所以存在⼀一个平衡点,其作
为⼀一种内在的⼒力力量量迫使超级节点的租借利利率趋于相等。
!
V SYSTEMS 平台也采⽤用了了 Peercoin 的⼿手续费销毁模型以降低通胀率,同时消除铸币
者之间的利利益摩擦。
对超级节点硬件资源的要求将通过共识协议范畴之外的社区⼒力力量量进⾏行行标准化与提升。
8. 权益流动性与频繁竞争攻击
以往的权益证明共识系统对于权益在参与铸币后的移动⾏行行为进⾏行行了了诸多限制。尽管在技术
层⾯面这可能有其合理理考虑,但在经济层⾯面,它却是⽤用户参与铸币的⼀一个进⼊入⻔门槛。
然⽽而,在权益证明共识中,参与铸币的权益数量量直接关系到共识的安全等级。从这个意义
上讲,对权益的移动不不加任何限制是对⽹网络安全有益的。称不不限制权益移动的这种性质为
权益流动性(stake liquidity)。有了了权益流动性,铸币者可以随时花费或转让其拥有
的权益。⽽而租借权益的⼈人也可以随时解除租借关系,并花费或转让其权益。
权益流动性也引⼊入了了某些攻击的可能性。从权益证明的⻆角度来看,不不应当允许使⽤用同⼀一权
益在多个铸币时段索取铸币权。然⽽而由于权益具有流动性,或许可以利利⽤用这种流动性尝试
快速移动权益, 为权益获取⽐比其应得的更更多的铸币时段。称这种类型的攻击为频繁竞争
攻击(busy contention attack)。
抵抗这类攻击的办法是为账户余额引⼊入某种度量量,其类似于铸币时段竞争的累加平均。思
路路是,权益必须留留存在账户中⼀一段时间,以等待账户度量量恢复到满额,这样即可阻⽌止频繁
竞争攻击。
9. 账户模型与余额
传统的记账系统使⽤用账户模型,它密切监测⼀一个称为余额的可变状态以及相应交易易历史。
!
⽐比特币内部使⽤用了了⼀一种不不同的形式,我们称之为币袋(coinbag)模型。想要获得账户余
额,则需要收集与账户或地址相关联的币袋信息,并将各个币袋的货币数⽬目相加得到余
额。
过去⼏几年年,许多加密货币系统都⽤用回了了更更传统的账户模型。V SYSTEMS 也采⽤用了了账户
模型,使得能更更有效监测余额。
定义了了租借关系之后,每个账户的基本余额可以描述为两个不不同的部分:⼀一是标准余额
(regular balance),即⽤用户拥有的余额;另⼀一个是铸币余额(minting balance),
它是标准余额加上租借来的余额并减去租借出去的部分。这两种不不同的余额会随着相关交
易易易易的确认⽽而即时变动。
10. 关于余额模式的提议
10.1 币龄
币龄(coin age)被定义货币数量量与持币周期之积。例例如,以币天(coin-day)为单位
的币龄就是货币数量量与持有这些货币的天数的乘积。
仍使⽤用 Peercoin ⽩白⽪皮书中的例例⼦子,如果 Bob 从 Alice 那⾥里里收到 10 个币并持有这些币
90 天,那么我们就称 Bob 累积的币龄为 900 币天。另外,当 Bob 花掉了了从 Alice 那
⾥里里接收到的 10 个币时,就称 Bob ⽤用这 10 个币累积的币龄已经被消费(或销毁)了了。
作为控制铸币概率的价值证明,币龄显示出了了它的优点与稳定性。然⽽而,由于它是⼀一个基
于交易易的量量,计算复杂度与给定时间内所执⾏行行的交易易数量量有关。⽽而且,币龄也并不不是⼀一个
能体现出铸币者对社区贡献量量⼤大⼩小的准确值。
10.2 已确认余额
已确认余额(confirmed balance)指的是经N 个区块确认之后的铸币余额(总的标准
余额 + 租⼊入⼊入 -租出)。
!
Cn = min{Bn,Bn−1,⋯,Bn−N}, (1)
其中,Bi 是在⾼高⾼高度为i 的区块中的铸币余额。N 是⼀一⼀一个⽤用⽤用来估计作⽤用⽤用区间的常
数。
已确认余额的优点包括:
•余额不不不不会因某些⼤大⼤大额输⼊入⼊入⽽而⽽而⽴立⽴立即增加,但会因⼤大⼤大额转出⽽而⽽而⽴立⽴立即减少;
•为了了了了得到⼀一⼀一个很⾼高⾼高的已确认余额,矿⼯工⼯工/铸币者需要收集并⻓长⻓长时间持有货币。
然⽽而⽽而,已确认余额本身也有缺点:
•在⼀一⼀一段时间内连续或累积的输⼊入⼊入不不不不影响这段时间内的余额计算;
•计算复杂度为O(N )。对于⾼高⾼高速铸币情形,为了了了了达到较好的性能与较⾼高⾼高的稳定
性,需要选取⼀一⼀一个较⼤大⼤大的N。此时,O(N ) 算法将会是对系统性能造成影响的⼀一⼀一个
因素。
10.3 关于余额计算⽅方⽅方式的提议
10.3.1 加权平均余额
为克服已确认余额的缺点,并降低计算复杂度,我们需要为⾼高速挖矿/铸币的区块链系统
设计⼀一个新的、有更更多性质且更更容易易计算的余额模式。
借鉴操作系统平均负载以及随机过程公式的思想,我们设计了了如下加权平均余额:
Whn = αBhn−1+(1 −α)Whn−1, (2)
其中,
α = hn −Nhn−1,若 hn − hn−1< N,{1其他情形
!
hn 是当前区块的⾼高⾼高度,⽽而⽽而hn−1 是(除当前区块外)账户铸币余额最近⼀一次发⽣生改变
时的区块⾼高度。
这⼀一新余额模式的计算复杂度降到了了O(1) ,只需在每次铸币余额发⽣生变动时记录⼀一下加
权平均余额。⽽而且该模式下余额的最快增⻓长速度是线性的(参看例例 11.1)。但是,从例例
11.1.1 及例例11.1.2 可以看出,如果余额频繁变动,则加权平均余额的下降速度会变
慢。此外,这也是⼀一个好的性质,只要总的加权平均余额受控的话。受控意味着余额不不会
莫名其妙地被创造出来(类似于物理理学中的能量量守恒律律)。从例例 11.2.1 及例例 11.2.2 可
以得出加权平均余额公式并不不满⾜足守恒律律。
10.3.2 铸币平均余额
为使加权平均余额拥有好的性质,并克服其缺点,我们提出⼀一个新的余额模式,称为铸币
平均余额(MAB),其定义如下:
Shn = min{Bhn,αBhn−1+(1 −α)Shn−1}, (3)
其中,Bhn 表示⾼高度在hn 时的当前余额。
铸币平均余额是取当前余额与加权平均余额的较⼩小⼩小者。计算复杂度仍为O(1) 。⽽而⽽而
且,在这个公式中,如果⽤用⽤用户将其所有余额转出,则 MAB 会直接减为 0。有了了了了这个
性质,总的铸币平均余额将会是守恒的,且被总余额所控制。
11. ⼀一些例例⼦子
本章中,我们将设计许多数值实例例例例以展示铸币平均余额的性质。假设铸币的速度为每秒
⼀一个区块,则⼀一天中可以得到24 ×60 ×60 = 86400 个区块。本章中,我们对所有例例
⼦子都取N = 86400。⽽而且作为理理想情形,我们也令所有交易易⼿手续费为 0。
11.1 增⻓长⻓长与下降速率
!
本章的第⼀一个例例例例⼦子是关于余额增⻓长与下降速率的。
11.1.1 简化的增⻓长与下降速率
设 Alice 与 Bob 的初始余额都为 0。Alice 在每个区块产⽣生时都能得到 1 个币,⽽而
Bob 在⾼高度为 43200 的区块上可⼀一次性获得 86400 个币。Alice 的增⻓长表现可⽤用⼏几何
级数公式计算。图 1a 展示了了⼀一天内 Alice 与 Bob 的加权平均余额以及铸币平均余额的
表现。
类似地,设 Charlie 与 Dave 的初始余额/WAB/MAB 都为 86400。Charlie 每个区块
都减少 1 个币,⽽而 Dave 在⾼高度为 43200 的区块中失去 86400 个币。图 1b 展示了了
了了⼀一天内 Charlie 与 Dave 的加权平均余额以及铸币平均余额的表现。
! !
a) 增⻓长速率 (b) 下降速率
图 1:增⻓长与下降速率
11.1.2 缓慢下降速率
设 Alice 和 Bob 分别有初始加权平均余额 12000 和 2000。设初始区块⾼高度为奇数,
仅 Bob 有余额 1,且 Bob 在区块⾼高度为奇数⾥里里将他所有余额转给 Alice。类似地,在区
!
块⾼高度为偶数时, Alice 将其所有余额转给 Bob。图 2 展示了了 400000 个区块内
Alice 与 Bob 的加权平均余额情况。可以看到两者 WAB 之和在缓慢下降。⽽而如果
Alice 与 Bob 在这段时间内没做任何动作,那么他们 WAB 之和应当在⾼高度为 86400
时等于 1.
!
图 2:下降速率情形
11.2 余额守恒律律律律
我们将给出⼏几个例例⼦子来说明铸币平均余额(MAB)的良好性质。
11.2.1 守恒律律律律
在这个例例⼦子中,Alice 与 Charlie 的初始 WAB 以及余额均为 100,⽽而 Bob 与 Dave
的初始 WAB 与余额均为 0。在⾼高度h =0 时,Charlie 向 Dave 转了了 100 个币。在另
⼀一个组中,Alice 与 Bob 将每隔 10800 个区块交换⼀一下他们的余额。图 3 表明每个组
中的总余额是守恒的。
!
!
图 3:余额守恒情形
11.2.2 ⾮非守恒情形
在这个例例⼦子中,Alice 的初始 WAB/MAB 以及余额均为 100,⽽而⽽而 Bob 与 Charlie 的
初始 WAB/ MAB 以及余额均为 0。在⾼高度h =0 时,Alice 向 Charlie 转出 80 个币。
⽽而后,Alice 与 Bob 每隔 10800 个区块交换⼀一下余额。图 4a 与 4b 显示了了了了两个余
额计算公式之间的差异。
!
! !
(a)加权平均余额 (b)铸币平均余额
图4:⾮非守恒情形
从图 4a 可以看出总的 WAB 在某些区间内会超过 100,即意味着利利⽤用某些“好”的策略略
略略可以创造更更多的 WAB。然⽽而⽽而,图 4b 表明总的 MAB 总是⼩小⼩小于 100,⽽而这在实际
应⽤用中是⼀一个好的性质。
11.3 铸币者的铸币平均余额
在本例例例例中,我们将展示⼀一些关于铸币者的情况。第⼀一个铸币者的初始余额 100,⽽而初
始 WAB/ MAB 均为 0。铸币奖励为每分钟 1 个币。
图 5 展示了了了了⼀一⼀一天内 WAB、MAB 以及余额的变化情况。
!
!
图5:铸币者 1 的余额、加权/铸币平均余额
第⼆二个铸币者的初始余额为 10000,初始 WAB/MAB 为 0。铸币奖励仍为每分钟 1 个
币。在⾼高度为 500 时,铸币者将其余额内的 99000 个币转出。
图 6a 及 6b 展示了了了了在五天内 WAB、MAB 以及余额的变化情况。
! !
(a)余额与加权平均余额 (b)余额与铸币平均余额
图 6:铸币者 2 的情形
!


12. 总结
超级节点权益证明共识(SPoS)是朝着⾼高⾼高性能区块链系统的⼀一⼀一个演化过程。⽣生⽣生态
资源可以更更更更有效地向超级节点的硬件升级倾斜,系统响应不不不不仅更更更更快⽽而⽽而且更更更更加可
预测、更更更更加稳定。我们也设计了了了了铸币平均余额以⽀支⽀支持权益流动性。
参考⽂文⽂文献
[1] Sunny King, Scott Nadal, PPCoin: Peer-to-Peer Crypto-Currency with
Proof-of-Stake, 2012, https: //peercoin.net/assets/paper/peercoin-paper.pdf
[2] Murray N. Rothbard, The Case for a Genuine Gold Dollar, 1992, https://
mises.org/library/ case-genuine-gold-dollar 

[3] Sunny King, Disclosure of Stake Generation Vulnerability, 2013, https://
bitcointalk.org/index. php?topic=131940.0 

[4] Sunny King, Peercoin 0.3 Release Announcement, 2013, https://
bitcointalk.org/index.php? topic=144964.0 

[5] Elinor Ostrom et al., Revisiting the Commons: Local Lessons, Global
Challenges, 1999, http:// dusk2.geo.orst.edu/prosem/Ostrom_etal1999.pdf 

!
[6] Jutarul, Peercoin Offline Coinstake Creation, 2012, https://
bitcointalk.org/index.php?topic= 115608.0 

[7] Sunny King, ProPoSal for Peercoin Online Stake Safety, 2013, https://
bitcointalk.org/index. php?topic=194054.0 

[8] Sigmike, Cold Storage Minting ProPoSal, 2014, https://talk.peercoin.net/
t/ cold-storage-minting-proPoSal/2336 


More Related Content

More from V SYSTEMS

V SYSTEMS - Coin Flow_KR
V SYSTEMS - Coin Flow_KRV SYSTEMS - Coin Flow_KR
V SYSTEMS - Coin Flow_KRV SYSTEMS
 
V SYSTEMS - Full Intro_KR
V SYSTEMS - Full Intro_KR V SYSTEMS - Full Intro_KR
V SYSTEMS - Full Intro_KR V SYSTEMS
 
V SYSTEMS - One Pager_KR
V SYSTEMS - One Pager_KRV SYSTEMS - One Pager_KR
V SYSTEMS - One Pager_KRV SYSTEMS
 
V SYSTEMS - Smart Contract and Token System_KR
V SYSTEMS - Smart Contract and Token System_KRV SYSTEMS - Smart Contract and Token System_KR
V SYSTEMS - Smart Contract and Token System_KRV SYSTEMS
 
V SYSTEMS - SPoS Whitepaper_KR
V SYSTEMS - SPoS Whitepaper_KR V SYSTEMS - SPoS Whitepaper_KR
V SYSTEMS - SPoS Whitepaper_KR V SYSTEMS
 
V SYSTEMS - Tech Evolution_KR
V SYSTEMS - Tech Evolution_KRV SYSTEMS - Tech Evolution_KR
V SYSTEMS - Tech Evolution_KRV SYSTEMS
 
V SYSTEMS Whitepaper_KR
V SYSTEMS Whitepaper_KRV SYSTEMS Whitepaper_KR
V SYSTEMS Whitepaper_KRV SYSTEMS
 
V SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS
 
V SYSTEMS - Tech Evolution_EN
V SYSTEMS - Tech Evolution_ENV SYSTEMS - Tech Evolution_EN
V SYSTEMS - Tech Evolution_ENV SYSTEMS
 
V SYSTEMS - SPoS Whitepaper_EN
V SYSTEMS - SPoS Whitepaper_ENV SYSTEMS - SPoS Whitepaper_EN
V SYSTEMS - SPoS Whitepaper_ENV SYSTEMS
 
V SYSTEMS - Smart Contract and Token System_EN
V SYSTEMS - Smart Contract and Token System_ENV SYSTEMS - Smart Contract and Token System_EN
V SYSTEMS - Smart Contract and Token System_ENV SYSTEMS
 
V SYSTEMS - Full Intro_EN
V SYSTEMS - Full Intro_ENV SYSTEMS - Full Intro_EN
V SYSTEMS - Full Intro_ENV SYSTEMS
 
V SYSTEMS - One pager_EN
V SYSTEMS - One pager_ENV SYSTEMS - One pager_EN
V SYSTEMS - One pager_ENV SYSTEMS
 

More from V SYSTEMS (13)

V SYSTEMS - Coin Flow_KR
V SYSTEMS - Coin Flow_KRV SYSTEMS - Coin Flow_KR
V SYSTEMS - Coin Flow_KR
 
V SYSTEMS - Full Intro_KR
V SYSTEMS - Full Intro_KR V SYSTEMS - Full Intro_KR
V SYSTEMS - Full Intro_KR
 
V SYSTEMS - One Pager_KR
V SYSTEMS - One Pager_KRV SYSTEMS - One Pager_KR
V SYSTEMS - One Pager_KR
 
V SYSTEMS - Smart Contract and Token System_KR
V SYSTEMS - Smart Contract and Token System_KRV SYSTEMS - Smart Contract and Token System_KR
V SYSTEMS - Smart Contract and Token System_KR
 
V SYSTEMS - SPoS Whitepaper_KR
V SYSTEMS - SPoS Whitepaper_KR V SYSTEMS - SPoS Whitepaper_KR
V SYSTEMS - SPoS Whitepaper_KR
 
V SYSTEMS - Tech Evolution_KR
V SYSTEMS - Tech Evolution_KRV SYSTEMS - Tech Evolution_KR
V SYSTEMS - Tech Evolution_KR
 
V SYSTEMS Whitepaper_KR
V SYSTEMS Whitepaper_KRV SYSTEMS Whitepaper_KR
V SYSTEMS Whitepaper_KR
 
V SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_ENV SYSTEMS Whitepaper_EN
V SYSTEMS Whitepaper_EN
 
V SYSTEMS - Tech Evolution_EN
V SYSTEMS - Tech Evolution_ENV SYSTEMS - Tech Evolution_EN
V SYSTEMS - Tech Evolution_EN
 
V SYSTEMS - SPoS Whitepaper_EN
V SYSTEMS - SPoS Whitepaper_ENV SYSTEMS - SPoS Whitepaper_EN
V SYSTEMS - SPoS Whitepaper_EN
 
V SYSTEMS - Smart Contract and Token System_EN
V SYSTEMS - Smart Contract and Token System_ENV SYSTEMS - Smart Contract and Token System_EN
V SYSTEMS - Smart Contract and Token System_EN
 
V SYSTEMS - Full Intro_EN
V SYSTEMS - Full Intro_ENV SYSTEMS - Full Intro_EN
V SYSTEMS - Full Intro_EN
 
V SYSTEMS - One pager_EN
V SYSTEMS - One pager_ENV SYSTEMS - One pager_EN
V SYSTEMS - One pager_EN
 

V SYSTEMS - SPoS Whitepaper_CN

  • 1. ! 从 PoS 进化 SPoS:⽆无能耗共识机制的演进 英⽂文原⽂文由Sunny King的 V SYSTEMS 团队 撰写 2018 年年年年 9 ⽉月 16 ⽇日 本中⽂文版由V SYSTEMS社区爱好者翻译,请在http://www.v.systems阅读英⽂文原版 摘要 我们为 V SYSTEMS 区块链平台设计了了了了⼀一个注重⾼高扩展性的权益证明(PoS)共识机 制,称为超级节点权益证明共识(Supernode PoS)。该共识机制的特点包括固定的区 块铸币间隔、冷铸币、以及权益流动性。 本⽂文⽂文也阐述了了了了 SPoS 与最初 Peercoin 在 2012 年年年年引⼊入⼊入的 PoS 机制之间的沿 袭与差异。 1. 能源的作⽤用 早在 2011 年年,⽐比特币⽹网络经历了了可能是它的第⼀一次显著增⻓长。那时,绝⼤大部分的⽐比特 币使⽤用者及⽀支持者们对于这⼀一去中⼼心化⽹网⽹网络的能源消耗问题可能并不不关⼼心。然⽽而, Peercoin 项⽬目[1] 已经提出了了问题:能源消耗对达成共识真的必不不可少吗?对于⼤大多数 ⽐比特币的⿎鼓吹者⽽而⾔言,这个问题的答案是肯定的:⽐比特币就像是⻩黄⾦金金;挖⾦金金矿所消耗的能 源给⻩黄⾦金金赋予了了价值,⽽而⽐比特币挖矿所消耗的能源不不仅能使⽹网络达成共识并保共识安全, 也是⽐比特币货币价值的⽀支撑。 但回顾历史,⼈人们对于是什什么给予了了⻩黄⾦金金货币价值这⼀一问题众说不不⼀一。奥地利利学派推断其 必然来⾃自于某种初始的商品价值[2]。有⼈人推测,⼀一旦⺠民族国家有了了⾜足够的能⼒力力可以剥夺 ⻩黄⾦金金的货币⻆角⾊色,那么⻩黄⾦金金就应该没有什什么价值了了。只要⼈人们相信⽐比特币的货币效⽤用,就 ⾃自然会问道:到底是什什么给予了了⽐比特币价值?
  • 2. ! Peercoin 在⼀一定意义上是在尝试解开这个最重要的货币奥秘。它成功地将⼯工作量量证明或 (借⽤用⻩黄⾦金金挖矿⽽而来的)挖矿的能源消耗从共识算法中分离了了出来,并将能源的作⽤用限制 到仅⽤用于数字货币的发⾏行行。接下来很容易易考查能源仅剩的与货币发⾏行行的关联,因为⼈人们可 以切换到某种类似股票的发⾏行行模型,从⽽而可轻易易将能源成分从发⾏行行机制中剔除。 因⽽而事实上,权益证明共识技术进⼀一步表明了了货币价值并⾮非来源于能源消耗。⽽而且,货币 价值也不不需要内在价值或任何其他类型的商品价值。仅由货币效⽤用就可以赋予价值。 2. 权益证明共识—⽆无能耗的共识 Peercoin 达成共识的⽅方法极具开创性。它完全抛弃了了⽐比特币的取得惊⼈人成功的⼯工作量量量量 证明共识机制,⽽而去寻求⼀一种完全不不不不依赖能源消耗的算法。它对权益证明充满信⼼心⼼心, 相信这⼀一概念可以独⽴立⽴立地形成⼀一个共识算法,⽽而⽽而不不需要任何⼯工⼯工作量量量量证明成分。 有的作者误解这⼀一点。就共识算法⽽而⾔言, Peercoin 是纯权益证明的。⼯工作量量量量证明仅仅 ⽤用于数字货币的公平分配,并不不不不参与共识算法。 对于⼀一个⽆无⽆无能耗的共识系统,我们称产⽣生区块的过程为铸币(minting),以区分于消 耗⼤大量量量量能源的挖矿过程。 Peercoin 的共识算法继承了了了了⽐比特币的⼀一些特征。例例如,它也随机地产⽣生区块,仅可以 观察到平均区块间隔或⽬目⽬目标区块间隔。与这⼀一过程相关联的是⼀一个称作权益证明难度的 度量量,对应于该度量量量量有⼀一个⽤用⽤用于铸币的由共识协议维护的可调节阀值。 引⼊入权益证明共识机制是区块链技术发展中的⼀一⼀一个巨⼤大⾥里里程碑碑。它不不仅消除了了为达到分 布式共识⽽而⽽而进⾏行行挖矿的能源消耗,也极⼤大增强了了区块链的扩展能⼒力力,为区块链技术的各 种应⽤用铺平了了道路路。 3. 针对权益证明共识的批评 ⾃自从 Peercoin 开创性的⾯面世后,常有⼈人针对该系统某些⽅方⾯面提出批评。⼀一个经常能听到 的批评是“权益欺压(stake grinding)”。这种攻击在 2012 年年 Peercoin 最初版本[3]
  • 3. ! 发布后不不久即被发现。Peercoin 于 2013 年年 2 ⽉月发布的 0.3 版本[4] 中实现了了⼀一个重 要的新算法,以抵抗这种类型的攻击。 这个新算法引⼊入了了⼀一个称为“核(kernel)”的共识字段。它是⼀一个会随区块链逐渐变化 共识数字:在给定的时间隔内协议会选中⼀一个区块,被选中的区块可以改变核的⼀一个⽐比特 位。核可以看成是区块链上的⼀一个缓慢改变的随机源(entropy source),区块链的⼀一 个短分叉给它带来的影响将⼗十分有限。有了了核的保护,权益欺压的威胁就基本上被消除 了了。 另⼀一个针对权益证明共识常⻅见的批评为“⽆无⻛风险分叉(nothing-at-stake)”问题。该问 题可表述为,由于铸币不不涉及⼯工作量量或能源消耗,铸币者可尝试在区块树的所有分⽀支上进 ⾏行行铸币⽽而不不会有任何损失。因⽽而在利利益的驱使下,铸币者将会在所有分⽀支上进⾏行行铸币,以 避免某⼀一给定分叉输掉竞争⽽而导致的损失。这种论证的问题在于它忽略略了了权益证明的核⼼心 原则。权益证明的思想是,当某⼈人在货币供应中拥有了了的⼀一定⽐比例例的权益后,他应当已有 激励去做对整个系统有益的事情,⽽而不不会对系统进⾏行行攻击。由于在所有分⽀支上进⾏行行铸币可 认为是对协议的⼀一种攻击,它已经是权益证明所不不允许的了了。按这样的观点,即便便是所谓 的理理性铸币者也不不应当以内部货币单位来估量量价值,⽽而应当以外部稳定货币来衡量量其权益 的总价值。 考虑到对权益价值可能的负⾯面影响,这或许与公地的悲剧[5] 有⼀一定关联。然⽽而,即便便按 公地悲剧最初的解释,可能避免的少量量铸币损失也⽐比不不上权益价值潜在损失的量量级。事实 上,没有证据表明“⽆无⻛风险分叉”导致了了任何为进⼀一步制⽌止该攻击⽽而作出的协议调整。 4. 关于冷铸币的争论 在权益证明共识⾯面世后不不久,Peercoin 社区就掀起了了了了关于冷铸币(cold minting)特 征的讨论 [6][7][8]。它与⽐比特币称为冷存储的特征有关,即私钥由离线钱包进⾏行行管理理 理理。由于权益证明共识要求铸币者对区块进⾏行行签名,为此其私钥必须保持在线。这与冷存 储可获得的⾼高安全性是⽭矛盾的。
  • 4. ! 解决的办法是将铸币与消费的⻆角⾊色相分离。也就是说,权益所有权的密钥与铸币所需的密 钥可以是不不同的。那么,铸币密钥保持在线的同时,所有权密钥可以放置在离线存储中。 这⾃自然就会允许出现铸币池(minting pool),类似于⽐比特币的矿池。鉴于⽐比特币矿池 的中⼼心化倾向,铸币池也是不不被赞成。 考虑到众多因素,冷铸币特征并未在 Peercoin 中实现。⽽而在其他⼀一些权益证明系统中确 已经实现了了铸币密钥与所有权密钥的分离。这种分离现在通常被称为权益代理理或出租。 5. 向超级节点的转换 区块链⾏行行业在最近⼏几年年年年中⻅见证了了去中⼼心化应⽤用的巨幅增⻓长。⽐比特币与以太坊都出现过周 期性交易易拥堵。越来越多的关注点投向了了单⼀一区块链的表现上。 这就已经为共识算法的设计带来了了⼏几个问题。⾸首先,挖矿或铸币节点可能没有⾜足够的激励 升级节点硬件。且这种节点也可能⼤大量量存在。由于整个⽹网络的维护成本⾮非常之⼤大,有的节 点在硬件升级上注定会被甩在后⾯面。 另⼀一个问题与⽐比特币产⽣生区块的随机过程有关。尽管平均区块间隔是 10 分钟,但有时候 下⼀一个区块的产⽣生需要等待⽐比这⻓长得多的时间。对于⾯面向性能的系统⽽而⾔言,这就成了了⼀一个 问题。这类系统更更倾向于固定的⽽而⾮非随机分布的响应时间。 如上的考虑,铸币协议应当设计成有固定的区块间隔,且要将铸币节点提升到⽐比⽹网络中其 他节点更更重要的位置。 6. 铸币时段与铸币权竞争 为实现铸币的固定区块间隔,我们定义⼀一个称为铸币时段(minting slot)的实体。每个 时段对应于铸币权的⼀一次平均分配。因此,为获得某个时段的铸币权,⼀一个潜在的铸币参 与者必须取得该时段的所有权。
  • 5. ! 在每分钟内定义了了 60 个铸币时段,每个时段对应于其中特定的⼀一秒钟。要在给定的⼀一秒 钟内取得铸币权,必须取得该秒对应铸币时段的所有权。 基本上系统中的铸币者将会轮流着进⾏行行铸币。这样做的好处是,如果有某些超级节点停⽌止 ⽌止了了铸币,不不管出于什什么原因,他们对系统响应及吞吐量量的影响都会被最⼩小化。 每个超级节点的本地时钟都通过⽹网络时间协议进⾏行行同步,以保证铸币活动的正常顺序。回 到 2009 年年年年,⽐比特币选择不不依赖于⽹网络时间协议进⾏行行时钟同步,所以⽐比特币协议允许 矿⼯工们时钟偏移多达 2 个⼩小时。通常⽽而⾔言,现今的⽹网络时间协议可以作为⼀一项基本的互 联⽹网服务,与域名服务类似,因⽽而可以合理理地假设其有很⾼高的安全性。 铸币时段的竞争可以允许在任意时间⾃自由进⾏行行。挑战者可以选择⼀一个时段向当前的铸币者 发起挑战。为防⽌止滥⽤用挑战,挑战者需要⽀支付⼀一笔较⾼高的挑战费。当挑战者发布⼀一个竞争 交易易后,协议将检查竞争者与当前铸币者的质押权益以决定谁是竞争的胜出者。 7. 铸币经济 铸币者参与铸币的质押权益包括其拥有的且未租借给别⼈人的数字货币,以及其他⽤用户租借 给该铸币者的数字货币。术语“租借(lease)”指明的关系为铸币者通常以铸币池形式运 ⾏行行,并需要给数字货币的拥有者⽀支付⼀一定利利利利息。在租借期间,货币的所有权并未转让, 因此铸币者不不能花费或转让租借来的货币。 铸币时段的平等铸币权使得⽹网络中超级节点拥有平等的地位及相同的铸币输出。这与⽐比特 币挖矿设计形成鲜明对⽐比。在⽐比特币挖矿中,没有内在机制防⽌止⽌止矿池市场形成垄断,其 已成为了了系统去中⼼心化⽬目⽬目标的⼀一个现实威胁。 铸币时段的平等铸币权在铸币经济中扮演了了了了⼀一个不不可或缺的⻆角⾊色。超级节点形成了了⼀一个 由铸币池组成的市场。铸币池市场决定租借的利利率。由于权益所有者有将权益租借给⽀支付 更更⾼高利利率的超级节点的理理性偏好,⽽而对于⽀支付⾼高利利率的超级节点来说,铸币输出(即收⼊入 ⼊入)是固定的,租借来更更多的权益将会迫使它降低租借利利率,所以存在⼀一个平衡点,其作 为⼀一种内在的⼒力力量量迫使超级节点的租借利利率趋于相等。
  • 6. ! V SYSTEMS 平台也采⽤用了了 Peercoin 的⼿手续费销毁模型以降低通胀率,同时消除铸币 者之间的利利益摩擦。 对超级节点硬件资源的要求将通过共识协议范畴之外的社区⼒力力量量进⾏行行标准化与提升。 8. 权益流动性与频繁竞争攻击 以往的权益证明共识系统对于权益在参与铸币后的移动⾏行行为进⾏行行了了诸多限制。尽管在技术 层⾯面这可能有其合理理考虑,但在经济层⾯面,它却是⽤用户参与铸币的⼀一个进⼊入⻔门槛。 然⽽而,在权益证明共识中,参与铸币的权益数量量直接关系到共识的安全等级。从这个意义 上讲,对权益的移动不不加任何限制是对⽹网络安全有益的。称不不限制权益移动的这种性质为 权益流动性(stake liquidity)。有了了权益流动性,铸币者可以随时花费或转让其拥有 的权益。⽽而租借权益的⼈人也可以随时解除租借关系,并花费或转让其权益。 权益流动性也引⼊入了了某些攻击的可能性。从权益证明的⻆角度来看,不不应当允许使⽤用同⼀一权 益在多个铸币时段索取铸币权。然⽽而由于权益具有流动性,或许可以利利⽤用这种流动性尝试 快速移动权益, 为权益获取⽐比其应得的更更多的铸币时段。称这种类型的攻击为频繁竞争 攻击(busy contention attack)。 抵抗这类攻击的办法是为账户余额引⼊入某种度量量,其类似于铸币时段竞争的累加平均。思 路路是,权益必须留留存在账户中⼀一段时间,以等待账户度量量恢复到满额,这样即可阻⽌止频繁 竞争攻击。 9. 账户模型与余额 传统的记账系统使⽤用账户模型,它密切监测⼀一个称为余额的可变状态以及相应交易易历史。
  • 7. ! ⽐比特币内部使⽤用了了⼀一种不不同的形式,我们称之为币袋(coinbag)模型。想要获得账户余 额,则需要收集与账户或地址相关联的币袋信息,并将各个币袋的货币数⽬目相加得到余 额。 过去⼏几年年,许多加密货币系统都⽤用回了了更更传统的账户模型。V SYSTEMS 也采⽤用了了账户 模型,使得能更更有效监测余额。 定义了了租借关系之后,每个账户的基本余额可以描述为两个不不同的部分:⼀一是标准余额 (regular balance),即⽤用户拥有的余额;另⼀一个是铸币余额(minting balance), 它是标准余额加上租借来的余额并减去租借出去的部分。这两种不不同的余额会随着相关交 易易易易的确认⽽而即时变动。 10. 关于余额模式的提议 10.1 币龄 币龄(coin age)被定义货币数量量与持币周期之积。例例如,以币天(coin-day)为单位 的币龄就是货币数量量与持有这些货币的天数的乘积。 仍使⽤用 Peercoin ⽩白⽪皮书中的例例⼦子,如果 Bob 从 Alice 那⾥里里收到 10 个币并持有这些币 90 天,那么我们就称 Bob 累积的币龄为 900 币天。另外,当 Bob 花掉了了从 Alice 那 ⾥里里接收到的 10 个币时,就称 Bob ⽤用这 10 个币累积的币龄已经被消费(或销毁)了了。 作为控制铸币概率的价值证明,币龄显示出了了它的优点与稳定性。然⽽而,由于它是⼀一个基 于交易易的量量,计算复杂度与给定时间内所执⾏行行的交易易数量量有关。⽽而且,币龄也并不不是⼀一个 能体现出铸币者对社区贡献量量⼤大⼩小的准确值。 10.2 已确认余额 已确认余额(confirmed balance)指的是经N 个区块确认之后的铸币余额(总的标准 余额 + 租⼊入⼊入 -租出)。
  • 8. ! Cn = min{Bn,Bn−1,⋯,Bn−N}, (1) 其中,Bi 是在⾼高⾼高度为i 的区块中的铸币余额。N 是⼀一⼀一个⽤用⽤用来估计作⽤用⽤用区间的常 数。 已确认余额的优点包括: •余额不不不不会因某些⼤大⼤大额输⼊入⼊入⽽而⽽而⽴立⽴立即增加,但会因⼤大⼤大额转出⽽而⽽而⽴立⽴立即减少; •为了了了了得到⼀一⼀一个很⾼高⾼高的已确认余额,矿⼯工⼯工/铸币者需要收集并⻓长⻓长时间持有货币。 然⽽而⽽而,已确认余额本身也有缺点: •在⼀一⼀一段时间内连续或累积的输⼊入⼊入不不不不影响这段时间内的余额计算; •计算复杂度为O(N )。对于⾼高⾼高速铸币情形,为了了了了达到较好的性能与较⾼高⾼高的稳定 性,需要选取⼀一⼀一个较⼤大⼤大的N。此时,O(N ) 算法将会是对系统性能造成影响的⼀一⼀一个 因素。 10.3 关于余额计算⽅方⽅方式的提议 10.3.1 加权平均余额 为克服已确认余额的缺点,并降低计算复杂度,我们需要为⾼高速挖矿/铸币的区块链系统 设计⼀一个新的、有更更多性质且更更容易易计算的余额模式。 借鉴操作系统平均负载以及随机过程公式的思想,我们设计了了如下加权平均余额: Whn = αBhn−1+(1 −α)Whn−1, (2) 其中, α = hn −Nhn−1,若 hn − hn−1< N,{1其他情形
  • 9. ! hn 是当前区块的⾼高⾼高度,⽽而⽽而hn−1 是(除当前区块外)账户铸币余额最近⼀一次发⽣生改变 时的区块⾼高度。 这⼀一新余额模式的计算复杂度降到了了O(1) ,只需在每次铸币余额发⽣生变动时记录⼀一下加 权平均余额。⽽而且该模式下余额的最快增⻓长速度是线性的(参看例例 11.1)。但是,从例例 11.1.1 及例例11.1.2 可以看出,如果余额频繁变动,则加权平均余额的下降速度会变 慢。此外,这也是⼀一个好的性质,只要总的加权平均余额受控的话。受控意味着余额不不会 莫名其妙地被创造出来(类似于物理理学中的能量量守恒律律)。从例例 11.2.1 及例例 11.2.2 可 以得出加权平均余额公式并不不满⾜足守恒律律。 10.3.2 铸币平均余额 为使加权平均余额拥有好的性质,并克服其缺点,我们提出⼀一个新的余额模式,称为铸币 平均余额(MAB),其定义如下: Shn = min{Bhn,αBhn−1+(1 −α)Shn−1}, (3) 其中,Bhn 表示⾼高度在hn 时的当前余额。 铸币平均余额是取当前余额与加权平均余额的较⼩小⼩小者。计算复杂度仍为O(1) 。⽽而⽽而 且,在这个公式中,如果⽤用⽤用户将其所有余额转出,则 MAB 会直接减为 0。有了了了了这个 性质,总的铸币平均余额将会是守恒的,且被总余额所控制。 11. ⼀一些例例⼦子 本章中,我们将设计许多数值实例例例例以展示铸币平均余额的性质。假设铸币的速度为每秒 ⼀一个区块,则⼀一天中可以得到24 ×60 ×60 = 86400 个区块。本章中,我们对所有例例 ⼦子都取N = 86400。⽽而且作为理理想情形,我们也令所有交易易⼿手续费为 0。 11.1 增⻓长⻓长与下降速率
  • 10. ! 本章的第⼀一个例例例例⼦子是关于余额增⻓长与下降速率的。 11.1.1 简化的增⻓长与下降速率 设 Alice 与 Bob 的初始余额都为 0。Alice 在每个区块产⽣生时都能得到 1 个币,⽽而 Bob 在⾼高度为 43200 的区块上可⼀一次性获得 86400 个币。Alice 的增⻓长表现可⽤用⼏几何 级数公式计算。图 1a 展示了了⼀一天内 Alice 与 Bob 的加权平均余额以及铸币平均余额的 表现。 类似地,设 Charlie 与 Dave 的初始余额/WAB/MAB 都为 86400。Charlie 每个区块 都减少 1 个币,⽽而 Dave 在⾼高度为 43200 的区块中失去 86400 个币。图 1b 展示了了 了了⼀一天内 Charlie 与 Dave 的加权平均余额以及铸币平均余额的表现。 ! ! a) 增⻓长速率 (b) 下降速率 图 1:增⻓长与下降速率 11.1.2 缓慢下降速率 设 Alice 和 Bob 分别有初始加权平均余额 12000 和 2000。设初始区块⾼高度为奇数, 仅 Bob 有余额 1,且 Bob 在区块⾼高度为奇数⾥里里将他所有余额转给 Alice。类似地,在区
  • 11. ! 块⾼高度为偶数时, Alice 将其所有余额转给 Bob。图 2 展示了了 400000 个区块内 Alice 与 Bob 的加权平均余额情况。可以看到两者 WAB 之和在缓慢下降。⽽而如果 Alice 与 Bob 在这段时间内没做任何动作,那么他们 WAB 之和应当在⾼高度为 86400 时等于 1. ! 图 2:下降速率情形 11.2 余额守恒律律律律 我们将给出⼏几个例例⼦子来说明铸币平均余额(MAB)的良好性质。 11.2.1 守恒律律律律 在这个例例⼦子中,Alice 与 Charlie 的初始 WAB 以及余额均为 100,⽽而 Bob 与 Dave 的初始 WAB 与余额均为 0。在⾼高度h =0 时,Charlie 向 Dave 转了了 100 个币。在另 ⼀一个组中,Alice 与 Bob 将每隔 10800 个区块交换⼀一下他们的余额。图 3 表明每个组 中的总余额是守恒的。
  • 12. ! ! 图 3:余额守恒情形 11.2.2 ⾮非守恒情形 在这个例例⼦子中,Alice 的初始 WAB/MAB 以及余额均为 100,⽽而⽽而 Bob 与 Charlie 的 初始 WAB/ MAB 以及余额均为 0。在⾼高度h =0 时,Alice 向 Charlie 转出 80 个币。 ⽽而后,Alice 与 Bob 每隔 10800 个区块交换⼀一下余额。图 4a 与 4b 显示了了了了两个余 额计算公式之间的差异。
  • 13. ! ! ! (a)加权平均余额 (b)铸币平均余额 图4:⾮非守恒情形 从图 4a 可以看出总的 WAB 在某些区间内会超过 100,即意味着利利⽤用某些“好”的策略略 略略可以创造更更多的 WAB。然⽽而⽽而,图 4b 表明总的 MAB 总是⼩小⼩小于 100,⽽而这在实际 应⽤用中是⼀一个好的性质。 11.3 铸币者的铸币平均余额 在本例例例例中,我们将展示⼀一些关于铸币者的情况。第⼀一个铸币者的初始余额 100,⽽而初 始 WAB/ MAB 均为 0。铸币奖励为每分钟 1 个币。 图 5 展示了了了了⼀一⼀一天内 WAB、MAB 以及余额的变化情况。
  • 14. ! ! 图5:铸币者 1 的余额、加权/铸币平均余额 第⼆二个铸币者的初始余额为 10000,初始 WAB/MAB 为 0。铸币奖励仍为每分钟 1 个 币。在⾼高度为 500 时,铸币者将其余额内的 99000 个币转出。 图 6a 及 6b 展示了了了了在五天内 WAB、MAB 以及余额的变化情况。 ! ! (a)余额与加权平均余额 (b)余额与铸币平均余额 图 6:铸币者 2 的情形
  • 15. ! 
 12. 总结 超级节点权益证明共识(SPoS)是朝着⾼高⾼高性能区块链系统的⼀一⼀一个演化过程。⽣生⽣生态 资源可以更更更更有效地向超级节点的硬件升级倾斜,系统响应不不不不仅更更更更快⽽而⽽而且更更更更加可 预测、更更更更加稳定。我们也设计了了了了铸币平均余额以⽀支⽀支持权益流动性。 参考⽂文⽂文献 [1] Sunny King, Scott Nadal, PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake, 2012, https: //peercoin.net/assets/paper/peercoin-paper.pdf [2] Murray N. Rothbard, The Case for a Genuine Gold Dollar, 1992, https:// mises.org/library/ case-genuine-gold-dollar 
 [3] Sunny King, Disclosure of Stake Generation Vulnerability, 2013, https:// bitcointalk.org/index. php?topic=131940.0 
 [4] Sunny King, Peercoin 0.3 Release Announcement, 2013, https:// bitcointalk.org/index.php? topic=144964.0 
 [5] Elinor Ostrom et al., Revisiting the Commons: Local Lessons, Global Challenges, 1999, http:// dusk2.geo.orst.edu/prosem/Ostrom_etal1999.pdf 

  • 16. ! [6] Jutarul, Peercoin Offline Coinstake Creation, 2012, https:// bitcointalk.org/index.php?topic= 115608.0 
 [7] Sunny King, ProPoSal for Peercoin Online Stake Safety, 2013, https:// bitcointalk.org/index. php?topic=194054.0 
 [8] Sigmike, Cold Storage Minting ProPoSal, 2014, https://talk.peercoin.net/ t/ cold-storage-minting-proPoSal/2336