以停车为例解析区块链技术
摘要: 我们把汽车比作系统中的数据和应用,那么大型中央停车场是类似于AWS、谷歌云这样的中心化系统,而分布式停车系统则是一个去中心化系统——区块链。
网络上有很多故事,讲解什么是区块链,看完这些故事,是否真的能理解区块链是个什么东西呢?
区块链包含两个部分,一个是区块,一个是链,很多故事讲解区块分布式记账的原理确实说到了,但是这个链的意思还没讲到。
下面我们换个新的故事讲解一下,什么是区块链。
假设有某个城市,有一个中央停车场,一次可以停放200辆车。停车场有一个大门,汽车进出时大门才会打开。
车主相信停车场,运营停车场的公司负责保障车辆的安全。由于所有汽车都停在一个中央停车场内,我们可以认为这是一种中心化的停车方式。
这个停车场是由某个公司修建,而且所有的维护费用都由这个公司承担,所以停车费会很高。如果小偷进入停车场,他们会很容易接近所有汽车干任何坏事。甚至一次性破坏掉所有的汽车。
改变一下当前的场景。假设城市里有200座房子,每座房子都有两个车库。假设每个房主有且只有一辆车。据此,每座房子的两个车库中都有一个空车库。
假设这个城市的人们决定把额外的车库出租给任何需要停车的人。这种提供停车位的模式可以解决200辆或者200多辆车的停车问题(人们会不断进城出城),而不需要为整个城市建立任何大的中央停车场。
人们的第二个车库并不是专门为了出租而建,维护成本很低。跟中心化的停车方式比,停车费较低。
每辆车都被锁在不同的车库里,小偷要接触到全部汽车必须撬开所有车库,因而这种停车方式相对安全。
随着房子数量的增加,假设每座新房子都有额外的车库,那么整个车库租赁系统就会随之扩容。
由于没有中心化的权威机构来控制这些分布式停车库,我们认为,所有车库出租者会联合制定出一定的停车规则。
如前所述,这些停车库分布在城市的各个角落,我们可以将其视为分布式停车系统。
上述类比是理解区块链技术的基础。
大型中央停车场是类似于AWS、谷歌云等中心化系统。汽车是系统中的数据和应用(虽然本质有区别,为方便理解,就这样安排了)。分布式停车系统是一个去中心化系统——区块链。
这里还有一个重要的问题,假设当一辆车停入车库时,车库就生成一个特定的锁和钥匙的配对。
这里设计了一个制度,按顺序对所有分布式车库进行编号。50号车库的锁和钥匙的配对,是基于49号车库的锁-钥匙对和50号车库中汽车的特性(如颜色、重量、发动机号等)共同生成,这个过程从1号车库开始,直到200号车库甚至更多。
每个车库的锁-钥匙对,由车库中汽车的特性和前面车库的锁-钥匙对共同决定。
因此,如果一个小偷试图进入49号车库并修改车的任何特性,例如车的颜色或注册号,这意味着49号车库将生成新的锁-钥匙对。
而50号车库的锁-钥匙对取决于49号车库的锁-钥匙对,因此 50号车库的锁-钥匙对也会随之改变。以此类推。
现在,让我们做最后一个假设,计算一个锁-钥匙对需要花费大量的计算资源。这意味着,如果必须重新计算这些锁-钥匙对,实际上几乎是不可行的。
从而具有防任何小偷修改任何车库中汽车的特性。
基于上一个锁-钥匙对,生成下一个锁-钥匙对,不断重复就形成了一条车库链。在技术界,这些车库就是“区块”,因此得名——区块链。
区块链中的区块通过哈希值连接到下一个区块,就像我们示例中的锁-钥匙对一样。与车库模型类似,如果更改了一个区块中的数据,那么需要重新计算后面所有区块的哈希值。
由于计算哈希值是一项非常耗费资源的操作,实际上难以实施,因此整个系统排除了无效区块。哈希值的计算过程被称为“挖矿”。
区块链网络上的所有计算机都保留一份完整的区块链副本。如果某台或多台计算机上的一个区块或整条区块链被更改,所有网络节点就会将其与自己的完整的区块链副本进行比较。
如果网络上大多数节点(或计算机)发现更改后的链无效,则用其他节点的有效链替换更改后的链。这使得区块链容易受到51%的攻击。
简单地说,如果网络上超过50%的节点是恶意的(或者说是有一条被更改的链),那么整个网络就会妥协,接受更改后的区块链。
(作者:h4WgD0,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)
评论(0)
Oh! no
您是否确认要删除该条评论吗?