网上有很多故事可以解释什么是区块链。看完这些故事,你真的能理解什么是区块链吗?
区块链包含两个部分,一个是块,一个是链。很多故事都解释了分块分布式记账的原理,但是这个链条的意义还没有提到。
让我们换一个新的故事来解释什么是区块链。
假设有一个城市,有一个中央停车场,一次可以停200辆车。停车场有一个大门,只有汽车进出时才会打开。
车主相信停车场,经营停车场的公司有责任保证车辆的安全。由于所有的汽车都停在一个中央停车场,我们可以把这看作是一种集中停车模式。
这个停车场是一家公司建的,所有的维护费用都由这家公司承担,所以停车费会很高。如果小偷进入停车场,他们会很容易接近所有的车,做任何坏事。甚至一次毁掉所有的车。
改变当前场景。假设城市里有200栋房子,每栋房子有两个车库。假设每个房主有且只有一辆车。相应的,每栋房子有两个车库空着一个车库。
假设这个城市的人们决定把多余的车库出租给任何需要停车的人。这种停车模式可以解决200辆甚至更多汽车(人们会不断进出城市)的停车问题,而不需要为整个城市建设任何大型的中心停车场。
人民二车库不是专门建来出租的,所以维护成本很低。与集中停车模式相比,停车费更低。
每辆车都被锁在不同的车库里,小偷要撬开所有的车库才能接触到所有的车,所以这种停车方式相对安全。
随着房屋数量的增加,假设每套新房都有一个额外的车库,那么整个车库出租体系也会相应扩大。
由于没有一个集中的权限来控制这些分散的停车库,我们相信所有的车库出租人会共同制定一定的停车规则。
如上所述,这些停车库分布在城市的各个角落,我们可以把它们看作是分布式停车系统。
上述类比是理解区块链技术的基础。
大型中央停车场是类似AWS和Google Cloud的集中式系统。汽车是系统中的数据和应用(虽然本质上有区别,所以为了方便理解而安排)。分布式停车系统是一个分散的系统——区块链。
这里的另一个重要问题是,当汽车停在车库时,车库会生成一个特定的锁和钥匙对。
这里设计了一个系统,对所有分布的车库进行顺序编号。50号车库的锁和钥匙的匹配是以49号车库的锁-钥匙对和50号车库的车的特征(如颜色、重量、发动机号等)为基础的。).这个过程开始于1号车库,结束于200号车库甚至更多。
每个车库的锁钥匙对由车库中的汽车的特征和前面车库的锁钥匙对决定。
因此,如果小偷试图进入车库49并修改汽车的任何特征,例如汽车的颜色或注册号码,这意味着车库49将产生新的锁-钥匙对。
车库50的锁钥匙对取决于车库49的锁钥匙对,因此车库50的锁钥匙对将相应地改变。诸如此类。
现在,让我们做最后一个假设。计算一个锁-钥匙对需要大量的计算资源。这意味着实际上不可能重新计算这些锁-钥匙对。
从而具有防止任何窃贼改装车库内任何汽车的特点。
在上一个锁钥匙对的基础上,生成下一个锁钥匙对,通过重复形成一个车库链。在技术世界里,这些车库是“街区”,因此得名——区块链。
区块链中的块通过哈希值连接到下一个块,就像我们示例中的锁-密钥对一样。与车库模型类似,如果一个块中的数据发生变化,所有后续块的哈希值都需要重新计算。
由于计算哈希值是一个非常消耗资源的操作,在实际中很难实现,所以整个系统排除无效块。哈希值的计算过程称为“挖掘”。
区块链网络上的所有计算机都保存了区块链的完整副本。如果一台或多台计算机上的一个块或整个区块链发生更改,所有网络节点都会将其与自己的完整区块链副本进行比较。
如果网络上的大多数节点(或计算机)发现更改后的链无效,它们会用其他节点的有效链替换更改后的链。这使得区块链容易受到51%的攻击。
简单来说,如果网络上有超过50%的节点是恶意的(或者有改变的链),那么整个网络都会妥协,接受改变后的区块链。
(作者:h4WgD0,内容来自外链的内容开放平台“德豪”;本文仅代表作者观点,不代表链家官方立场)