Conflux 的 PoS Finality 介绍与经济模型【草案】欢迎讨论~

本文档是Conflux 的 PoS Finality 介绍与经济模型的草案,不是最终确定版,欢迎社区同学在论坛留言讨论

在一个 PoW 链生态的早期,在全网算力较低的时候,可能会出现 51% 攻击的问题。特别是公有链的发展催生了一些算力租借平台的时候。在去年,以太经典、Grin 和 Verge 都曾出现了 51% 攻击的问题。

为了应对 51% 攻击可能带来的威胁,Conflux 将引入一条独立运行的 PoS 链。PoS 链的共识参与者将定期对树图结构 pivot 区块签名。拥有足够多签名的 pivot 区块应当被所有 PoW 矿工选进 pivot 链,哪怕它的兄弟区块权重更大。简单来说,PoS 链指定了一个 pivot 区块,所有的 PoW 矿工都应该跟随。

这意味着,一旦 PoS 共识对一个 pivot 区块投票,即使 51% 攻击者尝试逆转这个区块,也不会被 PoW 节点认可。

Conflux 要求 PoS 共识克制地使用“指定 pivot 区块”的权力。一个区块首先要根据 PoW 的规则确认满几分钟,诚实的 PoS 节点才会对它进行签名。这意味着,树图结构的区块排序和确认依然由 PoW 的矿工完成。

下面介绍一些和 PoS finality 相关的基础概念。本文档里,Conflux 链指目前运行的区块链,PoS 链指新引入的链。

PoS 账户

地址

一般来说,区块链上的账户模型都是:私钥产生公钥,公钥产生地址。PoS 链上的账户类似,但有两个私钥,称为BLS私钥VRF私钥。对应BLS公钥VRF公钥。两个公钥计算哈希得到 PoS 的地址,目前是 256 bit.

钱包

Conflux 的 PoS 链只是应对 51% 攻击用的。所以除了对 pivot 区块投票,以及 PoS 链选举共识节点等基本功能外,没有通用的区块链的功能,如转账、合约执行等。PoS 账户也没有余额的概念。

PoS 账户的主要职责是维护 Conflux 的共识协议。每一个 PoS 账户是 Conflux 网络的维护者,而不是普通的用户。

每个 PoS 账户应当运行一个独立的 Conflux 全节点。Conflux 核心代码 conflux-rust 将内置 PoS 账户的钱包功能,包括

  • 在 Conflux 节点首次启动时,如果配置文件显示是 PoS 账户模式运行,则自动生成 PoS 私钥,并要求用户输密码,私钥被密码加密后存在本地。
  • 在 Conflux 节点再次启动时,如果检索到了加密的私钥文件,则要求用户输入密码解锁私钥文件。
  • 运行时自动根据 PoS 的共识协议发送交易,无需用户干预。

与 PoW 账户的绑定

PoS 账户在创建后,需要与 PoW 的账户进行绑定,我们把这个过程叫做注册。PoW 账户通过抵押(Staking)和 PoS 锁仓,为绑定的 PoS 账户赋予投票权。这个过程通过在 Conflux 链上与特定的内置合约交互完成。有了投票权的 PoS 账户才能成为一个 PoS 共识节点。

PoS 参与共识的奖励直接打入绑定的 PoW 账户中。

绑定过程

  • 当 PoS 账户被注册后,conflux-rust 会自动监听注册信息,并进行相应操作,无需用户干预。根据 PoS 共识协议,大约注册后 2 小时(120 个 PoS区块)才可以参与共识协议。大约 4 个小时后开始获得奖励。
  • 用户可随时在 Conflux 链上质押更多的 CFX token,并通过 PoS 锁仓来追加票数。

解锁过程

  • PoW 绑定的账户可以通过与内置合约交互,注销 PoS 账户投票权重 ,我们把这个过程成为退休。
  • 绑定后满 7 天可以退休,退休后 7 天 CFX 解锁,(10080 个 PoS 区块)。解锁后还会以 staking 的方式继续存在,但可以随时提取。

PoS 共识

共识委员会

  • PoS 共识由一个至多 300 票的委员会组成,委员会通过 Hotstuff 共识协议运行 PoS 链。
  • 委员还对 Conflux 链的 Pivot 区块哈希进行投票。投票满三分之二的 pivot 块哈希可以被 PoS 链打包。集齐签名的 pivot 区块称为 pivot 决议 (pivot decision)
  • 根据协议要求,委员只对在 PoW 协议下确认满 5 分钟的区块进行签名。

参选委员会

  • 每经过 1 小时(60个 PoS 区块)选举一届委员会,选举出最多 50 票委员,任期 6 小时(360个PoS区块)。这样同时存在共计 6 届,最多 300 票的委员。
  • PoS 账户会通过 VRF (Verifiable Random Function, 可验证随机数)参选委员会。VRF 种子通过选举开始时的 pivot 决议区块哈希产生。
  • 每一届委员会提前 2 小时(120 个 PoS 区块)开始选举,提前半小时(30 个 PoS 区块)结束选举。
  • 在选举时,一个 PoS 账户的每一票视为一个单独的小号。如果一个 PoS 账户有 10 票,则视为 10 个不同的人参选。如果这个账户选入了 2 票,则在这届委员会有 2 票投票权重,剩下 8 票可以参加下一届选举。
  • 选举期间,PoS 账户每一票(每个“小号”)会通过 VRF 产生一个哈希值。哈希值最小的 50 票被选入。
  • 我们进行了一些系统优化,PoS 账户只需要发一笔交易就可以为全部小号参选。如果入选多票,在参与共识时,PoS 账户也只需要签一个名就可以。

激励方案

两次委员会换届之间(每 60 个 PoS 区块),会根据不同的行为获得积分。最多 6,000,000 分。在此期间 Conflux 链产生的利息会平均分成 6,000,000 份,根据积分分给 PoS 账户绑定的 PoW 账户。如果产生的积分少于 6,000,000 分,没有分掉的利息会销毁。

积分构成

  • 参选委员会时,哈希值是最小的 10000 票。每一票 120 分。共计 1,200,000 分。
  • 被选入委员会,每一票 90,000 分。50票委员共计 4,500,000 分。
  • 成为一个 PoS 区块的 Leader ,每区块 3,000 分。60 区块共计 180,000 分。
  • 每个 PoS 区块需要 300 人中的 201 人签名,但 Leader 可以打包多于 200 人的签名。我们鼓励 Leader 打包更多的签名,来证明每一个委员在活跃地参加共识。从 200 个签名开始,每多一个签名,获得 20 分。最大 2,000 分。60块共计 120,000 分。

利息产生

  • 每个 Conflux 链的区块,会产生以下这么多利息。

    sqrt(总抵押额 * CFX 总发行量) * 4% / Conflux 一年区块数
    
  • 如果连续 7200 个 Conflux 链区块(大约 1 小时)后,PoS 还没有换届分钱,就不再产生新的利息,直到分钱后再产生。这么做是为了防止 PoS 节点故意拖慢共识,以获得更多的钱。

惩罚

  • 如果一个人始终不参选委员会,没有任何奖励,也没有惩罚。
  • 如果一个人选入委员会,却连续 60 个区块不参与签名,会被强制退休。
  • PoS 账户如果为两个高度相同的PoS区块签名,它的 CFX token 将被永久锁死。根据 PoS 共识协议和目前的代码实现,一个诚实的用户永远不会做这种事。
1 Like

支持

POS矿工部分的CFX是额外增发还是从POW矿工那里分?

1.关于经济模型的影响,目前有两部分
a. POW挖矿每个区块2cfx
b. 抵押4.08%的年化

这个POS出来了之后,这里的CFX是额外提供的吗?这对CFX通缩可不够友好。

如果这里的利息加上挖矿的产出刚好构成2cfx,这对整个经济模型没有任何影响,就担心这部分利息是增发的。
希望如下:

a. POW挖矿每个区块(2-x)cfx, POS挖矿每个区块(x)cfx
b. 抵押4.08%的年化

不希望如下
a. POW挖矿每个区块2cfx
b. 抵押4.08%的年化
c. POS挖矿每个区块xcfx

2.作为一个普通POS矿工,持有1万cfx,来点详细的例子给大家。

不参与pos每天收益是 1.09
image

假设1千万个cfx抵押,每个区块0.14个 cfx
image
抵押1万个CFX,每天能收入2.45个cfx
image

假设1亿个cfx抵押,每个区块0.44个 cfx
image
抵押1万个CFX,每天能收入7.74个cfx
image

目前私募还有天量CFX没有释放,如果这些CFX都是增发的,这对市场情绪会起到负面效果。
反之, CFX不是增发,公链更加安全,会吸引更多人把资产迁移过来。

3 Likes

FC兄弟们不管了对吗:smile:,不但没fc什么事,相反,pos机制会给cfx一个相比4.08更有优势的apy

5 Likes

不太懂…… 直接用FC做pos认证不好?提高了FC的价值,又对cfx的的通缩有利。

6 Likes

确实没fc什么事情。。。方案中pos的选举和hash计算最小的值,可能使pos仍被资本所掌控。。。。

另外,
矿工出块获得的激励,如果五分钟后pos推翻了结果,那些用攻击块做引用边的诚实矿工已收获的cfx如何回收?

2 Likes

是时候用fc来阻挡野蛮人了

5 Likes

FC已如鸡肋,弃子

能不能给fc安排点活干,早期的C链粉就是从FC开始,请不要把FC遗忘!

5 Likes

把fc利用上啊,总得高处一个超过1U得币吧

4 Likes

FC要野性一下了,把FC盘活;整个C链就活。

4 Likes

给FC派点活干干

2 Likes

pivotn.枢轴; 中心点,中枢
的确,从开始到现在,如果再有增发预期,CFX存在意义更失,至少让人更怕。今天的因素更多是情怀与技术信赖支撑。
假设上述所虑增发构成,是很不利的。
但其中的数据不明。。按现在4.08利息,一万个CFX一天也就是1.11个,怎成了每天收入2.45个呢?

FC CFX是CONFLUX的公链币,目前来看这哥俩是一荣俱荣一损俱损。你目前要做的事情就是引流,你没人你知道吗???把量小的FC做起来,官方的引导加社区的配合。FC价格起来一定会引来大量人。不要动不动交给社区了,像是孩子交给社会,就像被遗弃的孩子。你以为现在还是比特币的初始元年吗。高智商的人就是认为自己智商高,这博士那教授的,听不了其它人的见意。难道你们的想法是百分百正确吗,可以换个角度考虑问题吗

3 Likes

设计的似乎合理,但是有个初期参与率、参与的共识程度、参与的素质品行等等这些POS权益因素都是人为世界人性不可逃脱的因素,还有市场与环境突变因素、总体发展趋势压力因素等都会对整个POS产生严重影响。初衷是为了防51攻击,但是不是会因此也被 产生另一种要挟式的攻击呢?太多不定
更重要的是,从树图一路走来,总感觉首先实际的共识参与率就已成问题。哪一次的投票不是廖廖无几?这种治下的POS着实不得不让人担心。毕竟整体树图的环境还是欠缺的。。。介入的POS如何能确保除上述所言的技术之外的因素?
我觉得很值得思考这个治外因素,的确,树图如今欠缺很多。。。。POS的引进当下基础条件要深思

2 Likes

以上各位所言甚是啊。
FC用起来。CFX不要有比之前增加了更多的通胀系数。
以后做起来了,再谈其他的,先做起来吧。

3 Likes

这个机制 ,本人之前参与过某项目,实际在设计之初有此类似的设计理念。防51攻击分叉。所以觉得并不是特别稀奇。但其项目并不是一开始并POW,因此至于所谓如何防攻击POS,没引发关注。
这个引进有几个不明白
和4.08利息区别在哪?
已有一个锁定投票与这POS又何区别及关联?
POS利息又来,楼上发言过的如果导致总量增发,可怕,是个不利的恐慌举措。这个没说明白?
这些方面的获利途径,给已开发和未开发生态的影响几何?好不容易产生点项目在上面,别一整全跑光了
POS了又引来了那些私募、矿场、项目方等等持币大户的问题,散户平民干不过他们。可链又要平民化,这是个矛盾。其中会不会导致不定因素出现?
如果出现,那又怎防范。楼主的文章中只有理想化。POS是为了防攻击分叉,那POS若有那又得如何防?
。。。。
还有大家补充

1 Like

再增加丰富一些新的内容,活跃人数肯定会增加不少!

FC跟这个增加的POS链气质完美契合啊,天意不可违啊,啥也不说了,你们看着办吧

1 Like

把fc做强才是树图破圈之道!毕竟fc才是树图核心价值币!承载着社区多少人的希望与寄托!fc好了就自动带动树图包括各生态良性运行

4 Likes