只要五分钟,小学生也能搞懂比特币

这是一篇“小学生”都能看懂的区块链和比特币的科普文。

如果你刚接触区块链和比特币不久,想要了解它们到底是什么东东,但又看不懂那些深奥的白皮书和厚厚的教科书,那么这篇文章比较适合你。

本文的所有内容,围绕三个基本问题展开:是什么、为什么、怎样做。

限于个人认知水平,本文内容如有不准确之处,敬请批评指正。

1. 什么是区块链

顾名思义,区块链就是一个一个的区块(block)组成的链条。

简单来说,我们可以把一个区块想象成一个带锁的盒子,每个盒子都有自己的编号。所有盒子按照编号,从小到大用“绳子”挨个栓成一个链条。

这些区块是随机分布在世界各地的,相互之间都是平级关系,没有领导也没有下属。

区块里面记录了很多东西,但最重要的东西,是交易信息。类似于“A给了B一百元”,“B给A找零五十元”等这样的交易信息,就是它记录的主要内容。

2. 为什么要用区块链

我们生活中的交易和货币发行基本上是依赖于银行系统的,但现有的银行系统存在一些缺点:

1.很多关键数据都是集中存放的(中心化管理),容易被攻击和篡改,存在较大风险。

2.需要使用账户系统,存在易被篡改和盗用的风险。

3.货币发行主要由yanghang(zhengfu)决定,多年来的货币超发导致的通货膨胀对大众的财富进行了稀释。

4.很多无政府主义者想拥有更好的财富隐私性,想摆脱中心化的管理体系。

为此,一个名叫中本聪的人设计了一种新的基于区块链的数字现金系统,并取名叫比特币,为中心化管理带来的上述缺点带来了很好的解决方案。

首先,区块链是一个去中心化的分布式结构。没有谁的级别比谁更高,大家不用服从于某些个别的“权威”。反过来说,也没有谁能轻易凭一己之力左右整个区块链的运行状态。大家都是按照事先设计好的规则,各司其职,高度自治。由于数据都是分开存放的,所以被攻击和篡改的风险被大大降低。

而且,区块链中不使用账户系统,而是用另一种新的方式来保证交易的顺利进行,避免了账户系统的自身缺点。

此外,区块链货币系统中,对货币的发行机制进行了严格规定,不会出现随意超发货币的情况。某些区块链货币甚至是限量的,比如比特币就将总量限制在2100万个。

最后,区块链系统具备极强的隐私性,这也是现在黑客钟爱比特币的原因之一。

很多人把区块链等同于比特币,这种说法并不准确。区块链是一个统称,比特币只是区块链技术应用中的一个代表。这就好比钢琴是乐器的一种,但不能代表所有乐器一样。

3. 比特币系统是怎么工作的

因为不同的区块链货币的实现机制不同,本文只以比特币为例进行简要介绍。

首先,我们需要了解,比特币是怎么发行的。

比特币的发行也称为挖矿,挖矿的人又被称为矿工。

当上一个区块被创建出来后,就归某个矿工所有了。所有的矿工会立马转向去挖下一个区块,即采用自己拥有的算力去计算某个算术题。大家互相竞争,谁先算出来答案,新区块就给谁,系统也会给这个矿工一定数量的比特币作为奖励。

当然,这个算术题比较难,难度也是动态调整的,以保证区块的创建速度是平均每10分钟1个。

最初,每挖出一个区块,系统奖励矿工50个比特币。以后每4年进行减半,目前已减至每个区块12.5个。等到2100万个比特币发行完毕,也就不再产生新的区块了。

需要指出的是,比特币是可分的,它的最小单位是1聪=1亿分之1。也就是说,比特币可以被拆开了用,不用担心2100万个不够用的情况。

前面我们提到,区块中记录的主要是交易信息,那究竟是怎么记录的呢?

在比特币中,目前一个区块的大小被限定为1Mb。也就是说,一个区块能记录的交易信息是有限的。然而,整个比特币网络上进行的交易数量那么多,到底谁的记谁的不记呢?

每笔交易中,交易者都需要给矿工支付一定的交易费用(劳务费)。矿工会在新挖到的区块中记录尽量多的交易,并按照交易中给出的“交易费/交易信息”比例来排序。比例高的,先记录。

当一笔交易被新区块记录下之后,就算是被初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,系统就认为这笔交易被逆转篡改的可能性很小了,交易得以最终确认,即得到整个比特币系统的信任。

最后,比特币的所有权是如何确认的呢?

比特币本身是以一种特定的结构(UTXO)存储的。通过比特币地址,可以找到存储比特币的地方。

每个人可以拥有一个或多个比特币地址,每个比特币地址下可以存储数量不等的比特币。

在比特币交易中,比特币地址通常是以收款方的形式出现的。即如果有人要支付你一笔比特币,他可以通过你的比特币地址来进行支付。支付完成以后,这笔比特币就转到了你的名下。

也就是说,仅仅知道比特币地址,只能往里转入币。

那想要把币花出去(也就是进行交易),该怎么做呢?

这里要先介绍一下非对称密码的加密和解密原理。

在非对称密码中,每个人都拥有两把钥匙。一个叫公钥,是可以让其他人知道的。一个叫密钥,是只能自己知道的。

公钥和密钥是配对出现的。一个信息如果被A的公钥加密了,那只能用A的密钥来解开。反之亦然。

在比特币系统中,一个人的比特币地址是由他自己的公钥生成的。也就是说,可以根据某个人的公钥,通过计算来判断某个比特币地址是不是他的。

因为私钥是独有的,所以用私钥加密过的信息,又被称为签名(别人没有你的私钥,加密不出来和你一样的信息,也就相当于签不出和你一样的签名)。存储私钥的地方,又叫做比特币钱包。

现在,我们假设A要向B支付1比特币,则交易过程大致如下:

1.交易发起者A向整个比特币网络散发传单(进行广播),表示A要向B支付1个比特币。传单中包含了A的公钥、A的签名,以及A和B的比特币地址。

2.系统节点收到传单以后,先对A的公钥进行计算。若结果能和A的地址匹配上,则表明公钥和地址能对上号。

3.节点再用A的公钥去解A的签名。如果能解开,表明交易确实是A发起的,比特币地址也确实是A自己的。

4.节点会查询A的地址下有没有足够支付本次交易的比特币。如果足够,则将相应数量的比特币锁定在B的地址下。

5.B将自己的公钥和签名提供给节点。节点先对公钥进行计算,若结果与B的地址匹配,表明给出的公钥和地址能对上号。

6.节点用B的公钥去解B的签名。若能解开,表明收款方确实是B。B也就解锁了步骤4中锁定的比特币,对比特币进行接收和找零(如果需要),并将属于自己的比特币锁定到自己的地址下。

至此,我们介绍了比特币是怎么来的,交易是如何被记录的,以及交易过程是如何进行的。一个交易系统的主要功能,也就大致齐备了。

你可能感兴趣的:(只要五分钟,小学生也能搞懂比特币)