文章目录
  1. 1. 第0章 引言
  2. 2. 第1章 去中心化
  3. 3. 第2章 不可篡改
  4. 4. 第3章 不可伪造
  5. 5. 第4章 结束语
  6. 6. 第5章 小问题

第0章 引言

我们经常看到各大媒体争相报道比特币以及区块链具有去中心化、不可篡改、不可伪造等等这样的一些特点。
那么比特币和区块链的去中心化、不可篡改和不可伪造,这几个特点到底是依赖什么样的技术去实现的呢?本篇文章就来介绍这些特点背后的技术。

第1章 去中心化

首先来说一说作为比特币和区块链最重要的特性之一,去中心化是依靠什么技术实现的?

我们都知道中心化是需要一个类似于银行的中心机构去验证交易的,而去中心化则是没有一个固定中心去验证交易的真伪。去中心化本质上是让所有的节点都能够验证这些交易的真伪,但它是靠什么来去验证的呢?

中本聪在这里用了非对称加密技术,非对称加密技术是指 加密和解密的时候使用不同的密钥的一种加密算法。如果加密和解密时使用相同的密钥,我们称作对称加密。对称加密不安全的地方在于大家使用的密钥如果相同,这个密钥就不安全了,很容易泄露给更多的人。

关于非对称加密,举例来说就是A要向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥。

私钥就好比是一把私有的钥匙,只有这把钥匙的拥有者才能使用,私钥是用来加密的。

公钥就好比是一把公开的钥匙,可以告诉需要的人,它是用来解密的。

在这个过程中A的私钥保密(由A自己持有),A的公钥可以告诉B,B的私钥保密,B的公钥可以告诉A。A要给B发送信息的时候,A用B的公钥加密信息。B收到消息后,B用B的私钥来解密信息,其他所有收到这个消息的信息的人都无法解密,因为只有B才拥有这把私钥。
这个听上去有点复杂,其实简单的说就是公钥和私钥在非对称加密机制里是成对存在的。

公钥和私钥可以相互去验证对方,在比特币的世界里面,可以把地址理解为公钥(虽然稍有区别),可以把签名输密码的过程 理解为用自己的私钥进行签名。
每个矿工在拿到一笔转账交易的时候,都可以去验证这个公钥和私钥到底是不是匹配的,如果它们是匹配的,那么这笔交易就是合法的。
这样每一个人只需要管好他自己的私钥,知道自己的比特币地址和对方的比特币地址,就能够安全的将比特币进行转账,不需要一个中心化的机构来去验证对方发送的比特币是不是真的。
不仅非对称加密技术保证了比特币的去中心化的特点,此外还有分布式存储技术,也同样保证了比特币的去中心化。

第2章 不可篡改

我们再来看看为什么说比特币的区块链账本是无法篡改的。
这里所说的篡改是指网络中为了弄虚作假而对账本进行恶意的修改。这一点有由比特币的工作量证明机制最长链机制来保驾护航。
之前的文章提到的比特币的共识机制是工作量证明机制,这个共识是一种对在对差不多时间内发生的事物和先后顺序达成共识的一种算法,

工作量证明简单的理解就是一份证明,用来确认你做过一定工作量的工作,
检测工作的整个过程通常是效率非常低的,而通过对工作的结果进行认证,来证明你完成一定工作量的工作,就是一种非常高效的方式。
比如现实生活中的毕业证、驾驶证等,也是通过检验你完成了一定知识的学习,或者驾驶过一定时间的汽车去证明你的这个技能的。也就是说通过这个结果来证明你曾经做过这件事,曾经耗费过这样的工作量。

工作量证明的特点:对于执行的一方来说难度适中,对于验证的一方来说,结果非常容易验证。
矿工们进行哈希运算的时候,你可以理解为是一种数学的游戏,获取正确的答案就会获得记账的权利。其他的节点经过非常简单的验证之后,就可以同意去记账,并同步它的账本,打上时间戳,紧接着就赶紧进行下一轮算力竞赛。

如果这个时候有人想把某个区块高度上的某个交易信息进行修改,他需要做什么呢?

他需要从这个区块链开始,把之前的所有的区块链都重新计算一遍,把账本再同步给他人。而他在进行计算的同时,其他的矿工已经在原有的那条区块链上继续往下进行计算了。
因为在比特币的网络里面,大家都认为最长的那条链才是正确的链,所以这个恶意篡改的人需要在很短的时间内赶上现有区块的高度,让自己的这条区块链成为最长的链,让其他的矿工误以为这是一个正确的账本。

除非这个恶意串改的人拥有非常大的算力(至少超过50%),否则他基本上没有可能进行这样的篡改。
我们来算一比账,现在全网算力大约8亿 哈希/每秒,也就是大概每秒进行8*10的18次方次 哈希计算。现在市场上流行的主流矿机,大概每一台的算力是10T左右,如果你想拥有全网51%的算力,你至少需要 40万台最新的矿机,每个矿机如果按照1万元计算的话,光是设备这一块的投入大概是40亿元人民币。
况且最新的矿机的生产还赶不上销售,经常处于买不到现货的状态,加上老矿机的不断被淘汰,算力得不断的上涨,购置设备的速度很难赶上算力上涨的速度,从投资回报角度来说,这项投资的成本至少需要40亿人民币。
如果不是为了六七十亿以上的利益,并且有非常雄厚的经济实力和技术实力做支撑,一般的人不会有这个动力去进行算力攻击。
从网络的大环境上来看,由于去中心化的存在,整个网络也会非常警惕这种现象的发生,曾经在历史上出现过有一个矿池的算力接近50%,后来大家就逐渐把自己的算力去连接到其他的矿池之上。
其实从经济学的角度来说,这种51%的攻击其实也是非常不科学的。我们试想下当51%算力攻击发生的时候,比特币的区块将得到篡改,比特币的价格将会变得一文不值,通过篡改获得的利益也会受到了极大的损失。
可见篡改比特币的账本,简直是比登天还要难,同时也无利可图。

第3章 不可伪造

为什么比特币不可以伪造呢?

我发给你0.1枚比特币,为什么你相信这0.1枚的比特币不是我自己伪造出来,而是真的比特币呢?或者你怎么相信我没有把这0.1个比特币同时转给了两个人或者三个人?

这和比特币的UTXO结构有关系,所谓UTXO就是Unspent Transaction Output,具体的意思就是未花费的交易输出,它是比特币交易生成及验证的一个核心的概念。

我给你举一个非常熟悉的例子,你就知道这个UTXO是什么东西了?

假设我要给你20元钱,这20元钱由1张十元和2张五元的纸钞组成。其中2张五元的钞票是来自水果店老板给我的找零,另一张十块钱的钞票是来自加油站给我的找零。拿到这3张钞票之后,我必须还没有花出去,然后我才能给你,这个就叫做未花费的交易输出。

水果店老板的这2张五元钞票是怎么来的呢?
它也是来自于其他人,加油站的这1张十元钞票,也可能来自其他人,这样这些钞票就可以顺藤摸瓜去追溯到最初发行的那一刻。是哪家印钞公司根据央行的披准发行出来的,又首先给了哪家银行,最后流通到市场上,由此去验证这3张钞票都是真的,

比特币的UTXO也是这样的结构。在比特币的世界里面,每一笔转账都可以追溯到最初的源头,我们每一笔付款都可以追溯到上一笔收款。我给你的0.1个比特币,必须是别人给我的,而且是我还没有进行花费的比特币,然后可以一直往上追溯到它诞生时候矿工挖出来的那个区块,这个机制就保证了比特币是不可伪造,不可以被重复支付的。重复支付在里面叫双花,就花了两次,在比特币之前一直没有数字资产能够完美的解决双花的这个问题,而中本聪运用上述机制解决了这个信任问题,使得比特币能够被广泛的应用,

第4章 结束语

我们通常讲知其然也要知其所以然,虽然你可能不懂技术,但是我希望通过本文,你能够了解比特币以及区块链的去中心化,不可篡改不可伪造这几个特点的技术来源。

非对称加密和分布式存储,确保了比特币的去中心化。工作量证明共识机制和最长链机制,保证了比特币不可篡改的特性。UTXO的结构可以追溯到每一枚比特币的前世今生,造就了比特币不可伪造的这种特性。

第5章 小问题

一个小的思考题:结合比特币的出块时间,在什么样的情况下,一个人能够把比特币双花成功呢?双花的结果又会怎样?

文章目录
  1. 1. 第0章 引言
  2. 2. 第1章 去中心化
  3. 3. 第2章 不可篡改
  4. 4. 第3章 不可伪造
  5. 5. 第4章 结束语
  6. 6. 第5章 小问题