目录
1. 引言
自私挖矿(Selfish Mining, SM)是比特币中的一种区块扣留策略,它利用了协议难度调整机制中的一个缺陷。与始终扩展公开最长链的诚实矿工不同,自私矿工扣留新挖出的区块以创建一个秘密分叉,并策略性地发布它们以最大化收益。评估此类策略的关键指标是长期表面算力 $\tilde{q}$,它代表了攻击者随时间推移在官方区块链中所贡献区块的比例。
先前的分析依赖于复杂的马尔可夫链或鞅技术。本文提出了一种使用Dyck词和卡特兰数的简明组合证明,使得推导过程更易于理解且更为优雅。
2. 攻击周期与Dyck词
一个攻击周期可以建模为一个事件序列,其中每个区块要么由自私矿工(S)挖出,要么由诚实矿工(H)挖出。
2.1. 序列表示
示例:序列 SSSHSHH 表示自私矿工挖出三个区块,然后诚实矿工挖出一个,接着自私矿工挖出一个,最后诚实矿工挖出两个。当自私矿工的领先优势减少时,周期结束,促使他们发布自己的分叉。
2.2. L的分布
设 $L$ 为每个攻击周期添加到官方区块链的区块数量。
定理 2.2: $P[L=1] = p$, $P[L=2] = pq + pq^2$, 且对于 $n \geq 3$, $P[L=n] = p q^2 (pq)^{n-2} C_{n-2}$ 其中 $C_n = \frac{(2n)!}{n!(n+1)!}$ 是第 $n$ 个卡特兰数。
证明概要: 对于 $n \geq 3$,事件 ${L=n}$ 对应于以 SS 开头、以 H 结尾的序列,并且中间部分在映射 S→"(" 和 H→")" 后,形成一个长度为 $2(n-2)$ 的Dyck词(一个平衡的括号字符串)。卡特兰数 $C_{n-2}$ 用于计数此类Dyck词。
3. 核心数学结果
3.1. L的期望值
推论 2.3: $E[L] = 1 + \frac{p^2 q}{p - q}$。
这源于卡特兰数已知的生成函数关系。
3.2. 表面算力公式
设 $Z$ 为攻击者每个周期添加到官方链的区块数量。长期表面算力为 $\tilde{q} = E[Z] / E[L]$。
定理 2.4: 比特币的表面算力为: $$\tilde{q}_B = \frac{[(p-q)(1+pq)+pq]q - (p-q)p^2q(1-\gamma)}{pq^2 + p - q}$$ 其中 $p$ 是诚实矿工的算力,$q$ 是攻击者的算力($p+q=1$, $q<1/2$),$\gamma$ 是在分叉期间在攻击者区块上挖矿的诚实矿工比例。
关键参数
- p: 诚实网络算力
- q: 攻击者算力($q < 0.5$)
- γ: 连接性参数($0 \leq \gamma \leq 1$)
- L: 每个周期添加到官方链的区块数
- Z: 每个周期攻击者贡献到官方链的区块数
4. 技术分析与框架
4.1. 数学框架
核心创新在于将攻击序列映射到Dyck路径(平衡括号字符串)。这便将自私挖矿与成熟的组合数学联系起来,简化了先前需要随机过程的概率计算。
关键公式: 对于 $n\geq3$,概率 $P[L=n]$ 与卡特兰数 $C_{n-2}$ 成正比,并按概率权重 $p$ 和 $q$ 进行缩放:$P[L=n] = p q^2 (pq)^{n-2} C_{n-2}$。
4.2. 分析框架示例
L=4 的案例分析:
- 序列必须以
SS开头并以H结尾。 - 中间两个位置必须形成一个长度为 2 的 Dyck 词?等等,仔细看:对于 L=4,n=4,所以 n-2=2。我们需要中间部分长度为 2*(2)=4 个字符的 Dyck 词?定理指出,对于 n≥3,P[L=n] 对应于形式为 w = SS X1...X_{2(n-2)} H 的序列,其中 X 部分形成一个长度为 2(n-2) 的 Dyck 词。对于 n=4,长度是 2*(4-2)=4。所以中间部分有 4 个字符形成一个 Dyck 词。示例:SS(SHSH)H?映射 S→(, H→)。中间部分 "SHSH" 变为 "()()",这是一个 Dyck 词。概率权重是 p^{#S} q^{#H} = p^3 q^3?让我们计算 w=SS S H S H H 中的 S 和 H:S 出现 4 次?实际上:SS S H S H H:位置:S,S,S,H,S,H,H。那是 4 个 S 和 3 个 H。所以是 p^4 q^3。公式给出 p q^2 (pq)^{2} C_2 = p q^2 * p^2 q^2 * 2 = 2 p^3 q^4。存在差异。PDF 中说 "w 中字母 'S'(或 'H')的数量是 n(或 n-1)。因此,我们得到 P[L=n] = p^{n-1} q^n C_{n-2}"。对于 n=4,即 p^3 q^4 C_2 = p^3 q^4 * 2 = 2 p^3 q^4。这与公式匹配。所以示例序列 SS S H S H H 有 4 个 S 和 3 个 H,即 p^4 q^3,而不是 p^3 q^4。因此,在 Dyck 词条件下,SS S H S H H 不是 L=4 的有效序列?它可能不平衡。让我们映射:S→(, H→)。SS S H S H H 变为 ((( ) ( ) )。这不平衡(三个开括号,两个闭括号)。因此,确实,有效的序列是那些 S 总数为 n 且 H 总数为 n-1,并且中间部分是 Dyck 词的序列。Dyck 条件强制了平衡性,从而导致了特定的计数。因此,该框架优雅地捕捉了有效的攻击路径。
该框架允许系统性的枚举和概率计算,而无需模拟马尔可夫链。
5. 结果与影响
推导出的 $\tilde{q}_B$ 公式量化了自私挖矿的盈利阈值。例如,当 $\gamma=0$ 时,攻击者需要 $q > \approx 0.25$ 才能盈利,低于朴素的 $q>0.5$ 假设。这突显了一个关键协议漏洞。
图表描述: 不同 $\gamma$ 值下 $\tilde{q}_B$ 与 $q$ 的关系图将显示:1) 当 $q$ 高于某个阈值时,$\tilde{q}_B > q$,表明有利可图。2) 更高的 $\gamma$(攻击者连接性更好)会降低盈利阈值并增加表面算力收益。
6. 行业分析师视角
核心见解: 本文的优雅之处在于它将一个复杂的、有状态的攻击简化为一个清晰的组合模型。它揭示了自私挖矿的盈利能力不仅关乎原始算力,更关乎攻击序列与规范组合对象(Dyck词)之间的结构性耦合。这不仅是一个数学技巧;它暴露了比特币协议的漏洞本质上是一个形式语言问题——其安全性取决于区块竞争中特定字符串模式的概率分布。
逻辑脉络: 作者首先将攻击周期框架化为一个字符串(S/H序列)。关键的一步是认识到成功的攻击(攻击者的所有区块都被接受)对应于本质上是由特定起始/结束符括起来的 Dyck 词的字符串。这使得他们能够直接利用卡特兰组合数学的强大工具进行计数和概率生成,绕过了为马尔可夫链求解平衡方程的需要。最终公式是通过连接 L 的期望值(通过卡特兰生成函数)和 Z 的期望值(考虑 L=1,2 等边界情况)推导出来的。
优势与不足:
优势: 证明非常简洁且易于理解。它揭开了自私挖矿收益公式的神秘面纱。与 Dyck 词的关联可以启发使用形式语言理论对其他区块链攻击(例如,平衡攻击、日食攻击)进行新的分析。它强化了跨学科方法(密码学 + 组合数学)的价值。
不足: 该模型假设了一个静态、持续存在且算力 q 恒定的攻击者。它没有捕捉到动态适应、矿工进入/退出或多个自私矿工的影响(一个潜在的寡头垄断问题)。$\gamma$ 参数过于简化;现实世界的网络拓扑和传播延迟更为复杂。正如后续研究(如 Gervais 等人,Financial Crypto 2016 的 "Optimal Selfish Mining Strategies in Bitcoin")所指出的,原始的自私挖矿策略并非总是最优的;存在更具适应性的策略。本文的贡献是基础性的,而非穷尽性的。
可操作的见解:
- 对于协议设计者: 根本原因在于“先见”规则和缓慢的区块传播。像 Gervais 的“新鲜度优先”或 Decker 和 Wattenhofer 的“紧凑区块中继”(已在 Bitcoin Core 中部署)等解决方案旨在减少 $\gamma$ 和传播差异。本文的公式提供了一个可量化的指标来测试此类修复措施。
- 对于矿池: 阈值计算($q$ ~0.25)是一条红线。接近此规模的矿池应受到审查。去中心化不仅是意识形态上的;它也是 $\tilde{q}$ 公式中的一个安全参数。
- 对于分析师: Dyck 词映射是一个强大的模板。寻找其他共识机制,其中参与者的行为产生可由形式语言类(正则、上下文无关)分析的序列。权益证明系统,由于其明确的投票序列,可能适合进行类似分析。
7. 未来应用与方向
1. 扩展攻击模型: Dyck 词框架可以进行调整,以分析顽固挖矿或尾随挖矿等变体,其中攻击者的发布策略有所不同。
2. 其他共识协议: 将类似的组合方法应用于权益证明(例如,以太坊的 Casper)或基于有向无环图的协议(例如,IOTA, Avalanche),可能对其抵抗扣留攻击的韧性产生新的见解。
3. 自动化安全验证: 可以开发工具,自动将共识协议的规则转换为形式语法,并检查是否存在类似于此处发现的 Dyck 结构的“有利可图的攻击语法”。
4. 网络动力学整合: 未来的工作可以将更现实的网络模型(例如,使用流行病模型进行区块传播)整合到组合概率权重中,超越简单的 $\gamma$ 参数。
8. 参考文献
- Eyal, I., & Sirer, E. G. (2014). Majority is not enough: Bitcoin mining is vulnerable. In Financial Cryptography and Data Security (pp. 436-454). Springer.
- Stanley, R. P. (2015). Catalan Numbers. Cambridge University Press.
- Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.
- Grunspan, C., & Pérez-Marco, R. (2018). On profitability of selfish mining. arXiv preprint arXiv:1805.08281.
- Gervais, A., Karame, G. O., Wüst, K., Glykantzis, V., Ritzdorf, H., & Capkun, S. (2016). On the security and performance of proof of work blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (pp. 3-16).
- Bitcoin Wiki. Difficulty. https://en.bitcoin.it/wiki/Difficulty.
- Decker, C., & Wattenhofer, R. (2013). Information propagation in the Bitcoin network. In IEEE P2P 2013 Proceedings (pp. 1-10). IEEE.