网赚论坛

 找回密码
 免费注册
查看: 273|回复: 0
打印 上一主题 下一主题

试说PoS权益证明里的确定性随机和随机确定性

[复制链接]

16

主题

16

帖子

64

积分

Ⅰ级财主

Rank: 1

积分
64
跳转到指定楼层
楼主
发表于 2017-11-20 22:23:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有关区块链技术里PoS权益证明的基本知识,请自行搜索了解,这里开门见山。


确定性随机

指对确定的数据进行Hash计算,所获得的摘要是确定的,但同时又是不可控的。这类似于一种随机。
确定性的数据可以是:

  • a. 上一个区块的Hash值;b. 本区块中交易数据的MerkleRoot-Hash;


这里,a已固定没法修改,b值与收集的交易直接相关,很难控制。你无法通过改变它们来获得预期的Hash值,即 Hash(a+b) 可视为不可控的随机值。
(注:为简化设计,后面没有用到 MerkleRoot-Hash 这个值,但a依然是不可控的随机。)


随机确定性

指用随机的数据作为因子,按确定的方式产生结果(如计算最小值)。因子确定,则结果确定。
随机因子:通过上述“确定性随机”得到的数据。

用途:上述随机因子加上铸块者公钥合并再计算的Hash摘要,也可以认为是随机的(用大量拥有币龄的公钥作为变动因子,以构造预期的Hash值是不可能的)。因此可以用它来构造决胜区块的候选者,与其它因素一起,创建共识模型。

共识模型
候选者

  • 用“前一区块Hash、铸块者公钥sha256-Hash”合并计算候选者Hash。即:Hash (hashPrevBlock + pubkeyhash) => 候选者

权重因子

  • 铸块者公钥币龄;
  • 交易集全部的总销毁币天数;分叉时各子链的高度;

决策过程

  • 权益声明:每个节点在出块间隔时间内广播自己的pubkeyhash,声明自己在线并以此信息供其它节点校验和评估;
  • 自我评估:节点以当前自己打包的区块为目标,根据评选公式评估所有候选者(包括自己)被选中的可能,如果自己位列前茅,则可准备出块;出块评选:当达到规定的出块时间间隔后,自我感觉良好的节点发布自己所铸区块,参与竟评;

注:

  • 规则是确定的,权重因子在区块创建后也是确定的,因此评选结果是确定性的。随机性仅来源于事前;
  • 各节点以自己所铸区块为标准推测评估其它节点的方式并不准确,但结合币龄销毁权重因子的约束,这种模糊评估似已足够;
  • 候选者Hash在每一个区块确认后都会发生变化,这种变化可以认为是随机的,因此每一个候选者都有机会获得胜选;
  • 候选者Hash的优先性计算可以取小值优先、大值优先,也或与前两个区块Hash计算接近度(绝对差值);并不是每一个节点都必须广播自己的pubkeyhash,如果节点认为自己离胜选遥远,它也可以保持沉默;

运行
区块间隔

  • 交易本身的时间戳是不准确的,它不会也不必与“真实的时间”吻合,但两个时间戳之间的差值是绝对的,它表达一个真实的时间段;
  • 若按一个必须的间隔时间产出块,则所有区块的间隔时间之和其实是与现实的时间相衔接的;
  • 对于当前块的绝对时间值可以容许一个误差,如果出块者标记的时间戳与验证节点根据本机时间计算的差距过大,则可以认为是一种欺骗;因为链的高度是分叉时评估主链的因素,所以铸块者其实倾向于在达到间隔时间后尽早出块(当然也尽量多地收集交易);

激励

  • 一般情况下,交易应当支付一笔交易费,免费模式并不能提供长久的可持续性,费用低廉即是便民,这是一个合理的逻辑;
  • 交易拥有适度代价,既可以抵御无聊的垃圾交易,优化区块体积,也能够为系统的运行提供激励。交易费归铸块者所有,这样使得铸块者会尽量多的打包交易;
  • 为了让自己的区块被认可,铸块者会即时提交区块,并不会一味贪婪等待收集更多的交易谋求不合适的利益。另外,其它节点为了自己可以在新的区块里打包尽量多的交易,也倾向于否定贪婪的区块。这形成了一种对贪婪的强约束,最终,为了得到可行的利益,大家都得守规矩;交易费是构造一个拥有良好互反馈机制的必不可少的因子。物极必反,在松散难以构造收入来源的P2P里,或许“恰当的”收费才是长久之道(注:公司化运作的免费模式——如杀毒,他们也在通过模式衍生的渠道获益,并非慈善);

攻击

  • 攻击者无法预见区块的Hash,只能用尽量多的权益(币龄+公钥数量)争取尽可能多的竟评机会,从“概率”上获胜;
  • 如果有权铸块的节点足够多,攻击者获胜的概率就会很小,低的获胜率会大幅削弱攻击者的利益驱动;攻击者不仅需要大量的币龄,大量的拥有币龄的公钥数量也促使攻击者被迫帮助币的分散化,这有利于系统的运行;


结语

本质上,PoW也是借助于Hash的随机性获得共识能力,它们都依赖于概率和攻击代价设计上的保护。专业矿机的高算力并不能提高攻击者的门槛,相反,它反而提高了普通进入者的门槛,降低了“概率”对系统的保护。对于PoW,抛开资源消耗不谈,我们设想一个场景:在某个币价低迷的时代,矿机大量停机,矿场坚持不住然后低价转让……有心人购入,不高的成本控制了大量算力……。

其实在PoW里,攻击者无需亲自制造大量算力——购入矿机即可。矿机的高算力只是一种假象,它相比于传统计算机的Hash能力遥遥领先,但攻击者已经不必借助传统计算机来实施攻击了。以彼之矛攻彼之盾,水涨船高的道理。

Bitcoin系统采用工作量证明(PoW)来实现出块时间的控制,并依此构造共识机制(谁先完成谁胜出),是编程中复用哲学的体现,无可厚非。PoS权益证明是把币龄理解为另一种“工作量”而推导出来的机制,可以避免PoW消耗资源的弊端,但依然不算完美(复杂,太依赖于权益,可靠性并不足够高)。本文从PoS的基本原理上开始思考,发掘Hash算法所能实现的随机性和确定性,模拟随机概率,借助于“时间间隔”的绝对性,试图建立一个简单但强壮的共识模型。

欢迎批评指正。

------------------------------------------------------------------
作者:@比特点点 [email protected]
施主慈悲:PXheD3xDPu2ZXUmjrXSDFZ4Yi3YJM3kmTu1Q7U45ZNLyYNYe6yWT7gaf6H6JNRB9Jeih ^^


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2026-7-18 19:28 , Processed in 0.374401 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表