PoS Workshop FAQ

PoS 挖矿 Workshop FAQ 已整理完成。

Q:PoS机制上存不存在超级节点的概念,注册人数有没有上限呢?

A:Conflux 的 PoS 机制没有超级节点的概念,任何人每锁仓1000CFX会获得一票。使用可验证随机函数(Verifiable Random Function, VRF),我们通过一种抽签的方式来产生委员会。这个委员会有300个席位,大约每个小时会产生50个席位。任期满六个小时将被替换。这样的话,委员会始终处于300票的这样的一个状态。

每一票被抽中的概率都是独立的,一个节点票越多,被抽中选进委员会席位的票也就相应的会更多。假设全网质押了100万个CFX,就会产生1000票。那么每一个小时就相当于从这个1000票的池子里面去随机地选50票,大概就是1/20的概率。被选进委员会以后,在之后的一段时间里面,你的节点需要持续参与PoS的共识,并获得奖励。

可以说,这300票形成了一个去中心化的委员会来维护PoS的共识。并没有一个比这300票委员会权力更大的个别节点做任何其他的事情。

Q:委员会是最高300席位,不会突破300的是吗?

A:它是一个动态的过程,每一个小时换50人,最高不会突破300人。

Q:它是没有任何门槛的,我不管有多少CFX去质押,都可以的?

A:没有门槛,你可以质押任何金额。但至少质押 1000 CFX 才会获得一票。

Q:这个票会不会动态变化?比如说我现在是1000CFX一票,可能过一段时间是1万 CFX 1票,因为可能这个CFX会越来越多。

A:我们目前没有这样的计划。我们计算过,如果把所有流动中的CFX都抵押进去,总票数大概是几十万票。我们的 PoS 系统可以承受这样的规模。

Q:PoS 的共识协议是什么样的过程?

A:PoS 的共识协议是一个持续进行多人签名的过程。每过一段时间(大约一分钟),会有一个提案的人,我们称之为leader. 它提出一个区块,其他人负责对验证这个区块并签名。如果说其他人觉得这个区块有问题,就会拒绝签名。当 PoS 的如果签名过2/3了,就会成为一个有效的区块,但这个区块从成为有效的区块到被共识确认还需要一段时间。

Q:会不会引出一个仲裁机制处理特殊情况。比如说有人捣乱,黑客攻击,或者发生一些重大的合约漏洞。

A:目前没有设计仲裁的机制。PoS 共识是纯靠算法协议运行的,没有人为干预的接口。

Q:被选中委员会的话,他签名的话会有额外收益吗?是多少呢?

A:对,他有一些额外收益,长期平均收益率是4%*√x, 其中 x 是 总流通量 除以 PoS锁仓量。PoS锁仓的人越少,收益比率越高的。系统会按这个利率,将所有 PoS 锁仓产生的利息放在一个利息池中。然后系统根据节点有没有被选入委员会,以及参与共识的细节,每隔一个小时将利息池中的利息分配一次。

Q:如果我入选到委员会以后,如果节点因为断电等问题停止运行了,会有什么影响?

A:不会有本金的损失,但可能有利息的损失,也可能会自动解锁 PoS 锁仓。

具体看断电的时间。如果一个节点在委员会中,因为系统断电等问题,连续一小时没有参与共识,会因为“缺勤”触发一个机制,所有锁定的token被自动解锁,同时在七天之内所有追加锁仓都会被自动解锁。因为系统觉得你这个节点好像出了问题。

根据 Conflux PoS 协议,无论是手动发出解锁指令,还是被迫解锁,都有一个等待期。等待期没有利息。等待期结束需要满足:1. 解锁触发满 7 天 以及 2. 被解锁的锁仓,从它锁定之日起计算,满 14 天。

Q:出金入金的时候,每一笔都有对应的记录,我们怎么查询,这一笔钱是什么时候转进去的呢?

A:转进去的这个操作其实就是在 PoW 链上发起了一笔交易,这笔交易调用了一个内置合约,同时产生一个event. 这个 event 就像你进行 ERC 20 转账产生的 Transfer event 一样,是可以追踪的。

转出的操作比较复杂,因为这涉及到解锁等待期,所以它必然涉及到两部分。一部分是你发出解锁指令,一部分等待期结束、解锁完成。

发出解锁的指令本身也是在链上发交易,然后链上执行会产生一个event。但是解锁完成的不是那么好追踪。我们提供一个RPC接口,你可以去查一个PoS地址的解锁状态,也可以去查一个 PoW 账户的锁定量。你可以通过定期查看当前锁仓量来追踪解锁过程。比如说,第六天的时候查到的锁仓量是 5000 CFX,第七天的时候查到 4000 CFX,那就是解锁了 1000 CFX.

Q:主网上线之后可不可以把参与 PoS 的过程做的简单一点?

A:跑一个全节点确实挺麻烦的,官方或者社区可以做委托矿池,把token委托给其他人,然后让其他人替你跑节点,但前提是你得相对信任这矿池。

Q:锁仓锁多久?

A:锁仓操作满14天,且解锁操作满7天。

比如你是1月1号锁仓,如果你在1月2号去操作解锁,会在1月15号完成解锁,也就是1月1号加14天。如果你在 1月20号去操作解锁的话,那么你只需要等七天的时间,也就是说在1月27号完成解锁。

Q:如果没有入选委员会会怎么样?

A:每个小时,PoS 共识会从票池中抽 50 票进入委员会。同时,它还会抽 10000 票,给它们的拥有者发一些利息。

如果全网一共有10万票,而你只有一票,那想进入委员会的几率很低,平均 2000 次选举才有一次机会。但是平均每10次选举就能被分一次利息。

Q:能否查到链上所有的解锁申请?

A:解锁申请会产生 event, 和solidity语言的event的一样。所以它也可以区块浏览器查询,

Q:抽签的方式是怎么样的?

A:抽签的方式是这样的,区块链系统运行过程中会产生用于抽签的种子,你的PoS账户里面有一个私钥。用这个种子与你的私钥去算一个 VRF 的结果。这个结果是一个随机的数。把所有人的数放在一起,取数最小的若干人。

Q:PoS链会在什么情况下会介入PoW共识?

A:其实PoS链一直在影响 PoW 共识。只是绝大多数情况下,PoS 链的指令跟 PoW 链自己的观点是一致的,所以PoS链就像不存在一样。

我们举个例子,假设在 PoW 链上,高度 1000 的区块根据 PoW 的规则被确认了,那么五分钟后,PoS链节点就会开始签名,表示“我记住了这个高度为1000的区块,就是它,被 PoW 链确认了,之后的 PoW 区块都应该在这个区块之后挖”。此时的 PoW 节点说,对,因为它已经被 PoW 规则确认了。

只有发生51%的攻击的时候,可能会出现另外一棵恶意的子树,说把高度1000的区块给改了。这个时候,PoW 节点会说,虽然你的权重更高,但是你和我之前看到的 PoW 区块不同,也没有 PoS 签名,所以我不会认可你。于是 51% 攻击就失败了。

Q: 总流通量的计算包含零地址吗?

A: 总流通量的计算是排除零地址的,四年解锁和两年解锁合约里面的余额也是不计入总流通量的。

Q:1万的利息算法跟选中的50个一样吗?

A:不一样,1万个的利息是少一些的,大概是有20%的利息是分给这1万人的,然后有80%的利息是分给委员会中的人的。但长期来看,每个人收益期望值是一样的,因为任何人都可能被选入委员会。

这有点像比特币挖矿,如果你的算力不多,但是在 solo 挖矿,那么你小概率会挖到一个区块,得到一大笔钱,但很可能在很长一段时间里一无所获。但如果你加入一个矿池,就会有细水长流的收益。

Q:加PoS会提速吗?

A:目前没有做提速的设计,这个的主要目的就是为了防止51%的攻击,并没有其他的目的。

Q:PoS释放远高于PoW,会对PoW不利吗?

A:不会。每年因 PoS 新增的利息不会超过总流通量的4%,这个和现有 staking 利率是一致的。因为现有 staking 利率要被删掉,所以总通胀率不会增加。

Q:本来PoW都没问题,PoS 介入后,是否反而会产生问题?

A:这个之前我们在论坛也讨论过很多。引入PoS机制以后,如果有2/3的PoS的token被攻击者所控制了,那么 PoW 链就会出现危险。相当于用 67% PoS 风险去取代 51% PoW 风险。我们的观点是,说持有大量 token 的人会更没有动机去攻击这个链,但是持有大量算力的人可能会有动机攻击你,因为把你攻击挂了以后,它还有很多其他的链可以去挖。

Q: 除了PoS还有别的防御方式吗?

A:像比特币,以太坊这样的早期公链,算力市场和公链生态基本是同步成长的,所以它们面临的攻击风险会小很多。而后续的 PoW 公链,在生态发展初期,就面临着极为成熟的算力市场,特别是算力租借市场。那么面临 51% 攻击的风险就高很多了。

在一个以算力为主导的去中心化的系统里,如果两个群体意见不同,只能以算力多的为准,这是区块链系统的一个基本准则。51%攻击一旦发生,所有诚实参与者的话语权都没有一个恶意节点多,我认为纯靠PoW本身是没办法解决的。我们能想到比较去中心化的解决方案,也就是加PoS了。

Q:有没有计划关PoW?

A:短期是没有关闭 PoW 计划,但是我们也不保证说 PoW 的形式会运行 100 年。

Q:PoS也是人为因素,进而是否会影响PoW的公平?

A:PoS是有人为因素,所以我们也在限制 PoS 权限。根据设计,PoS 唯一的权限是对 PoW 已经决定事情做一个见证与二次确认。只要PoS里面诚实节点的数量在2/3以上,PoS就不会越权,是会不影响任何PoW的公平性的。

Q:担心接不住ETH2.0的算力?

A:其实不太是一个概念,接算力指的是承接诚实的参与者。而我们所讨论的 51% 攻击,是指一些攻击者租来的恶意算力。

Q:投票权限制能大户吗?

A:其实没法限制,因为它是一个完全去中心化网络。你用任何方式限制大户,大户就会用脚本把自己拆成1000个小户,然后伪装成 1000 个小户参与。

workshop 视频回放:

录制文件:https://meeting.tencent.com/v2/cloud-record/share?id=3a6f78e7-625a-407b-9f5f-828200785f69&from=3
访问密码:hZcs
有效期:于 2021-12-17 18:07:01 过期

1 Like