开发者社区 > 博文 > 区块链初学者指南——五岁孩子都能理解
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

区块链初学者指南——五岁孩子都能理解

  • 京东科技开发者
  • 2019-12-20
  • IP归属:北京
  • 94120浏览

4fca4118caaedd81f15214971e54588.png

1.jpg

如今,从理发师到在股市工作的朋友,人人都在谈论比特币。别担心,这篇文章不是那种讨论如何从比特币中赚钱的文章,我将努力帮助你理解比特币的基层技术,以及区块链在未来几十年里如何发挥作用。

历史回顾

2008年10月31日,一个名为Satoshi Nakamoto的匿名人士(或组织)发表了一份白皮书,介绍了一种不涉及任何金融中介机构、直接从发送方到接收方汇款的新方法。

文中给这个概念起了个名字——比特币。由于比特币使用了密码学的一些基本概念,这种新的货币交换方式被归类为加密货币。比特币的唯一用途是用于金融交易,但研究人员意识到,可以利用它的基础技术构建其他安全可靠的应用程序,从而彻底改变当前系统的工作方式。
“区块链”就是这个基础技术的名字。你觉得有很多专业词汇?没关系,让我们来简化一下!

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

想象你住在一个城市,这个城市有一个可以同时停放200辆车的大停车位(假设只有一层)。这个停车位有一个大门,大门是锁着的,只有当有车辆进出时才会打开。现在让我们从不同的角度来分析这个单层的停车场建筑:

  • 价格:由于一些私人企业建造了这个专用停车位,所有的维护费用将由业主公司承担,所以出租一个停车位将会有很高的租金。

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

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

  • 信任:你信任停车位公司,他们有责任确保车子的安全性和可靠性。

  • 集中式:因为所有的车都在一栋楼里,我们可以把它当成一个集中式停车场。

现在,让我们修改当前的场景。想象一下,你的城市里有200个住户,所有人都有两个车库。简单来说,我们假设每个住户只有一辆车(所有的车都填满了上面描述的大停车位)。所以,每户都有一个空车库。现在,假设这个城市的人们决定把多余的车库出租给任何需要停车的人。这种提供停车位的模式将解决200辆或更多汽车停车问题,而不需要为整个城市建造任何更大的中央停车位。与前面的场景类似,我们来分析一下这个场景:

  • 价格:由于第二个车库不是专门出租的,而且维修费用也比较低,所以相对于中央大停车位来说,多出的空间租金也比较低。

  • 安全性:每辆车都锁在不同的车库里,因此小偷必须打开所有车库里的门才能进入汽车,从而提供更多的安全性。(区块链中的安全性略有不同,但是为了简单起见,我们现在就这样考虑吧!)

  • 限制:随着房屋数量的增长,假设每个新房子都有额外的车库空间,那么容纳更多汽车的空间将持续增加,从而也增加了承租人和出租人间的联络网。

  • 信任缺失:由于没有中央机构控制这些分散的停车位,我们假设所有的车库业主在出租他们的车位时会制定一定的规则。

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

上面的类比为理解区块链的实际技术基础架构提供了基础。

停车模式到技术模式

这个停车模型用现实世界语言展示了区块链的基本概况。现在,让我们尝试将停车示例的组件与实际的技术模型匹配起来:
这个大型中央停车场是一个像AWS、Google Cloud等的集中系统(这些云平台也在一定程度上是分布式,但为了简单起见,我们将它们假设为一个单一的实体)。
汽车是数据和应用。

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

等等!我们似乎错过了一些东西。

不是所有的分散系统都是区块链!!是的,区块链是一种特殊类型的分散系统,具有独特的特性。哪种特性?我们来讨论一下。

“块”组成了区块链

让我们重新审视一下我们的分布式停车示例,并做一些小小的更改。我们假设一个特定车库的锁是当一辆车停在里面的时候产生的(假设同一辆车每天去同一个停车场)。另外,假设所有的分布式车库已经按顺序编号。50号车库的锁钥匙对是基于49号车库的锁钥匙对,也是基于50号车库内停放的汽车的特征(如颜色、重量、发动机编号等),这个过程从1号车库开始,一直持续到200号车库甚至更多。

每个车库的锁钥匙对取决于车库内汽车的功能和前一个车库的锁钥匙对。

因此,如果一个小偷试图进入49号车库并修改车子的特征时,说出它的颜色或注册号,停在49号车库的车的特点将会改变,这也意味着一个新的49号车库的锁钥匙对将会生成。因为50号车库的锁钥匙对取决于49号车库的锁钥匙对,50号车库的锁钥匙对也将改变,其他的车库也一样。

现在,让我们做一个最后的假设。假设计算一个锁钥匙对需要大量的计算资源,这意味着如果任何一个小偷修改了任何汽车的任何特征,我们必须重新计算这些对,这将是几乎不可能的。

如果一个锁钥匙对改变了,会发生什么?

希望你还记得我们说过的所有的车库主人都要遵守一些规则?

这些规则之一就是检查一个有效的车库。如果你可以验证一个车库的锁钥匙对,那么这个车库就是有效的。如果任何一个锁钥匙对被更改,那么之后的所有车库的锁钥匙对都是无效的,因为每一个锁钥匙对都依赖于前一对。(与生成锁钥匙对相比,验证特定车库的锁钥匙对的过程非常快)。

这种一个对取决于前一个对的形式组成了一个车库链,在技术世界中,这些车库是“块”,因此得名区块链(一串积木链)。

区块链中的块通过hashes连接到下一个块,就像我们的示例中的锁钥匙对一样。与车库示例类似,如果修改了一个块中的hashes,那么需要重新计算下面所有块的hashes,因为计算hashes是一个非常耗费资源的操作,所以实际上不可能做到这一点,因此网络会排除无效的块。hash的计算过程被称为挖掘,我们将在本系列的下篇中详细讨论它。

如何从修改中恢复块?

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

1.png

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

结论

唷!!有很多信息需要消化。这是完整的初学者指南的第一部分,提供了基本的区块链基础。我希望这篇文章能为你和你的朋友讨论区块链时提供帮助。请查看本系列的下一篇,其中我们将讨论Ethereum、智能契约和挖掘。

原文链接:https://medium.com/@_sidharth_m_/beginners-guide-to-blockchain-explaining-it-to-a-5-years-old-772caac6ae97

以上信息来源于网络,由“京东云开发者社区”公众号编辑整理,

不代表京东云立场。