2.1 凡事都要记在小本本上

什么是区块链呢?

从应用视角来看,区块链链(blockchain)是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。

用地球村的第一个故事举例:

互联网是一个地球村。以前村民交易,都会找老村长作保。老村长受到全村人的信任,成为买家和卖家的唯一中心,这是中心化

现在村民A想买村民B的牛,付款1 000元。这条付款记录会全村广播,不但A和B,其他村民C、D、E、F、G……也都会记在小本本上:某时某分A付给B 1 000元。这样B不可能赖账,因为其他人的小本本上记得清清楚楚,虚假的小本本会被踢出去。同样,B将牛交给A后,也会广播出来,大家再如实记在各自的小本本上。其他交易也是如此,全民监督,不再需要老村长作保,这叫去中心化

大家都有内容差不多的小本本,为了保证每个小本本的内容完全一致,会在每个时间节点挑出记得最快、质量最好的那个人,比如前10分钟记得最好的是A,当前10分钟记得最好的是B……后10分钟记得最好的是C。不同时间节点的A、B、C手中的小本本就是“区块”,收缴起来给每个区块盖上“时间戳”,根据时间节点“”在一起,组成了大一些的小本本。再复制、分发给所有人,这样所有小本本实现了完全一致。所有人都有小本本在记账,任何一个人的小本本丢失都不会影响,可以说非常安全和稳定了。区块链的节点与账本示意如图2-1所示。大致原理如此,但具体实现相对复杂,很多细节需要技术重构。

图2-1 区块链的节点与账本示意图

总之,区块链以实现去中心化为目的,集合了分布式账本、密码学、共识机制及智能合约等多种计算机技术。具体内容如下。

(1)区块链是一个存放在非安全环境中的分布式数据库(系统),利用分布式账本技术解决存储问题。

每个区块就是一个数据块,包含三个要素:本区块ID、若干交易记录单、前一个区块ID。区块链增加一个区块,就如同账本多了一页,区块可以无限增加。

(2)区块链采用密码学的方法来保障信息安全。

区块链的核心技术是哈希算法、Merkle树、公钥密码算法。其中哈希算法是在一个信息后面放上该信息的哈希值,保证不可被篡改;而公钥密码算法中的非对称加密好比你公开了一个邮箱地址,所有人都能给你的邮箱发信息,但只有你能读信息内容。

每个区块都被加密并盖上时间戳,一个个区块按时间戳顺序链接,区块链运行时间越久,篡改难度越大。

(3)区块链采用共识算法对新增数据达成共识,解决信任问题。

(4)区块链采用智能合约技术实现一些应用。

通过智能合约技术,一方面,可以有效规避数据都由中心化机构保存所带来的风险;另一方面,也可以解决中心化机构权力过大而带来的监管难题。

当然,存在一种极端情况,村民A非常强大,抢了大多数人的小本本,记上A借给B 10 000元。根据“少数服从多数”的原则,B即使没有欠A的,也必须按照小本本的记录来偿还,这叫“51%攻击”。“51%攻击”是区块链里一个很有名的概念,理论上存在,但在真实世界里很难发生,因为这意味着至少要控制全球51%的算力。面对分布于全球的计算机节点,同时还要考虑经济、政治等其他因素。

区块链的意义在于去除了信任,实现了价值传递,为元宇宙的实现奠定了基础。同时,区块链也传递了一种思想:所有人在这样一个世界里开诚布公、互相监督、消灭欺诈和作弊。