# 俄罗斯是否能够通过BTC自救？从BTC算力布局改变进行分析

By [Narutopapa](https://paragraph.com/@narutopapa) · 2022-03-27

---

俄罗斯应对美国的制裁，针对友好国家可以用bitcoin来支付俄罗斯的石油和天然气的出口。

**比特币基础原理**

*   由此可以提出一个有意思的问题，BTC网络是否真的能够抵抗暴力和资本行为对整个网络的控制，实现中本聪白皮书中的去中心化，成为一个去中心化的全球性的记账本，点对点版本的电子现金将允许在线支付从一方直接发送到另一方，无需通过金融机构。
    
    BTC网络采用以下关键技术：
    
    *   采用非对称加密技术进行公钥加密和私钥解密技术；同时用于数字签名、私钥签名以及公钥验签；
        
    *   网络时间戳timestamps，通过将交易信息hash到一个正在进行的基于hash的工作量证明链中，从而形成一个如果不重新进行工作量证明就不能更改的记录；
        
    *   最长的链共识方式，不仅可以证明所见证的事件序列，还可以证明它来自最大的CPU功率池。只要大部分CPU能力是由不协作攻击网络的节点控制的，它们就会产生最长的链，并超过攻击者；
        
    
    从BTC结构来看:可分为区块头（block head）和区块体（block body），区块体包含交易信息，区块头大约80 字节bytes，包含以下信息：
    
    *   该区块生成的根hash（root hash）：区块内每笔交易根据默克尔树路径生成的该区块的root hash。root hash保证了区块内所有交易的正确性，减少了验证区块内所有交易hash的计算量；
        
    *   Nonce: 计算随机数，与Hash对应，作为工作量证明结果，它的值由矿工调整，以便该块的哈希值将小于或等于当前网络的目标hash。即挖矿者为了修改头哈希值而改变的任意数字，并产生一个小于或等于网络设置的目标哈希值的哈希值；
        
    *   录这个区块生成的时间，每诞生一个新的区块，就会被盖上相应的时间戳，这样就能保证整条链上的区块都按照时间顺序进行排列，每个时间戳的哈希值都纳入了上一个时间戳，形成一条链，后面的时间戳进一步增强前一个时间戳；
        
    *   版本version：版本号表示要遵循哪一组共识规则The block version number indicates which set of consensus rules to follow；
        
    *   目标哈希值：该块的头哈希值必须小于或等于网络设置的目标哈希值；
        
    *   前区块地址（Pre hash）：前一区块生成的hash值，前值变化后后续区块hash会对应变化；
        

BTC采用经济博弈的方法设计了一套共识算法，保障整个网络的安全：

1.  认为大多数节点为诚实的节点且去中心化；
    
2.  给予诚实节点足够的激励，使得节点作恶得到的收益小于维护BTC网络的收益，即工作量证明和最长链共识；
    
3.  作恶者控制的少数节点数量（算力）远不如大多数节点（算力）；
    

基于以上非对称加密技术，实现对区块的监视，防止攻击者直接账户盗币（除非私钥泄露），网络节点设计不会接受无效的交易，并且诚实节点从来不会接受包含无效交易的区块。

BTC网络需要防止的是双花攻击（double-spending），即A将同一笔资金同时转账给B和C的问题（C可能是‘A，即A申请的另一个钱包地址）。假设A为攻击者，最多是只能尝试修改他自己其中的交易信息，来要回他刚刚花掉的钱。

在要实现A→B交易回滚，需要通过预先准备的计算区块加到A→C交易区块后使该链成为最长链（现实中一般增加6个区块交易即被确认）使A→B交易回滚。

BTC白皮书对这个问题有如下解释：

攻击者追上诚实链条的概率，如下

p等于一个诚实节点找到下一个区块的概率；q=攻击者找到下一个区块的概率，qz=攻击者在落后z个区块的情况下，追上诚实链条的概率为：

![](https://storage.googleapis.com/papyrus_images/a31ed483c4a5f46d9b85ac5fbf4bf2cf2ef64c5ecf9b02fdbf5c0b10b89ceeba.png)

假设p > q（所以要求大多数节点是诚实的），攻击成功的概率呈指数下降，随着攻击者必须追上的区块链的数量增加时。也就是说，随着区块链的不断延长，攻击者会落后的越来越多，他需要追的区块越来越多，他就越难追上。形势对攻击者不利，如果他不能幸运的快速超过，他落后越多，超过的机会就越来越渺茫。

收款人生成一个新密钥对并将公钥给付款人，这样付款人就无法提前对交易签名。这能防止付款人通过持续工作直到他足够幸运获得大幅领先的方式预先准备一条区块链，然后执行交易。一旦交易被发出，不诚实的付款人就开始秘密地在一条包含了他的替换版交易的平行链上工作。

收款人等到交易被加到区块中且其后追加了 z 个区块。他不知道攻击者确切的进度，但是假设诚实的区块按期望的平均时间生成，攻击者可能的进度将是一个泊松分布，其期望值为

![](https://storage.googleapis.com/papyrus_images/389cd9c8f01d1b691909fcfcd3b951d28ee3b202e01864e57234593694069296.png)

为计算攻击者现在仍然能赶上的概率，我们给每个他可能达到的进度的泊松密度乘以他在

那个进度能赶上诚实链的概率

![](https://storage.googleapis.com/papyrus_images/8af05e03fb23e91a2e3a930119af552dcadd9c254e04db2ace78defe599690e6.png)

我们可以看到概率随 z 呈指数下降。

我们可以看到，从数学角度来说，只要大多是节点是诚实的，BTC网络的安全性是可靠的。

但是随着挖矿行业的发展，节点算力变化出现，使得防止51%攻击出现隐患，主要原因如下：

1.  CPU→GPU→ASIC矿机的出现，节点的算力出现了飞跃，特别是ASIC矿机的出现，使得个人挖矿CPU和GPU挖矿节点无利可图，加上ASIC矿机高昂的价格，使得节点算力聚集；
    
2.  矿池（mining pool）的出现，使得部分分布式节点（即使散户购买了有限数量的ASIC矿机）得到稳定收益，但是也使这些节点需要遵循矿池的管理，也使得挖矿节点开始中心化；
    

上述两点原因导致出现了BTC在大资本下的算力霸权。

中国519禁令之前，在中国的矿池算力一度达到了整个网络算力的70%~80%，因此BTC的安全性一直备受质疑。

目前美国已经取代中国成为最大算力所在国家之一，由此俄罗斯期望通过BTC实现国际交易破冰的风险是否会大大增加需要拭目以待。

---

*Originally published on [Narutopapa](https://paragraph.com/@narutopapa/btc-btc)*
