中文

强化Stratum:比特币矿池挖矿协议

密码学与安全 2017-03-21 v1 计算机与社会

摘要

Stratum是基于区块链的加密货币系统所使用的事实标准挖矿通信协议,使矿工能够可靠且高效地从矿池服务器获取任务。本文利用Stratum缺乏加密的特点,开发了针对比特币挖矿协议的被动和主动攻击,这对矿机所有者的隐私、安全甚至人身安全有重要影响。我们引入了StraTap和ISP日志攻击,若能访问矿工通信甚至其日志,即可推断矿工收益。我们开发了BiteCoin,一种劫持矿工提交的份额及其相关收益的主动攻击。我们在WireGhost上构建了BiteCoin,WireGhost是我们开发的用于劫持并隐蔽维持Stratum连接的工具。我们的攻击揭示,通过普遍加密来保护Stratum不仅不可取(因开销大),而且无效:攻击者仅凭数据包时间戳就能预测矿工收益。相反,我们设计了Bedrock,一种极简的Stratum扩展,保护挖矿参与者的隐私和安全。我们引入并利用了挖矿Cookie概念,即每个矿工与矿池共享的一个秘密,并将其包含在谜题计算中,从而防止攻击者重构或劫持谜题。我们实现了这些攻击,并从美国和委内瑞拉的矿机收集了138MB的Stratum协议流量。我们证明了即使攻击者破解了Bedrock使用的加密构造,Bedrock仍能抵御主动攻击。Bedrock给处理16,000个矿工挖矿流量的单个矿池服务器带来每天12.03秒的开销。

关键词

引用

@article{arxiv.1703.06545,
  title  = {Hardening Stratum, the Bitcoin Pool Mining Protocol},
  author = {Ruben Recabarren and Bogdan Carbunar},
  journal= {arXiv preprint arXiv:1703.06545},
  year   = {2017}
}

备注

18 pages, 17 figures, to appear in PETS 2017, issue 3