深入浅出区块链
陈浩
元界 CTO
40685 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
深入浅出区块链
15
15
1.0x
00:00/00:00
登录|注册

第13讲 | 深入区块链技术(五):PoS共识机制

PoS的未来
PoS的缺点
PoS的优点
PoS 2.0的问题
离线攻击问题
用户囤积代币问题
币龄与时间挂钩
币发行问题
51%攻击
PoS系统中的目标值
PoS的公式
PoS与PoW的比较
PoS的版本
PoS的概念
币龄的概念
PoS的发展
PoS的创始人Sunny King的白皮书
总结
PoS的相关问题
PoS的实现原理
什么是PoS?
PoS的由来
PoS共识机制
区块链技术(五):PoS共识机制

该思维导图由 AI 生成,仅供参考

上一篇我们讲到了 PoW 共识机制,这一篇我们就来分享另外一种共识机制,PoS 共识机制。
PoS 全称是 Proof of Stake,中文翻译为权益证明。这一篇我们会将 PoS 与 PoW 对比讲解,帮助你加深理解。

PoS 的由来

PoS 最早出现在点点币的创始人 Sunny King 的白皮书中,它的目的就是为了解决使用 PoW 挖矿出现大量资源浪费的问题。PoS 共识机制一经提出就引起了广泛关注,Sunny King 也基于 PoW 的基础框架实现了第一代 PoS 区块链:点点币。
PoW 的具体实现有很多版本,但它们大多只是在挖矿算法上有所改进,主体逻辑并没有发生质的变化。PoS 包含了多个变种实现,每个变种往往会涉及区块链代币经济模型的改动,可以说是牵一发而动全身。
这些实现有点点币、黑币、未来币、瑞迪币,它们都推动了 PoS 机制的发展,PoS 研究前沿还有以太坊的 Casper ,以及 Cardano 的 Ouroboros。
那到底是什么样的机制导致 PoS 具有这样的特性呢?让我们来看一看。

什么是 PoS?

在讲 PoS 之前,我先来讲一个叫做币龄的概念,币龄这个概念其实很好理解,它的英文是 CoinAge,字面意思就是币数量乘以天数。
比如你有 100 个币,在某个地址上 9 天没有动,那么产生的币龄就是 900,如果你把这个地址上这 100 币转移到任意地址,包括你自己的地址,那么 900 个币龄就在转移过程中被花费了,你的币数量虽然还是 100 个,但是币龄变更为 0。币龄在数据链上就可以取到,任何人都可以验证。
我们回过头来看看 PoS 究竟是什么,区块链共识机制的第一步就是随机筛选一个记账者,PoW 是通过计算能力来获得记账权,计算能力越强,获得记账权的概率越大。
PoS 则将此处的计算能力更换为财产证明,就是节点所拥有的币龄越多,获得的记账的概率就越大。这有点像公司的股权结构,股权占比大的合伙人话语权越重。
以上算是简述了 PoS 的概念,实际上,PoS 的发展经历了三个版本,第一个版本是以点点币为代表的 PoS1.0 版本,这个版本中使用的是币龄;第二个版本的代表是黑币(blackcoin),对应使用的是币数量,相当于是财产证明,后面黑币又升级到 PoS3.0,这个版本又回到了币龄。
PoW 早在比特币出现之前就已经应用了,而 PoS 是才是真正意义上为了区块链而创造出来的概念。

PoS 的实现原理

好了,现在我们开始讲解 PoS 的具体实现原理吧。这一部分公式较多,如果你在收听音频,可以点击文稿查看。
通过上一篇我们知道 PoW 挖矿的基本逻辑和步骤,我们先寻求一个 nonce小于目标值,这一步用公式可表示为:
Hash (block_header) < Target
从公式中我们可以看到,PoW 下所有矿工的目标值是一样的,只要计算结果哈希小于目标值即可,简化来看就是前导 0 的个数。
而在 PoS 系统中,这个公式变更为:
Hash (block_header) < Target * CoinAge
我们可以看出多引入了一个变量叫做 CoinAge,也就是币龄,这里就有意思了。
这个变量为会造成每个矿工看到的目标值不一样,如果你的币龄越大,也就意味着你的获得答案越容易。这里的 Target 与 PoW 一致,与全网难度成反比,用来控制出块速度的。
例如当前全网的目标是 4369,A 矿工的输入的币龄是 15,那么 A 矿工的目标值为 65535,换算成十六进制就是 0xFFFF,完整的哈希长度假设是 8 个字节,也就是 0x0000FFFF。
而 B 矿工比较有钱,他输入的币龄是 240,那么 B 矿工的目标值就是 0x000FFFFF。你如果仔细观察肯定会发现,相比 A 矿工的目标值,B 直接少了一个零。即如下:
A 矿工 Hash( block_header ) < 0x0000FFFF
B 矿工 Hash( block_header ) < 0x000FFFFF
所以 B矿工获得记账权的概率肯定要比 A 高。
具体代码分析这里就不讲解了,这里需要币龄作为输入,如果我们写示例代码也只是一个简单的参数,PoS 需要放到区块链的语境中才能运作。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

PoS共识机制在区块链技术中扮演着重要角色,通过权益证明解决了PoW共识机制中的资源浪费问题。PoS的发展经历了多个版本,包括以币龄和币数量为基础的不同实现方式。在PoS系统中,记账者的选择不再依赖计算能力,而是根据持有的币龄来确定记账的概率,类似于股权结构中股权占比的影响。尽管PoS机制在解决资源消耗和控制出块速度方面具有优势,但也存在一些缺陷,如币发行、币龄囤积、离线攻击等问题。此外,PoS 2.0版本引入的币数量作为参数也带来了新的问题,如无成本利益问题。相比之下,PoW系统由于分叉会造成挖矿成本直接变成负收益,因此抵抗分叉的产生,矿工倾向于跟随“最长”的链。尽管PoS共识机制未来变数依然很多,但它的可塑性比PoW好,技术上的探索空间大。虽然PoS共识机制在区块链技术中具有重要意义,但其风险相对较高,需要深入探讨。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出区块链》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(24)

  • 最新
  • 精选
  • 花子翁
    随着 ERC20 类型的标准合约代币的出现,这个问题被解决了,不再需要第一阶段改成 PoW,也可以将代币分散出去。 求解

    作者回复: 因为PoS型的代币最开始集中在发行人手里,例如创始块产生100万的代币,那么接下来靠谁来挖呢,因为只有创始地址有币,只能自己挖。所以在1c0和erc20之前,PoS型代币都有一个短暂的PoW阶段,用于让其他人参与,主要目的就是把币分发出去。

    2018-05-28
    2
    4
  • 陈浚琦
    验证节点和账号是如何绑定的?如何将奖励给到节点账户? 您的回复:coinbase交易,由矿工自己填的。 老师,您好,有项目参考,或者资料吗? 我现在使用Tendermint+Ethermint,发现节点和账户是没有绑定的,所以区块奖励它给到了一个 0x0000000000000000000000000000000000000000,也就是没有实现节点奖励,按照您的解释应该是它安装后会生成一个coinbase账户,所有的节点奖励会给到这个账户。

    作者回复: 是不是没有指定etherbase?

    2018-04-26
    1
  • 陈浚琦
    验证节点和账号是如何绑定的?如何将奖励给到节点账户?

    作者回复: coinbase交易,由矿工自己填的。

    2018-04-25
    1
  • 小书童
    "比如在 PoS 系统上挖矿几乎没有成本",这个不太理解。因为币龄的存在,在pos上挖矿,不同的矿工难度不一样,但还是要耗电费的呀。

    作者回复: 相比PoW而言,几乎就是零头。

    2018-04-24
    1
  • duer
    听完这两期节目,我最大的感受是,区块链技术对技术和算法的选型和使用l不仅仅是技术决策,更多的是商业逻辑和经济学原理,这在产品设计和技术管理的启发非常大,谢谢老师

    作者回复: 谢谢支持呢,送赞\(≧▽≦)/

    2018-04-24
    1
  • unite
    讲的非常好,感谢老师!

    作者回复: 谢谢支持呢

    2018-04-23
    1
  • 恒念
    感觉有点问题应该是pos在区块链出现前就有,而pow的应用在区块链出现后吧

    作者回复: 这里指共识算法,而不是挖矿算法哦。

    2018-07-10
  • 朱显杰
    对于文中提到的PoS节点离线问题的解决办法,如果把节点在线时长作为币龄,是不是可以解决这个问题呢?

    作者回复: 区块链无法感知离线在线哦,这个可以作弊的。

    2018-04-27
  • teletime
    使用币数量有,无成本利益问题,使用币龄有没有呢?如果有,为什么不直接使用币数量,至少币数量方法,可以解决文中提到的二、三、四。如果没有,为什么币龄方式没有,它有什么内在的成本,拥有它一段时间需要什么成本?

    作者回复: 都有无成本利益问题。

    2018-04-24
    2
  • 花子翁
    离线怎么挖矿,将实时交易放入区块和广播区块给其他节点离线怎么能操作???
    2018-07-03
    7
收起评论
大纲
固定大纲
PoS 的由来
什么是 PoS?
PoS 的实现原理
显示
设置
留言
24
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部