什么是区块链?这个问题对于成年人来说不难了解。但很多问题不能等到我们达到一定年龄后才了解。作为近些年来火热的技术之一,最好是让所有人都能对区块链有一定的了解。这篇文章就以现实中的一个例子描述了区块链的大致结构。本文译自hackernoon.com


现在基本每个人都在谈论比特币,从你的理发师到你在股市工作的朋友。我将尽力帮助你了解使比特币运作的基础技术以及区块链的概念在未来几十年中将起什么作用。

历史概述

2008年10月31日,一份名为中本聪的匿名人士或组织发表了一份白皮书,提出了一种可以直接由付款方向收款方汇款而不涉及任何金融中介的方法。该论文给出了这个概念的名称——比特币。由于比特币使用了密码学的一些基本概念,这种新的交易方式被归类为加密货币。比特币的唯一用途就是用于金融交易,但研究人员意识到,可以使用其基础技术以构建其他安全可靠的应用程序,从而彻底改变当前系统的工作方式。“ 区块链”就是是这个基础技术的名称。突然很多技术词汇?让我们来简化一下!

什么是区块链?——真实世界的比喻

让我们假设你居住在一个拥有大型停车场的城市,可以同时停放200辆汽车(假设停车位只有一楼有)。这个停车位有一个大门,只有在车辆经过的时候才会打开。现在让我们从不同的角度分析这个的停车建筑

  • 价格:由于一些私人公司专门为停车建造了这个停车位,并且所有维护费用将由公司承担,租用单个停车位将需要很高的租赁费。

  • 安全性:如果小偷可以进入大门,他们可以很容易地偷走你的车(拿走车轮、燃料、或者弄坏刹车等任何东西!)

  • 限制:如果你所在城市的汽车数量从200增加到300该怎么办?停车位将没有足够的空间容纳所有汽车,其他一些私人机构将不得不建造一个新的停车点。

  • 信任:你信任停车场公司,他们负责保护安全性和可靠性。

  • 中心化:由于所有车辆都在一栋楼内,我们可以将其视为中心式停车场。

现在,让我们修改当前场景。想象一下,你所在城市有200所房屋,所有房屋各有两个车库。然而,为了简化我们的解释,让我们假设每个房子只有一辆车(车辆填满了上面所说的大停车位的所有位置)。因此,每个房子都有两个可用的空车库。现在,假设这个城市的人们决定将额外的车库出租给需要停车的人。这种提供停车位的模型将解决停放200辆汽车或更多汽车的问题(如果人们进出城市),而不需要为整个城市建造任何更大的中央停车位。与前一个场景类似,让我们分析一下这个场景

  • 价格:由于人们没有专门为出租目的建造第二个车库而且维修费用很少,租用额外空间的成本相对于大型中央停车位而言较低

  • 安全性:每辆车都锁在不同的车库,因此盗贼必须解锁所有车库才能进入车内,从而提供更高的安全性。(区块链中的安全性有点不同,但为了简单起见,我们现在就考虑这种方式!)

  • 限制:随着房屋数量的增长,假设每个新房也有额外的车库空间,空闲的停车位将继续增加。因此增加了承租人和出租人的网络。

  • 无需信任:由于没有中央机构控制这些分布式停车位,我们假设所有参与的车库所有者都会制定一些租赁地点的规则。

  • 去中心化:如前所述,这些停车位分布在整个城市,我们可以认为它是一个分散的停车场。

上述类比为理解区块链的实际技术基础设施奠定了基础。

停车模型到技术模型

停车模型以现实世界的情景展示了区块链的基本概述。现在让我们尝试将我们的停车模型的组件与实际技术模型相匹配

  • 大型中央停车场是一个中心化系统,如AWS,Google Cloud等(这些云平台也在某种程度上呈分布式,但为了简单起见,我们将其视为单一实体)。

  • 汽车视为数据和应用程序。

  • 分布式停车是一个分布式的系统 ——区块链。

等等!我们错过了什么。

所有分布式系统都不是区块链!! 是的,区块链是一种特殊类型的分布式系统,具有独特的属性。哪个属性?让我们来谈谈它。

区块构成了区块链

让我们重新审视我们的分布式停车示例并进行一些小改动。让我们假设当一辆车停在车内时会产生对特定车库的锁定(我们假设同一辆车每天都停在相同的停车场)。此外,假设我们已按顺序对所有分布式车库进行编号。#50车库的锁钥对基于#49车库的锁钥对,以及停放在#50车库内的车的特征(如颜色、重量、发动机号等),这个过程从车库#1持续到到车库#200甚至更多。

每个车库的锁钥对取决于车库的车辆功能和以前车库的锁钥对。

因此,如果一个小偷试图闯入车库#49并修改汽车的任何功能,比如它的颜色或注册号,车库#49中的汽车功能将会改变,这意味着一个新的#49车库的锁钥对将会产生,由于#50车库的锁钥对取决于车库#49的锁钥对,车库#50的锁钥对也将改变,并且未来的车库也会发生变化。

现在,让我们做最后一个假设,即计算锁钥对需要大量的计算资源,这意味着如果我们必须重新计算这些锁钥对,以防任何小偷修改任何车库中的任何汽车特征,实际上不可能重新计算所有锁钥对。

如果锁钥对发生变化会发生什么?

希望你还记得我们谈过所有车库所有者遵守一些规则吗?其中一条规则是检查有效的车库。如果你可以验证其锁钥对则车库有效,如果任何锁钥对被更改,所有之后车库的锁钥对都会无效,因为每一个锁钥对都取决于前一个锁钥对。(与生成一个车库相比,验证特定车库的锁钥对的过程非常快)。

这对前一个锁钥对的依赖使它成为一个车库链,而在技术领域,这些车库是“区块”,因而得名区块链(一系列区块)。

区块链中的区块根据哈希绑定到下一个区块,就像我们示例中的锁钥对一样。与车库示例类似,如果修改了一个区块中的数据,则需要为所有后续区块重新计算哈希值,并且由于计算哈希值是一项非常耗费资源的操作,因此实际上不可能这样做,因此网络排除了无效的区块。散列的计算称为挖矿

区块如何从篡改中恢复?

区块链网络中的所有计算机都保留完整区块链的副本,因此如果修改了特定计算机或多台计算机上的一个区块块或一个完整链,则整个网络会尝试将其与自己的完整链副本进行比较。

如果网络上的大多数节点(或计算机)发现修改后的链无效,则修改后的链将替换为来自其他节点的有效链。这使得区块链容易受到51%攻击。简单来说,如果网络上超过50%的节点是恶意的(或者说有一个篡改过的链),那么整个网络就会受到损害。



分享到: