从数学角度深入论证比特币分布式账本面对双花攻击的安全问题,核心是诚实节点和恶意节点在挖矿中的竞争。
撰文:邹传伟,万向区块链首席科学家
中本聪在比特币白皮书技术部分讨论了比特币分布式账本面对双花攻击的安全问题,核心是诚实节点和恶意节点在挖矿中的竞争。这部分内容非常重要,但中本聪的表述非常简略,省去了关键论证过程。区块链行业中有专家对这部分内容做了说明,但都存在一些疏漏之处。本文在前人工作的基础上,试图给出一个严谨解析。
比特币挖矿的数学过程
比特币挖矿的本质上通过不断运行哈希计算,以找出一个符合要求的Nonce,使其前若干位等于0。如果将Nonce视为一个十六进制小数,那么其可以视为一个在0和1之间均匀分布的随机变量,合格Nonce需小于α。α由比特币算法根据全网算力调整。
用Η表示全网算力,含义是每秒可运行哈希计算的次数。用随机变量τ表示找到合格Nonce的时点,τ是概率论上的停时概念。因为不同次哈希计算的结果相互独立,所以对任意t>0,
因此,随机变量τ的累积概率分布函数等于
(1)表示参数为-ln(1-α)Η的指数分布。根据指数分布的性质,找到一个合格区块的平均时间为
用T表示平均出块时间。那么,存在如下关系
(2)就是比特币的难度系数调整机制。
诚实节点与恶意节点之间的挖矿竞争
假设全网算力H不变,诚实节点与恶意节点的算力分别为Hg和Hb,H=HgHb。它们找到合格区块的时间分别为τg和τb。根据前文的分析,和均服从指数分布,参数分别是
诚实节点先找到合格区块的概率是
同理,恶意节点先找到合规区块的概率是
(3)和(4)说明,先找到合规区块的概率与算力成正比。
恶意节点从落后追赶诚实节点的问题
假设全网算力H、诚实节点的算力Hg和恶意节点的算力Hb均保持不变。假设恶意节点落后诚实节点个区块,接下来考虑恶意节点赶上诚实节点的概率。站在恶意节点的角度,引入如下计数函数
其中,-z表示初始时恶意节点落后诚实节点z个区块。Ii(τb<τg)表示第i个合格区块是否由恶意节点生成。若是,则L(n)增加1;否则,L(n)减少1。换言之,L(n)刻画了在n个区块后,恶意节点领先于诚实节点的区块数量。
恶意节点与诚实节点之间开展的是「最长链竞争」。用qz表示恶意节点赶上诚实节点的概率,数学表述是:
(6)的含义是,恶意节点从落后z个区块出发,能超越诚实节点1个区块的概率。
考虑第1个区块的情况。如果这个区块由恶意节点生成,则恶意节点领先于诚实节点的区块数量变为-z1,此情形的概率为Pr(τb<τg)=q;反之,这个区块由诚实节点生成,恶意节点领先于诚实节点的区块数量变为-z-1,此情形的概率为Pr(τb>τg)=p。因此,
另外,q-1=1。但仅凭(7)和这个边界条件不足以求解,需要将这个问题转换为「徒破产」问题。
假设恶意节点在落后诚实节点N个区块后放弃追赶,恶意节点在超越诚实节点1个区块后赢得「最长链竞争」。这两种情况都对应着「最长链竞争」停止,表示成「徒破产」问题是:
其中,τc也是概率论上的停时概念,L(τc)=-1表示恶意节点赢得「最长链竞争」,L(τc)=-N表示恶意节点退出「最长链竞争」。此时,(6)等价于
(7)仍然成立,但有两个边界条件:
(7)可以等价表述为,
也就是
迭代可知,
将上述迭代结果累加起来可得,
(12)
考虑边界条件(10),存在两种情况。
第一,q>p。因为q/p>1,所以
第二,q
p=q=0.5
在上述求解过程中,N->∞的含义是恶意节点为了赢得「最长链竞争」可以容忍任何大的成本。这当然是一个过于理想化的假设,只考虑了恶意节点从落后追赶诚实节点在技术上的可行性。实际上,恶意节点会衡量追赶的成本和收益,在很多情况下成本超过收益,说明追赶即使在技术上可行,在经济学上不可行。这会为比特币分布式账本带来安全保障。
这就对应着比特币白皮书第6页给出的如下公式。需要说明的是,比特币白皮书讨论的是恶意节点从落后追平诚实节点的概率,而(15)给出的是恶意节点至少超过诚实节点1个区块的概率。
分布式账本面对双花攻击的安全性
这是比特币白皮书重点讨论的问题。此问题的关键是泊松过程与指数分布之间的关系。如果从任意时点开始统计区块生成数量,由此得到的计数过程就是泊松分布:
任意两个不重叠的时间段内区块生成数量是互相独立的随机变量;在任意长度为的时间段内,区块生成数量服从泊松分布
换言之,在相邻两个区块之间的时间间隔服从参数为-ln(1-α)H的指数分布时,与其对应的计数过程服从参数为-ln(1-α)H的泊松过程。
在双花攻击中,假设交易发起者等待了z个区块。这些区块由诚实节点生成,对应的时间等于
假设恶意节点在这个时间段内在私下生成区块,累计生成区块生成数量Z服从泊松分布,参数等于
这对应着比特币白皮书第7页的如下公式:
根据泊松分布的定义,
在时0<=Z<=z,恶意节点落后的区块数为z-Z;在Z>=z1时,恶意节点已完成双花攻击。因此,恶意节点双花成功的概率等于(只讨论q
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
比特币
比特币
比特币Bitcoin,一种去中心化、非普遍全球可支付的加密数字货币,而多数国家则认为比特币属于虚拟商品,并非货币。比特币的概念,诞生于2008年署名为中本聪的一篇论文,并于2009年1月3日,基于无国界的对等网络,用共识主动性开源软件发明创立。比特币协议数量上限为2100万枚,以避免通货膨胀问题。使用比特币是通过私钥作为数字签名,允许个人直接支付给他人,不需经过如银行、清算中心、证券商等第三方机构,从而避免了高手续费、繁琐流程以及受监管性的问题,任何用户只要拥有可连接互联网的数字设备皆可使用。比特币BTCBitcoin查看更多
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。