主页 > 下载imtoken钱包 > 从拜占庭将军问题开始,我们来谈谈比特币的能源消耗

从拜占庭将军问题开始,我们来谈谈比特币的能源消耗

下载imtoken钱包 2023-04-03 05:14:57

原创 | 点宽书院作者 | 秦立春

总字数4131字,推荐阅读时间11分钟。

2009年1月,比特币创世区块诞生。十多年后,比特币开始频繁出现在人们面前。人们对比特币的态度已经从犹豫和观望转变为意见相左。币上一次出现在人们的视野中,伴随着一个惊人的数据:比特币年用电量达到惊人的115.54twh,相当于三峡水电站年发电量. 供应100万人口的县城可以使用130年左右。在碳中和的大趋势中,比特币的能源消耗及其所谓的对环境有害的碳排放水平再次将其带到了最前沿。为什么比特币会产生如此大的能源消耗?要回答这个问题,就要从所谓的“挖矿机制”说起。

在比特币世界中,比特币网络通过“挖矿”产生新的比特币。所谓“挖矿”,本质上就是用计算机解决一个复杂的数学问题,以保证比特币网络分布式记账系统的一致性。比特币网络自动调整数学题的难度,使全网大约每10分钟得到一个合格的答案。然后比特币网络会产生新数量的比特币作为区块奖励,奖励给第一个得到答案的人。

作为一种预先约定总量(2100万)的虚拟货币,比特币目前已被挖出88%以上。为了保证比特币资源在短期内不会枯竭,比特币规定了奖励机制:比特币奖励采用二分法。在比特币诞生的早期,区块奖励是 50 个比特币。出生10分钟后,产生了第一批50个比特币,此时的总金额为50个。比特币随后以每10分钟50个左右的速度增长。当总量达到 1050 万(2100 万的 50%)时,区块奖励减半至 25,以此类推。今天,比特币区块奖励已从原来的 50 减少到 6.25。

随着奖励数量的减少,想要获得更多的比特币奖励,就需要增加“矿机”的数量,这对应着更高的能耗。

然而,“挖掘机”数量的增加,实际上只是能源消耗问题的表象。造成这种情况的最深层原因需要回归到挖矿机制的本质——基于算力竞争提出的“工作量证明”。要弄清楚什么是“工作量证明”,我们需要回到比特币之前,研究一个在信息传播领域困扰计算机科学家数十年的问题:拜占庭将军问题。

所谓拜占庭帝国问题,是计算机科学家 Leslie Lambert 在研究分布式系统容错时虚构的背景故事。,为了抵御外敌的入侵,各个单位相距甚远,将军们只能依靠使者传递信息。战争发生时,只有过半数的将领达成共识,才能赢得战争。但是每个单位都可能有叛徒或间谍,他们可能会背叛将军或篡改信息,发送虚假信息以混淆其他将军的判断。当帝国下令攻陷邻国,具体时间由将军们自己商定,得知有成员造反时,将军们面临的问题是如何在不受叛徒影响的情况下达成多数共识。这就是拜占庭将军问题。

拜占庭将军问题其实是想解释人们在互联网背景下需要与不熟悉的主体进行价值交换时,如何采取措施避免被故意的人欺骗和混淆,做出错误的决定。也就是说,在没有可信中心服务器和可信通道的情况下,每个节点应该如何达成共识。综上所述,拜占庭帝国问题想要解决的是互联网交易合作过程中的四个核心问题:

1、信息发送的身份溯源;

2、信息隐私;

3、不可伪造的签名;

4、发送消息的规则。

区块链的出现为这四个核心问题提供了解决方案。在中本聪提出的比特币概念中,加密技术的使用解决了四个核心问题中的前三个,即信息传输的身份可追溯性、信息的隐私性和不可伪造的签名。基于散列算法的“工作量证明”是我们在文章开头提出的比特币能源消耗问题的根本原因,它为信息的发送设定了规则。两者共同促成了拜占庭将军问题的解决。

我们先从区块链采用的加密技术说起。密码系统中有各种分类。但基本上可以分为两类:对称加密系统和非对称加密系统。其中,对称加密算法应用较早,技术成熟。在对称加密算法中,数据的发送方将明文(原始数据)和加密密钥连同特殊的加密算法一起处理,变成复杂的加密密文并发送出去。接收者收到密文后,若想解读原文,需要用加密时使用的密钥和同种算法的逆算法对密文进行解密,恢复为可读明文。在对称加密算法中,

非对称加密算法使用两对完全不同但完美匹配的密钥——公钥和私钥。使用非对称加密算法对文件进行加密时,只有使用一对匹配的公私钥对才能完成明文的加解密过程。公钥用于加密明文,私钥用于解密密文。

与对称加密算法相比,非对称加密算法耗时长、速度慢,仅适用于对少量数据进行加密。但在安全性方面,非对称加密算法具有对称加密算法无法比拟的优势。具体来说,对称加密算法在加解密过程中使用相同的密钥,这就要求加密方将密钥发送给解密方时,必须有一个不受监控的独立安全通信通道。而且,当信息要发送给多个解密方时,加密方必须反复用不同的密钥值对信息进行加密,然后分别将密钥发送给解密方。

在非对称加密算法中,加密者首先用自己的私钥对信息进行签名,解密者将自己的公钥发送给加密者后,加密者使用解密者的公钥对文档进行加密。由于任何用解密者的公钥加密的信息都只能用解密者的私钥来解密,即使解密者的公钥被别人知道,信息也不会泄露,所以可以通过非安全通道发送公钥. 解密方收到信息后,用自己的私钥对信息进行解密,同时用加密方的公钥验证加密方的签名。

比特币采用非对称加密算法。该算法解决了在加解密过程中通过加密方的私钥签名发送的信息的身份溯源问题。加解密过程解决了发送信息的隐私问题。密钥解决了不可伪造的签名问题,这是拜占庭将军问题的四个核心问题中的前三个。

现在还有最后一个问题——发送信息的规则,即每个节点在通信过程中如何确定发送信息的规则,以保证在信息传播过程中能够达成共识。

区块链解决这个问题所采用的方案是在发送信息时增加了成本,这样在某个时间只有一个将军可以广播信息,忠诚的将军看到信息就会做出决定,不会发布新的信息. 信息作为传播信息的规则。这里添加的成本就是我们在文章开头提到的比特币能耗问题的根本原因——基于随机哈希算法的“工作量证明”。

首先,让我们了解什么是哈希算法。

哈希也称为哈希。哈希算法主要用于将任意长度的输入转换为固定长度的输出。这个输出值称为哈希值。它体现了一种数据压缩映射关系,简单来说就是将任意长度的消息压缩成固定长度的消息摘要。

例如:

哈希算法虽然被称为算法,但实际上更像是一种思想,因为它没有固定的公式,只要算法符合哈希思想,就可以称为哈希算法。它具有以下四个特点:

1、快进:给定明文和哈希算法,在有限的时间和资源内计算哈希值,相同输入的输出结果一致,高效。

2、不可逆性:给定任意哈希值,在有限时间内很难推导出明文,即无法从已知输出推导出输入。

3、输入敏感:如果输入的数据信息稍有修改,输出的哈希值也会发生显着变化。

4、抗碰撞:不同的输入数据几乎不可能输出相同的哈希值。如果给一个数据块去寻找具有相同哈希值的数据块,几乎是不可能的。

哈希算法的特点使其成为区块链记账过程中常用的方法。区块链首先将账户页面信息(包括流水号、记账时间、交易记录)作为原始信息进行Hash,得到一个Hash值。账户页面信息和哈希值组合在一起形成第一个区块。在记录第二个账户页面时,哈希函数会将前一个区块的哈希值与当前账户页面信息一起作为原始信息进行哈希处理,这样第二个区块不仅包含了账户页面信息,还间接包含了该信息的第一个块。依次按此方法继续记账,并将它们组合起来形成区块链,

简单了解了哈希算法之后,我们再来谈谈“工作量证明”。

比特币的本质是对记账行为的奖励。节点的每一次成功记账行为都可以获得一定数量的比特币(现在6.25)。为了限制比特币的规模,比特币采用了一些规则来限制记账:

1、在一段时间内(约10分钟),只有一个人可以成功预订账户。

2、独特的记账能力是通过解决密码学问题(即工作量证明)的算力竞争获得的(区块链只接受前几位为0的哈希值,其他哈希值无效)。

3、其他节点可以自由复制记账结果。

这三个规则中的第二个是前面提到的工作量证明。一个哈希值是一串数字和大小写字母,每一种都有62种可能性(可能是26个大写字母,26个小写字母,10个数字中的任意一个),假设任何一个字符出现的概率相等,那么概率第一位是 0 是 1/62。理论上需要62次哈希运算才能得到这个哈希值,而区块链要求前几位必须为零,0的位必须为零。随着计算能力的增加,这个数字也会增加。

以#493050区块为例,该区块的前18位为0,也就是说理论上需要62的18次方来计算hash值。这么大的计算量,保证了十分钟左右的记账。间隔也保证了信息传输规则的执行。

拜占庭将军问题的最后一个核心问题解决了,也意味着拜占庭将军问题完全解决了。

然而,当区块链通过“工作量证明”解决拜占庭将军问题时,又出现了一个新问题,这就是我们文章开头提到的能源消耗问题。哈希值计算过程中如此大的计算量,势必需要大量的计算设备、电力等投入比特币的基础技术是大数据,对应的能源消耗过多。同时,国内用电成本低,相对效益较高,也导致比特币的能源消耗问题在中国尤为突出。

即使在碳中和的背景下,只要比特币的价格保持高位且有利可图,管理能源消耗也不是一件现实的事情。而随着下一个总量“中点”的到来,以及算力的提升,这个能耗只会越来越大。“偷电挖矿”的消息不断,在起到一定警示作用的同时,似乎也预示着在一段时间内彻底停止比特币交易的尝试可能无法达到预期的效果。

参考:

[1] 张浪,区块链+商业模式创新及全行业应用实例,中国经济出版社比特币的基础技术是大数据,2019.01,7-8页

[2]韩部伟,区块链重塑经济的力量,中国铁道出版社,2016.12,111-113页

[3] 密码学的哈希算法(来源:csdn)