孤块是浪费,还是资源
比特币式最长链里,同一轮竞争里落选的并发区块被当作孤块丢弃:算力贡献不进入账本,网络延迟天然偏向大矿池。提速尝试(例如 GHOST 把旁支计入投票)又暴露出活性攻击面——研究者证明低算力攻击者只要维持两条分支长期平衡,就能无限期拖延确认。Conflux 的思路是把这两个问题一起处理:并发区块全部收下并组织成图,同时用一套会随威胁改变权重的规则防止有人利用平衡战术拖死链。以下机制描述以 Conflux 官方协议规范与 USENIX ATC 2020 论文为准。
Tree-Graph:每个区块都有位置
Conflux 的区块结构里,每个区块带一个父引用和若干裁判引用,全部被接受的区块构成有向无环的 Tree-Graph:一条嵌入图中的树,加上新块对当时所有未引用尖端块的横向引用。节点收到新区块先做合法性校验再入图。排序分两步:先从图中按累计权重选出枢轴链,再把不在枢轴链上的区块按与枢轴链的关系套入全序,交易按这个全序执行,冲突交易忽略。这样每条算力产出都进了共识输入,而不是像最长链那样把竞争区块扔掉,孤块同样贡献安全性与吞吐。值得注意的细节是交易校验的时点:入图阶段只验区块形式与签名层面要素,不急着判断余额与重放,重复或冲突交易留到该区块在全序中被执行时才被忽略——这让”收块”和”执行”解耦,并发块不必互相等待状态视图。
GHAST:权重会随威胁变形
若所有块权重恒为一,攻击者就能复刻上述平衡战术。GHAST 的做法是给区块加”策略位”:正常情况下每个块权重为一,走乐观策略;当协议从本地图中检测到某条较早的祖先长期没有哪支子树确立优势,判定存在活性攻击,新块自动转入保守策略——按工作量解的质量抽签,只有约六百分之一的块被标记为重块并获得权重,其余块合法但权重为零。分支选择只数重块,等效于把有效出块速率降下来,攻击者维持平衡的成本陡增,而总出块速率和吞吐保持不变。每个块自带不可变策略位,诚实节点无须同时切换也能把两种策略的块收进同一张图并得到一致排序。
奖励如何消灭藏块动机
最长链的自私挖矿靠私藏块抬高自己区块在链上的占比。Conflux 的出块奖励与”和你并行存在的区块数量”挂钩:并行块越多,单块奖励越小;无论块在不在枢轴链上都有奖励。藏块或故意不引用别人的块,等于放弃自己从并行关系中获利的空间,也抬高了对手引用你块后的相对收益,论文据此论证该设计使自私挖矿策略失效。难度部分按约每五千个时期统计产块数回归调整,块权重取区块难度值以对齐累计工作量。
边界与风险
这套机制的收益是吞吐与确认延迟,代价是共识输入的复杂度:节点要维护并校验整张图,轻量级的”只信最长链”心智模型不再适用;枢轴链上某个历史块被替换在理论上依赖自适应权重检测的及时性,参数与实现细节请以官方规范为准。评估此类链时应当区分论文实验环境数字与现实网络条件,不应把任何吞吐量数字当成常态承诺。此外,裁判引用让区块大小与验证工作量随并发度波动,节点存储的是全图索引而非一条直链,运维与做轻质验证客户端的成本都高于最长链同类。涉及资产转移仍需按重组风险设定等待策略,本文不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。