讲一下原理,区块链如何运作

07-01Ctrl+D 收藏本站

关灯 直达底部

区块链的核心概念

在讲解区块链的工作原理之前,我们先将区块链中涉及的几个核心概念做一个简单的阐述。

一、区块

区块作为区块链的基本结构单元,由包含元数据的区块头和包含交易数据的区块主体构成。

区块头包含三组元数据:

1. 用于连接前面的区块、索引自父区块哈希值的数据;

2. 挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳;

3. 能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。

图2–17 区块头的结构

区块链系统大约每10分钟会创建一个区块,其中包含了这段时间里全网范围内发生的所有交易。每个区块中也包含了前一个区块的ID(识别码),这使得每个区块都能找到其前一个节点,这样一直倒推就形成了一条完整的交易链条。从诞生之初到运行至今,全网随之形成了一条唯一的主区块链。[3]

二、哈希算法

哈希算法是区块链中保证交易信息不被篡改的单向密码机制。哈希算法接收一段明文后,以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。

它有两个特点:

1. 加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;

2. 输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。

图2–18 哈希算法的两个特点

在区块链中,通常使用SHA–256(安全散列算法)进行区块加密,这种算法的输入长度为256位,输出的是一串长度为32字节的随机散列数据。[4]区块链通过哈希算法对一个交易区块中的交易信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确地标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。

图2–19 区块链中的哈希算法

三、公钥和私钥

在区块链的话题中,我们还经常听到这样的词汇——公钥和私钥。这就是俗称的不对称加密方式,是对以前的对称加密方式(使用用户名与密码)的提高。

我们用电子邮件加密的模型来简单介绍一下:公钥就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章的。私钥就是自己的,必须非常小心保存,最好加上密码,私钥用来解密/签章,私钥由个人拥有。[5]

在比特币的系统中,私钥本质上是32个字节组成的数组,公钥和地址的生成都依赖私钥,有了私钥就能生成公钥和地址,就能够花费对应地址上面的比特币。私钥花费比特币的方式就是对这个私钥所对应的未花费的交易进行签名。

图2–20 区块链中的公钥和私钥

在区块链中,使用公钥和私钥来标识身份,我们假设区块链中有两个人,分别为小白和小黑,小白想向小黑证明自己是真实的小白,那么小白只需要使用私钥对文件进行签名并发送给小黑,小黑使用小白的公钥对文件进行签名验证,如果验证成功,那么就证明这个文件一定是小白用私钥加密过的。由于小白的私钥只有小白才能持有,那么,就可以验证小白确实是小白。

在区块链系统中,公钥和私钥还可以保证分布式网络点对点信息传递的安全。在区块链信息传递中,信息传递双方的公钥和私钥的加密与解密往往是不成对出现的。

图2–21使用公钥和私钥完成一笔交易

信息发送者:用私钥对信息进行签名,使用信息接收方的公钥对信息加密。

信息接收方:用信息发送者的公钥验证信息发送者的身份,使用私钥对加密信息解密。

四、时间戳

区块链中的时间戳从区块生成的一刻起就存在于区块之中,它对应的是每一次交易记录的认证,证明交易记录的真实性。

时间戳是直接写在区块链中的,而区块链中已经生成的区块不可篡改,因为一旦篡改,生成的哈希值就会变化,从而变成一个无效的数据。每一个时间戳会将前一个时间戳也纳入其随机哈希值中,这一过程不断重复,依次相连,最后会生成一个完整的链条。

图2–22 区块链中的时间戳

五、Merkle树结构

区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle树的叶子节点存储的是数据信息的哈希值,非叶子的节点存储的是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。[6]

同样地,区块中任意一个数据的变更都会导致Merkle树结构发生变化,在交易信息验证比对的过程中,Merkle树结构能够大大减少数据的计算量,毕竟,我们只需验证Merkle树结构生成的统一哈希值就可以了。

图2–23 区块链中的Merkle树结构

从比特币病毒谈起

前文我们说到了区块链中的几个核心概念和定义,那么,区块链究竟是如何运行的呢?要解决这个问题,我们就不得不先从比特币开始聊起。说起比特币,许多人的第一反应就是比特币病毒。下面我们就从比特币病毒这一事件引入,聊一聊比特币究竟是什么,有哪些特性。

叙述一下全世界都知道的事

还记得被比特币支配的恐惧吗?

那一天,早上醒来,你发现屏幕上弹出一个丑陋的红框框。

你异常激动,终于不用写论文了。

图2–24 比特币病毒入侵

2017年5月12日,网上发生了一件微小的事情,众多学校、医院的文档都陆续被一个叫“永恒之蓝”(WannaCry)的勒索蠕虫病毒锁住了:想看资料,可以;交钱,也不需要太多,300个比特币就行。有人一看瞬间觉得,只用300个,这么少。其实,一个比特币的价格在中国差不多等于一万元,这还是因为中国的比特币平台正处于监管期不能提现,国外的价格就更高了。当然,对于个人用户来说,是不需要给这么多钱的,毕竟并不是谁都有300多万元的。

图2–25需要比特币赎金才能解锁

黑客想让大家用比特币支付,不过这事本身和比特币还真没什么太大关系。比特币就是一种币,本来安静地在旁边躺着,早上醒来却发现自己上头条了。截至2017年5月16日,已经有150多个国家的30多万用户受到“迫害”了,而且,有消息显示,“永恒之蓝”病毒已经升级为2.0版本了,新版本病毒不受域名限制,传播性更高。

图2–26“永恒之蓝”

那么,这个比特币病毒究竟是什么东西呢?它可以被视为由两种东西混合开发出来的神奇病毒——加密算法勒索病毒和“永恒之蓝”黑客工具。“永恒之蓝”黑客工具负责开道,不需要点击直接入侵别人的电脑,然后加密算法勒索病毒垫后,对你的文件加密之后再进行勒索。

比特币病毒从何而来

加密算法勒索病毒其实是个“老朋友”了,世界上第一个有记录的勒索软件Cryptolocker诞生于1989年,它其实就是一种用加密算法来勒索钱财的程序,后来,病毒制造者没几天就被抓获了。

图2–27Cryptolocker病毒制造者被抓获

其实,Cryptolocker最开始是很好破解的,因为它最开始使用的是对称加密算法,编个程序逆向破解一下就可以了,但是,现在流行的勒索病毒Wallet、Onion使用的却是非对称加密算法。非对称加密算法的加密和解密过程使用两个密钥,因此,单纯靠逆推是不可行的,我们在后面会具体讲解一下。

然而,这次的黑客不仅改进了勒索蠕虫病毒,还搭配了一个“好伙伴”——“永恒之蓝”黑客工具,不需要你点击任何链接,它就可以直接占领你的计算机。“永恒之蓝”病毒还有一个美丽的传说,据说它原本是美国国家安全局用来窃取其他国家信息的工具,是“美国武器库”中的一种。美国国家安全局旗下有一个黑客组织叫“方程式组织”,负责替美国政府做一些不可告人的事情,后来,因为闻名天下的伊朗核试验的“震网”事件以及后来的“棱镜门”事件逐渐为人所知。

图2–28非对称加密算法无法逆推

图2–29“美国武器库”的传说

后来,有个叫“影子经纪人”的黑客团队,把“美国武器库”破解了。然后,他们在网上拍卖,想把这些“武器”换成钱。然而,没人理他们,于是,他们发起众筹,企图利用这些“武器”赢利,依然没什么人理他们。最后,一气之下,在2017年4月14日,他们直接把这批“武器”公开了。于是“永恒之蓝”黑客工具和加密算法勒索病毒就成为一款“杀伤性武器”。

图2–30影子经纪人的传说

当然,这件事只是一个美丽的传说,美国国家安全局也没有承认,所以,“永恒之蓝”究竟从何而来众说纷纭,并没有实际考据。

这个病毒什么时候能破解

首先,“永恒之蓝”黑客工具是利用Windows(微软公司的操作系统)漏洞来攻击的,也就是说,只要更新Windows补丁,并开启防火墙的主动防御,基本上,这个工具就没有了生存的土壤,然而,Windows漏洞总是不断更新,说不定什么时候黑客搭配一个攻克新款漏洞的工具,就又生出了各种变种病毒,比如“永恒之红橙黄绿青蓝紫”之类的。

图2–31 升级防火墙

我们知道,勒索病毒使用非对称加密算法进行加密,其最突出的特点就是不可篡改和不可逆,加密和解密过程使用的是两个不同的密钥。

图2–32非对称加密算法不好破解

现在的计算机无法完成倒推所需要的计算量,或者说,算出来的成本太高了。现在全球热议的最领先的区块链技术使用的就是非对称加密算法,也就是说,黑客是站在时代最前沿的科技的肩膀上设计密码,我们想要破解没那么容易。

图2–33站在巨人的肩膀上

我们可以回想一下那个家喻户晓的“熊猫烧香”病毒最后是怎么被破解的?写病毒的黑客被抓住之后,自己编了套程序破解了,而这次的情况也类似,最可能的解决方法就是,把黑客抓住之后,让黑客把他手里的密钥交出来,我们输入密钥之后就可以解封了。

图2–34 黑客交出密钥

为什么只要比特币

黑客到底什么时候会被抓到,怎么抓?这就涉及我们探讨的第三个问题了,为什么黑客非要用比特币支付呢?因为比特币的匿名性,换句话说,你不容易抓住他。比特币是一种网络虚拟货币,可以在全世界流通,具有匿名性,这便于黑客隐藏身份。你不需要知道对方是谁,只需要一个比特币地址就可以点对点地给对方打款。同时,比特币的世界性和流动性也是黑客选择比特币的理由,比特币在数字货币中占有最大的份额,它在全世界中拥有很多“粉丝”,很多国家都承认了比特币的合法地位,一些大型企业也接受比特币支付。

图2–35比特币的全球性

但是,黑客想要逃脱法网也不是那么容易的,因为比特币的特点之一就是不可篡改,所有的记录都是无法篡改的,并且公开可查。一旦黑客公布的比特币地址收到了比特币,那么账本上就多了一笔记录,每个人手里的账本会同步更新。每个人都能查到这个记录,之后这个地址的各种转账、提现记录也都是可查的。只要黑客进行了比特币提现这类需要和现实交互的操作,就一定会露出蛛丝马迹。

图2–36比特币交易记录公开可查

实际上,在大多数情况下比特币本身并不是百分之百匿名的。发送和接收比特币,就像作者用笔名发表作品一样。如果一个作者的化名和他的身份联系在一起,他曾经写下的任何东西都会与其联系在一起。

对于个体来说,比特币的匿名性与你接收比特币的钱包有关。涉及该地址的每一项交易都将永久保存在该区块链中。如果你的地址和你的真实身份相关,那么每一项交易都会和你有关。

现在,许多国家都把比特币交易平台纳入监管范围,交易需要多重实名认证。因此,只要黑客露出与现实相关的蛛丝马迹,就有可能被抓到。

图2–37比特币并不是百分之百匿名

图2–38多重实名认证

怎么预防“永恒之蓝”病毒

第一招:搜索

现在,请打开你的任何一个浏览器,在输入框里输入“如何预防比特币病毒”,你就会发现铺天盖地的解决方法,随便找一个点开看就行了,毕竟都一样,无非是断网、设防火墙、阻止445端口、升级Windows补丁。在这里,建议大家都养成长期打开防火墙的习惯,虽然Windows的防火墙总是时不时弹出,但是,安全终归最重要。

图2–39第一招:搜索

第二招:以毒攻毒

预防了这次的病毒攻击,下次再遇到怎么办呢?你可以尝试这么操作:黑客不是要加密我们的重要文件吗,比如后缀为doc(文档)、xls(电子表格)、ppt(演示文稿)、psd(图片文件)之类的文件;而对于一些冷门格式的视频和种子文件,黑客总不会加密吧,所以,除了重要文件要多备份几遍之外,我们还可以把所有的重要文件做成压缩包,然后改成一个莫名其妙的格式(比如后缀为“modv”)。当然,这一招并不能完全断绝重要文件被破坏的可能性。

图2–40第二招:以毒攻毒

第三招:占坑抢位

这一招最绝的一点就在于,走黑客的路,让黑客无路可走,所以适用于程序员:自己编一套经非对称加密的“病毒程序”,把自家电脑的文件都加密,密钥保存在自己手里,每次查看前先输一遍密钥。这样就是麻烦点,但是它有用啊!“此坑是我的,想毒我,没门儿!”

图2–41 第三招:占坑抢位

最后需要说的一点是,目前中国的比特币平台是不能提现的,因此,若想要缴纳赎金也需要谨慎考虑。毕竟,我们并不知道缴纳赎金之后是否能百分之百地解锁并免受病毒的二次入侵。面对病毒,我们需要冷静,再冷静啊。

图2–42缴纳赎金后解锁失败

其实,作为和区块链、比特币相关的从业者,从病毒暴发的那一刻开始,我就收到七大姑八大姨的各种电话问候:听说你们公司研究的玩意儿都成病毒了,你们公司不会跑路吧……白天被各种围追堵截询问:您好,请发表一下对此事的看法,到底什么时候才能抓到?

比特币之所以被黑客当作勒索的工具,确实是因为它具有匿名性、去中心化等方便黑客隐藏身份的某些特性,但我始终认为,技术本身是无罪的,比特币抑或区块链都不应该背黑锅。

图2–43技术本无罪

比特币的工作流程

如图2–44所示,在区块链中,所有的节点向上回溯,都会到达源头,即区块链中的第一个区块,也就是“创世区块”。

图2–44比特币工作流程

在“创世区块”诞生之后,比特币的用户通过不断地“做题”,即通过计算寻找满足特定SHA–256哈希值对应的数值解。这个过程就是比特币中的“挖矿”。[7]

当任意一个用户优先计算出符合要求的数值解时,就会在全网范围内广播,而网络中的其他节点收到这条信息会进行验证,若通过验证,其他节点就会放弃计算,并将新创建的区块加到前一个区块的后面。

图2–45 计算特定哈希值的数值解

随着越来越多的人加入比特币的区块链系统,一个又一个哈希值的数值解被找到,在不断重复的过程中,新的区块不断地生成、验证,最终形成一个主链。同时,哈希算法的难度也会调整,以此控制用户们解出数据所用的时间。

而在比特币的实际交易过程中,假设比特币中的用户A和B之间要完成一个交易,包含这笔交易的区块向区块链中的所有用户发布广播,全网用户通过验证哈希值来确认这笔交易是否有效,一旦被认证为有效,这个区块就会被加盖时间戳,然后被添加到区块链主链上。

图2–46 加盖时间戳

区块链的本质是一个互相验证的公开记账系统。这个系统所做的事情,就是记录所有账户发生的所有交易。每个账号的每笔数额变化都会被记录在全网总账本中。而且每个人手上都有一份完整的账本,每个人都可以独立统计出有史以来比特币系统每个账号的所有账目,也能算出任意账号当前余额是多少。 [8]

由于所有数据公开透明,任何人都可以去查看它的源代码,人们便会信任这套去中心化的系统,而不担心里面是否隐藏着什么阴谋。

比特币会硬分叉吗

2009年比特币诞生,如今,其市值已达数百亿美元,众多人为之疯狂(注意,根据政策规定,比特币不是货币)。最近,有人预测,比特币到了不得不分叉的时候,甚至可能会暴跌。

图2–47 比特币会分叉吗

一、中本聪拍了下脑袋

中本聪在设计比特币的时候,是2009年,那个时候数据能有多少?更何况也没有多少人使用比特币。于是他一拍脑袋决定了,比特币中一个区块的容量就是1M(兆字节)吧。而一笔交易是250字节甚至更多,现在一些交易基本达到了500字节。容量不够用啊!

我们来算笔账:

比特币一个区块的容量是1M,

1M=1 024KB(千字节)=1 048 576字节,

那么一个区块包含的交易总数为:1 048 576÷250≈4 194.3(笔)。

比特币中一个区块确认的时间是10分钟,

10分钟=600秒,

那么一个区块每秒能处理的交易数为:4 194.3÷600≈7(个)。

图2–48 1M的容量不够用

如果一个区块每秒只能处理7笔交易,要是交易数据再大点,可能连7笔都达不到。这样会造成一个结果,比特币上的交易拥堵而缓慢。一笔交易发生之后,前面还有好多交易在排队等待确认,到底要等到什么时候啊?总有一天堵塞到一定程度就会超过容量极限,然后就崩溃了!

图2–49 区块需要扩容

二、扩容方案意见不一

出了问题怎么办呢?改啊!

怎么改啊?中本聪消失了啊!

那找谁啊?中本聪把系统维护交给了5个极客!

哦,怎么改啊?

听我的,改成2M;不,听我的,改成20M!

很多人代表各方的利益群体提出了自己的扩容方案!

1. Bitcoin Classic(比特币经典版),此方案认为应该将这个字段的最大值调到2M,并且以后有计划取前2 016个区块大小的中位数再乘一个约定好的倍数来决定下一批区块的大小上限。

2. Bitcoin XT(比特币新版),此方案认为这个值应该修改为20M,并且每两年翻一番,直到上限值达到8.3G(千兆字节)。

3. Bitcoin Unlimited(比特币无限版),此方案认为这个值多大都行,甚至可以无限大,由矿池决定其大小。

图2–50 扩容方案意见不一

每个人都觉得自己是对的,谁也说服不了谁,怎么办啊?比特币不升级了?不行啊,还是要升级的!那么问题就来了,要是做出来一个升级版本,所有人都直接升级成了新版,就没有分叉问题了,全世界大升级大和谐啊。但是,有人的地方就有纷争,有的人升级,有的人不升级。这可好了,乱套了,用的系统都不一样,那要如何统一呢?

图2–51方案不同可能会导致分叉

不同的理念催生出了多种扩容方案,各个方案间无法统一,于是比特币分叉了。其实,随着时间的流逝,方案所提出的容量大小也随之增长,莫非,这不是价值观的原因而是世界观的原因?

三、硬分叉和软分叉

分叉怎么还分软硬呢?简单来说就是兼容性的不同,软分叉是暂时的,硬分叉是永久的。

区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。

图2–52 硬分叉结构图

硬分叉的定义是这样的:硬分叉是指比特币的区块格式或交易格式(这就是广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。[9]

图2–53 硬分叉是什么

硬分叉的特点如下:

1. 没有向前兼容性,之前的版本将不可再用,需要强制升级;

2. 在区块链层面会有分叉的两条链,一条旧链,一条分叉新链;

3.需要在某个时间点全部同意分叉升级,不同意的将会进入旧链。[10]

图2–54硬分叉的特点

当新共识规则发布后,没有升级的节点由于不了解新共识规则,就会生产不合法的区块,从而产生临时性分叉。

软分叉的定义是这样的:

软分叉是指比特币交易的数据结构发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。[11]

图 2–55 软分叉结构图

图2–56 软分叉是什么

软分叉的特点如下:

1. 有较好的兼容性,之前版本的部分功能可用,可不升级;

2. 在区块链层面没有分叉的链,只是组成链的区块有新区块和旧区块之分;

3. 相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存。

图2–57 软分叉的特点

四、举几个有趣的例子

我们模拟一种极端的情况,抽象出一个比特币王国来解释所谓的新系统的兼容性问题。在遥远的岛上,有一个比特币王国,大家相安无事地生活了很多年,由于王国设施陈旧,存在着这样那样的问题,于是大家开始讨论解决方案。

有人觉得应该推翻了重新修葺,并且上书了一本“如何建造一个华丽的王国”的奏书,里面有九九八十一种推翻重建的方案。有些人认为补补窟窿,刷刷墙还是勉强可以看,根本不用大动干戈。两派争论不休,无法达成一致,这就引起了分叉。

图2–58 比特币王国的例子

什么情况下会出现硬分叉呢?派系争论不休,于是开始各干各的。提议推翻重建的人雇了几十个民工,新的建筑焕然一新,王国里新旧建筑的风格相当不统一。这就相当于比特币世界里的硬分叉,表现在比特币世界里就是从新的节点开始,分成了两条链——旧链和新链,两条链互不兼容。

图2–59 打个比方说明硬分叉

软分叉会出现什么结果呢?派系争论不休,但要求重建的一派有了妥协的意愿,同意让装修装饰派试一试他们的方案。于是装修队开始对墙上的破洞进行修补,把陈旧的颜色换成鲜艳的颜色。这时,王国里正常的生活仍然在继续。新旧面貌共存。表现在比特币上就是未升级的节点按照以前的规则继续计算,但已经升级的节点仍然按照扩容后的规则计算。因此,Bitcoin Core(比特币核心钱包)主张的Segwit(隔离见证)升级后,比特币依旧是比特币,不会有新的币种诞生。

图2–60 打个比方说明软分叉

五、分叉有什么影响吗

说到影响,我们看看近来比较成功的一次分叉。

2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第192 000区块,强行把The DAO(分布式自治组织)及其子DAO的所有资金全部转到一个特定的退款合约地址从而“夺回”黑客所控制的DAO合约的以太币。

之后,便形成两条链,一条为ETC(原链),一条为新的ETH(分叉链),以太坊成功地硬分叉了!

图2–61以太坊的硬分叉

硬分叉对比特币矿工的影响:

硬分叉这事能闹起来,矿工绝对出了大力气。一旦分叉,矿工挖矿便简单了,可以挖到更多币了,多开心啊,但是,他挖出来的币值不值钱还得看有没有人买,毕竟市场决定价格。

图2–62 对矿工的影响

硬分叉对比特币产业链的影响:

从技术角度来看,硬分叉的主要问题是它需要所有用户转移到具有不同规则的新区块链。为了保持比特币的品牌价值和对比特币的信仰,比特币的支持者是反对硬分叉的。如果真的硬分叉,将会掀起一场彻底的网络战和舆论战。

硬分叉对币价的影响:

再说一句,分叉后比特币的币价是涨还是跌,前景究竟会如何发展,由市场的选择决定。按常理来看,估计分叉后比特币会先暴跌一场,然后分叉后的两个币种经过时间的洗礼后会渐渐回归理性,毕竟分叉后的“1+1”肯定不等于2。

图2–63 对产业链的影响

图2–64 硬分叉对币价的影响

比特币分叉仿佛是一个一旦开始就永不会落幕的会议,但这也正是去中心化的比特币的魅力之所在。

区块链的工作原理

那么,区块链究竟是如何工作的呢,如图2–65所示,我们假设A和B之间要发起一笔交易,A先发起一个请求——我要创建一个新的区块,这个区块就会被广播给网络里的所有用户,所有用户验证同意后该区块就被添加到主链上。这条链上拥有永久和透明可查的交易记录。全球一本账,每个人都可以查找。

图2–65 区块链的工作原理

区块链技术实际上是一个分布式数据库,在这个数据库中记账不是由个人或者某个中心化的主体来控制的,而是由所有节点共同维护、共同记账的。所有的单一节点都无法篡改它。

如果你想篡改一个记录,你需要同时控制整个网络超过51%的节点或计算能力才可以,而区块链中的节点无限多且无时无刻都在增加新的节点,这基本上是不可能完成的事情,而且篡改的成本非常高,几乎任何人都承担不起。

图2–66 篡改账本无法实现

区块链的四大特点

经过无数次的记账,区块链就成为一个可信赖、超容量的公共账本。它具有以下几个特征:[12]

1. 去中心化:在一个去中心化的金融系统中,没有中介机构,所有节点的权利和义务都相等,任意节点停止工作都不会影响系统整体的运作。

图2–67 区块链特点之去中心化

2. 去信任:系统中所有节点之间无须信任也可以进行交易,因为数据库和整个系统的运作是公开透明的,在系统的规则和时间范围内,节点之间无法欺骗彼此。

图2–68 区块链特点之去信任

3. 集体维护:系统是由其中具有维护功能的所有节点共同维护的,系统中所有人共同参与维护工作。

图2–69 区块链特点之集体维护

4. 可靠的数据库:系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。

图2–70 区块链特点之可靠的数据库