Conflux PoS Hardfork 升级概述

:warning: 这是⼀个针对 Conflux PoS Finality 的介绍性⽂件,没有实操的细节。它在于帮助读者⼤体了解 PoS,是阅读技术细节⽂档的必要条件。

在⼀个 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 的矿⼯完成。

:information_source:PoS 链只是应对 51% 攻击⽤的。所以除了 pivot block 投票,投票委员会的选举等基本功能外,不包含通⽤区块链的功能,如转账、合约执⾏等。
:information_source:PoS 链的功能内置在 Conflux 节点⾥⾯,对外还是 conflux-rust ⼀个程序。
:information_source: 本⽂档⾥,Conflux 链指⽬前运⾏的区块链,PoS 链指新引⼊的链。
:information_source:PoS 区块⼤约⼀分钟⼀个,以下说的所有时间,都是对应的区块数。

PoS 账户

地址

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

钱包

PoS 账户的主要职责是维护 Conflux 的共识协议。每⼀个 PoS 账户应当运⾏⼀个独⽴的 Conflux 节点。因此 Conflux 核⼼代码 conflux-rust 内置了 PoS 账户的钱包功能,包括

  • 在 Conflux 节点⾸次启动时,如果是 PoS 账户模式运⾏,则⾃动⽣成 PoS 私钥,并要求⽤户输密码,密码加密私钥存在本地。
  • 在 Conflux 节点再次启动时,如果检索到了加密的私钥⽂件,则要求⽤户输⼊密码解锁私钥⽂件。
  • 运⾏时⾃动根据 PoS 的共识协议发送交易,⽆需⽤户⼲预。

由于钱包是全节点实现的,所以和钱包的交互⽅式⾮常原始,基本上就是⼿动拷⻉⽂件什么的。

成为共识节点

PoS 账户在创建后,需要在PoW链上通过质押和注册的⽅法,才能成为⼀个合法的共识节点。

  • 质押:和当前的质押流程没有区别
  • 注册:在 Conflux 链和固定的 internal contract 进⾏交互,提交全节点提供的相关信息,和锁定质押的⾦额。每锁定 1000CFX 获得 1 票

:information_source: 当注册完成后,进⾏质押的 PoW 账户和注册的 PoS 账户构成⼀个⼀⼀绑定的关系。PoS 账户所绑定的 PoW 账户不可更改。PoW 账户绑定的 PoS 账户,可以在 PoS 账户完全解锁后,绑定其他 PoS 账户。

参与 PoS 共识

获得投票权重

PoS 账户可以锁定 CFX 并获得投票权重,流程⻅“成为共识节点”章节。

  • 当 PoS 账户被注册后, conflux-rust 会⾃动监听注册信息,并进⾏相应操作,⽆需⽤户⼲预。
  • ⽤户可随时在 Conflux 链上锁定更多的 CFX token 来追加票数。
  • 锁定 token 后状态从 Conflux 链同步到 PoS 链⼤约需要 10 分钟左右,此时⽤户将获得投票权。

注销投票权重

PoS 账户可以注销投票权重,并解锁 CFX

  • ⽤户需要使⽤绑定的 PoW 账户在 Conflux 链上发交易,申请解锁 token(代码中称为退休)。⽤户可以申请解锁⼀部分⽽⾮全部锁定 token。
  • ⽤户可随时申请解锁。申请解锁后,相应的投票权⽴刻失效。但需同时满⾜以下两个条件才能完成解锁:①锁定满 14 天 ②申请解锁满 7 天
  • 如果有多次锁定 token 的操作,在解锁时,会根据时间从早到晚,依次进⾏解锁,直到满⾜要求的解锁数量。

⼀个例⼦

假设⽤户 A 在 1⽉1⽇、3⽇,5⽇分别锁定了 2000 CFX ,在1⽉9⽇,申请解锁 3000 CFX.
• 1⽉1⽇的 2000 CFX ⾸先被解锁。
◦ 锁定满 14 天:1⽉1⽇+14天=1⽉15⽇
◦ 申请解锁满 7 天:1⽉9⽇+7天=1⽉16⽇
◦ 所以有 2000 CFX 在 1⽉16⽇完成解锁。
• 1⽉3⽇的 1000 CFX 然后被解锁。
◦ 锁定满 14 天: 1⽉3⽇+14天=1⽉17⽇
◦ 申请解锁满 7 天:1⽉9⽇+7天=1⽉16⽇
◦ 所以有 1000 CFX 在 1⽉17⽇完成解锁。
这⼀操作后,⽤户还剩下锁定于1⽉3⽇的 1000 CFX与锁定于1⽉5⽇的 2000 CFX

PoS 共识的⼯作

:bulb: 以下内容是 PoS 节点⾃动做的事情,仅供了解。

参选委员会

• PoS 账户会通过 VRF 参选⼀个⾄多 300 席位的委员会
• 委员会由 6 届委员组成,每届包含 50 席位
• 每 1 ⼩时,任职时间最⻓的⼀届委员会任期期满,新⼀届委员接替
• 每⼀届委员会提前 1.5 ⼩时开始选举,提前半⼩时结束选举。
• 在选举时,每⼀个 PoS 账户的每⼀票视为⼀个独⽴的参选⼈。如果⼀个 PoS 账户有 10 票,则视为 10 个不同的⼈参选。如果这个账户选⼊了 2 票,则在这届委员会占有 2 个席位,剩下 8 票可以参加下⼀届选举。
• 选举期间,PoS 账户提交 VRF 的结果,根据结果算哈希值。哈希值最⼩的 50 票被选⼊。

:information_source: 例如,VRF 结果是 x ,PoS 账户有5票,那么哈希值是 hash(x,0) ~
hash(x,4)

作为委员

• PoS 账户的委员将参与 PoS 的共识,并对 Conflux 链的 pivot block 投票。

激励⽅案

:warning:Conflux 现有的抵押利息将取消。

• 当 PoS 账户参选或成为委员后,会根据不同的⾏为获得积分。共计 6,000,000分。
• 积分在委员会换届时结算(每60个区块),在此期间 Conflux 链产⽣的利息会平均分成 6,000,000 份,根据积分分给 PoS 账户绑定的 PoW 账户。
• ⼀届委员会产⽣的积分可能少于 6,000,000. 没有分掉的利息会烧掉。

积分构成

• 参选委员会,哈希值是最⼩的 10000 票。每⼀票 120 分。共计 1,200,000 分。
• 选⼊委员会,每⼀票 15,000 分。300票委员共计 4,500,000 分。
• 成为⼀个 PoS 区块的 Leader (PoS 共识的概念),每块 3,000 分。60块共计180,000 分。
• 每个 PoS 区块需要 300 ⼈中的 201 ⼈签名,但 Leader 可以打包多于 200 ⼈的签名。从 200 个签名开始,每多⼀个签名,获得 20 分。最⼤ 2,000 分。60块共计 120,000 分。

利息产⽣

• 每个 Conflux 链的区块,会产⽣这么多利息。因为抵押额和总发⾏量在变,所以每个块产⽣的利息也在变。sqrt(总抵押额 * CFX 总发⾏量) * 4% / Conflux ⼀年区块数
• 如果连续 7200 个 Conflux 链区块后,PoS 还没有换届分钱,就不产⽣利息。直到分钱后再产⽣利息。这么做是为了防⽌ PoS 节点故意拖慢共识,以获得更多的钱。

⻛险提示

本⾦丢失

PoS 账户如果为两个⾼度相同的不同 PoS 区块签名,它的 CFX token 将被永久锁死。这种情形可能发⽣在:
• 通过修改 Conflux 节点,致使该账户出现攻击共识协议的⾏为
• 在多个 Conflux 节点使⽤相同的 PoS 账户。(这会导致同⼀账户做出⾃相⽭盾的操作,被判定为攻击共识协议)
• PoS 私钥⽂件私钥丢失

流动性损失

• 如果⼀个⼈被选⼊委员会,却在两次换届之间不参与签名,会被⾃动解锁所有锁仓。且在未来 7 天内所有的新增锁仓都会被⾃动解锁。

收益损失

• 如果 PoS 账户绑定的节点没有成功运⾏,可能不会有任何收益

2 Likes

每个pos节点都有质押奖励吗?

什么时候启用POS

在公众号测试网升级的文章看到这个:
“根据 CIP-43(详情:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-43.md),Hardfork 后仅 PoS 链抵押能产生利息,原有 4% 利息的 Staking 将不再产生收益。”

这里想问的问题是:如果这个实施的话,质押销毁的FC这部分的利息该这么办呢?是等于取消了,还是会将为FC背书的cfx进行pos质押继续为已质押销毁的FC提供利息来源?

参考这里

1 Like

随着cfx的不断增加 , 现在基金会投入的一部分CFX用于搭建POS节点,在后期是否会被挤出排名?

每一个小时随机选举一次,每次应该是50个节点名额,一般会随机抽取,节点的稳定性,的节点质押量应该有一定的优先权吧?

寻找c链战友[加油]
带战友到ABCpool来质押cfx
大家一起来做矿老板
币价巅峰不在 战友情意仍在
一起熬过寒冬 终会遇见美好
随着conflux的pos主网升级上线,社区成员通过官方kyc审核和合约认证后,开发了POS矿池ABCpool,战友们可以参与进来,让钱包里闲置的cfx数量增涨,获取高额质押收益

ABC Pool 官网链接:https://confluxpos.com/
(使用电脑端连接官方插件钱包)

ABC Pool 矿池介绍及质押教程:ABC Pool 矿池介绍

矿池合约认证查询: https://confluxscan.io/address/cfx:accpx9uxky39pg1hzav757vdej95w1kbcp13d0hvm7

Conflux PoS 技术文档汇总:Conflux PoS 技术文档汇总

请问什么时候能公示一下FC的pos节点信息