我以前也研究过区块链系统里存在的 激励机制 问题,看完了文章想到了下面这些问题 Conflux team有时间请回答一下 谢谢
1)文章说:”当坏人挖出一个新区块时,那些假装没看见的区块,都会成为坏人区块的“ 光锥外区块 ”,减少坏人区块的区块奖励,对坏人造成经济上的惩罚。” 这样的话 是不是那些假装没看见的区块 也都会受到经济上的惩罚?文章里描述的方法跟” Inclusive Blockchain Protocols ”(2015)里面提出的方法来相比 有什么好处?
2)”Redesigning Bitcoin’s Fee Market”(2017)里面提出的一个问题是 如果Conflux的吞吐率为3000TPS,但实际的交易量只有2000/s,那么我发出新交易时,不管我选的交易费多小,都会有矿工来选我的交易(不然矿工的收益会低一点)。这有可能会导致 每个交易费都很低 所以矿工的收益也很低 挖空变 unprofitable 。Conflux里会不会存在这个问题?
3)Conflux有没有考虑过用上面那个paper里(“Redesigning…”)提到的、姚期智院士也分析过的 Monopolistic Price Mechanism ?
关于矿工机制和激励机制的若干问题
先回答一下 2) 和 3). 其实这是对交易竞价和打包问题的一个很好的讨论。不过,问题 2) 的逻辑是有问题的。Redesigning… 这篇论文中的那个结论,它基于了一个假设是,“矿工根据 pay your bid 规则,最大化地打包交易”,在这个模型中,不允许矿工选择挖空块,自然也不存在挖空块的问题。
如果你将“挖空块”或“打包部分交易”作为矿工的一个可能的选择,赋予了矿工更大的 action space, 那这一个模型下的均衡点可能会发生改变,也就不能再套用之前这个模型的结论了。这种模型下的均衡是什么,我们没有具体调研过有没有文献讨论,如果有相关文献的话,欢迎推给我们来讨论。但一定不是矿工无条件打包的单一决策。
如果我们离开理论,大概地想一下这件事情。在一个区块链网络运行初期,block reward 占主导,如果 tps 没有跑满时,挖空块本身也贡献权重,也是对网络安全有贡献的,所以空块拿 block reward 没有问题。如果大家都挖空块,那么就不会出现所有人都发 0 交易费的事情的。
Monopolistic Price Mechanism 距离在区块链系统中的使用其实还有一定距离,因为区块链系统的交易打包本身并不是一个 one round auction. 所以还有更多的问题有待研究。
关于你提出的第一个问题:
Inclusive Blockchain Portocol 里面是以区块在主链上体现出的延迟来计算惩罚系数的,即 c(A):=post(A).height-pre(A).height。与之相比,Conflux 用“光锥外区块个数”计算延迟至少有两个好处:1)区块数量代表的工作量可以比主链高度更好地反应传播花费的时间,因为在 DAG 结构下高度增长的速度是不稳定的;2)按照 Inclusive Blockchain Protocol 的规则,惩罚系数不是对称的,抢夺主链对于减少惩罚系数非常重要,节点会有更强的动机坚持在自己的分支上,不利于达成共识。Conflux 所用的光锥外区块个数更为客观,跟哪个分支成为主链无关(实际上有一点点关系,可以忽略不计),节点可以更诚实地按照规则选择主链。
关于故意假装没看见区块的惩罚:因为“光锥外区块”是相互的关系,所以坏人可以通过假装没看到好人区块的方式对好人造成损失,而且在第三方看来无法区分谁是好人。当然,上述攻击成立的前提是坏人自己也要承受相应的损失。**对于如何实现“相应的损失”这点 Inclusive Blockchain Protocol 里面没有详细讨论,只是笼统地说了选择一个弱递减的函数。**我们认为这个函数可以选成超线性的,这样坏人如果试图用一个区块攻击多个好人的区块,则他承受的损失要超过好人所承受的损失之和。
@Regulus_YG @DHG 感谢这么快就给我这么详细的回答
依我看,Redesigning…里提到的条件在Conflux里还是makes sense。在经典的链式结构下,再选一个交易来打包 会带来一定的区块被orphan的风险,所以一个交易带来的marginal profit可能会低于零。Conflux里则 不管区块有多大(block limit以下) 都会被系统保留。在这种情况下 矿工应该会有incentive选其他矿工没选的交易 所以”最大化地打包交易”的假设可能还是有道理。当然如果区块奖占主导的话 这个问题不会很严重
你也提到了挖空块的问题。其实交易等待池不空的话 激励机制不应该”允许”挖空块,因为空块比非空块对social welfare的价值更高
因为现在还没有高吞吐率区块链系统存在 而去测试网里也没法真正地测试激励机制 所以预测Conflux的矿工和用户会是什么行为还是挺难的。希望Conflux团队能够提前分享这些问题