深入浅出区块链
陈浩
元界CTO
立即订阅
16574 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 帮你从0到1深入学习区块链技术
免费
第一章 浅说区块链基础 (8讲)
第1讲 | 到底什么才是区块链?
第2讲 | 区块链到底是怎么运行的?
第3讲 | 浅说区块链共识机制
第4讲 | 区块链的应用类型
第5讲 | 如何理解数字货币?它与区块链又是什么样的关系?
第6讲 | 理解区块链之前,先上手体验一把数字货币
第7讲 | 区块链的常见误区
第8讲 | 最主流区块链项目有哪些?
第二章 深入区块链技术 (15讲)
第9讲 | 深入区块链技术(一):技术基础
第10讲 | 深入区块链技术(二):P2P网络
第11讲 | 深入区块链技术(三):共识算法与分布式一致性算法
第12讲 | 深入区块链技术(四):PoW共识
第13讲 | 深入区块链技术(五):PoS共识机制
第14讲 | 深入区块链技术(六):DPoS共识机制
第15讲 | 深入区块链技术(七):哈希与加密算法
第16讲 | 深入区块链技术(八): UTXO与普通账户模型
第17讲 | 去中心化与区块链交易性能
第18讲 | 智能合约与以太坊
第19讲 | 上手搭建一条自己的智能合约
第20讲 | 区块链项目详解:比特股BTS
第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano
第22讲 | 国内区块链项目技术一览
第23讲 | 联盟链和它的困境
第三章 数字货币与数字资产 (5讲)
第24讲 | 比特币专题(一)历史与货币
第25讲 | 比特币专题(二):扩容之争、IFO与链上治理
第26讲 | 数字货币和数字资产
第27讲 | 弄懂数字货币交易平台(一)
第28讲 | 弄懂数字货币交易平台(二)
第四章 区块链与当下互联网 (5讲)
第29讲 | 互联网身份与区块链数字身份
第30讲 | 区块链即服务BaaS
第31讲 | 数字货币钱包服务
第32讲 | 区块链与供应链(一)
第33讲 | 区块链与供应链(二)
第五章 如何从业区块链 (3讲)
第34讲 | 从业区块链需要了解什么?
第35讲 | 搭建你的迷你区块链(设计篇 )
第36讲 | 搭建你的迷你区块链(实践篇)
尾声 (2讲)
尾声篇 | 授人以鱼,不如授人以渔
新书首发 |《区块链第一课:深入浅出技术与应用》
深入浅出区块链
登录|注册

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

陈浩 2018-04-23
上一篇我们讲到了 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),它使用的为 PoS2.0 版本,对应这个版本使用的是币数量,相当于是财产证明,后面黑币又升级到 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/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《深入浅出区块链》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(16)

  • 吹牛老爹
    离线怎么挖矿,将实时交易放入区块和广播区块给其他节点离线怎么能操作???
    2018-07-03
    1
  • 吹牛老爹
    随着 ERC20 类型的标准合约代币的出现,这个问题被解决了,不再需要第一阶段改成 PoW,也可以将代币分散出去。 求解

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

    2018-05-28
    1
  • 陈南平
    验证节点和账号是如何绑定的?如何将奖励给到节点账户?

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

    老师,您好,有项目参考,或者资料吗?
    我现在使用Tendermint+Ethermint,发现节点和账户是没有绑定的,所以区块奖励它给到了一个
    0x0000000000000000000000000000000000000000,也就是没有实现节点奖励,按照您的解释应该是它安装后会生成一个coinbase账户,所有的节点奖励会给到这个账户。

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

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

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

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

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

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

    作者回复: 谢谢支持呢

    2018-04-23
    1
  • xfan
    ”PoS 的区块链系统无需外部物理输入“---这一句话没有看懂,PoS仅仅是把难度降低了,为什么没有外部物理输入呢
    2019-12-03
  • Geek_8285e5
    技术有时候都是分分合合,没有孤立的集中式和分布式。区块链去中心化,但是矿池其实就是中心化管理。
    2019-11-22
  • 恒念
    感觉有点问题应该是pos在区块链出现前就有,而pow的应用在区块链出现后吧

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

    2018-07-10
  • hanfeng
    方便到什么程度呢,每个诚实矿工在产生孤块的时候都可以继续挖下去,反正也没什么成本,反正分叉链和主链都可以同时挖,也就是任何持币较少的用户都可以尝试分叉,并且把分叉链广播出去。
     请问,在pos下,持币(s)少的人更有作恶动机,但其在分叉下,1.要分散算力,2.因为持币少而导致计算难度高,这样不就更加没有机会挖到矿了吗?
    问题可能略幼稚,提前感谢解疑
    2018-06-23
  • 阿痕
    对于文中提到的PoS节点离线问题的解决办法,如果把节点在线时长作为币龄,是不是可以解决这个问题呢?

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

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

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

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

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

    2018-04-24
  • 栐哥
    blk,
    rdd
    dcr是pow+pos
    2018-04-24
  • 四正
    深入浅出!
    2018-04-23
  • ytl
    以太坊用pos
    2018-04-23
收起评论
16
返回
顶部