摘 要:如今,人人都在说
比特币。别担心,这篇文章不会像其他文章那样教你投资比特币赚钱,而是会帮助你理解比特币的底层技术
区块链,以及在未来几十年区块链将如何发挥作用。
本文由格密链社区的群友任芳翻译,致远博士校订。
历史回顾
2008年10月31日,一位所谓名叫中本聪人发表了一份白皮书,构造了一种能够直接将电子现金从发送人支付给接收人的新方法,这种新方法不需要任何
金融中介机构参与。这篇论文给这个概念起了个名字——比特币。由于比特币使用了一些密码学的技术,这种新的货币交换方式被称为
加密货币。
比特币的唯一目标是用于交易支付,但研究人员意识到,它的底层技术可以被用来构建其他安全可靠的应用,从而彻底改变当前系统的工作方式。“区块链”就是这个底层技术的名字。这么多专业词汇?让我们简化一下!
什么是区块链?——以停车为例
假设你住的城市有一个很大的中央停车场,一次可以停放200辆车(假设这个停车场只有一层)。停车场有一个大门,大门是锁着的,只有当汽车进出时才会打开。现在让我们从不同的角度来分析这个停车场:
•价格: 这个停车场是由某个公司修建,而且所有的维护费用都由这个公司承担,所以停车费会很高。
•安全: 如果小偷进入停车场,他们会很容易接近所有汽车(拿走轮胎,偷走燃料,损坏刹车,干任何坏事!)
•限制: 如果你所在城市的汽车从200辆增加到300辆呢?停车场无法容纳所有汽车,其他公司将不得不修建一个新的停车场。
•信任: 车主相信停车场,运营停车场的公司负责保障车辆的安全。
•中心化:由于所有汽车都停在一个中央停车场内,我们可以认为这是一种中心化的停车方式。
现在,让我们改变一下当前的场景。假设在你的城市里有200座房子,每座房子都有两个车库。简单起见,我们假设每个房主有且只有一辆车。据此,每座房子的两个车库中都有一个空车库。
现在,假设这个城市的人们决定把额外的车库出租给任何需要停车的人。这种提供停车位的模式可以解决200辆或者200多辆车的停车问题(人们会不断进城出城),而不需要为整个城市建立任何大的中央停车场。让我们分析这个新的场景——
•价格: 人们的第二个车库并不是专门为了出租而建,维护成本很低。跟中心化的停车方式比,停车费较低。
•安全: 每辆车都被锁在不同的车库里,小偷要接触到全部汽车必须撬开所有车库,因而这种停车方式相对安全。(区块链安全性有点不同,但为了简单起见,让我们暂时这样考虑!)
•限制:随着房子数量的增加,假设每座新房子都有额外的车库,那么整个车库租赁系统就会随之扩容。
•去信任化:由于没有中心化的权威机构来控制这些分布式停车库,我们认为,所有车库出租者会联合制定出一定的停车规则。
•分散化: 如前所述,这些停车库分布在城市的各个角落,我们可以将其视为分布式停车系统。
从停车模型到技术模型
以上停车模型用现实中的例子展示了区块链的基本理念。现在,让我们尝试将停车模型的组成部分与实际的技术模型进行匹配——
•大型中央停车场是类似于AWS、谷歌云等中心化系统(这些云平台也有一定分布,但为了简单起见,我们假设它们是单个实体)。
•汽车是系统中的数据和应用。
•分布式停车系统是一个去中心化系统——区块链。
等等!我们漏掉了一些东西。
并非所有的去中心化系统都是区块链!!是的,区块链是一种特殊的去中心化系统,具有独特属性。什么属性呢?我们来谈谈。
区块链由“区块”组成
回顾一下我们的分布式停车系统,并做一个小小的更改。假设当一辆车停入车库时,车库就生成一个特定的锁-钥匙对。 (假设同一辆车每天停在同一个车库)。另外,假设我们按顺序对所有分布式车库进行编号。50号车库的锁-钥匙对,是基于49号车库的锁-钥匙对和50号车库中汽车的特性(如颜色、重量、发动机号等)共同生成,这个过程从1号车库开始,直到200号车库甚至更多。
每个车库的锁-钥匙对,由车库中汽车的特性和前面车库的锁-钥匙对共同决定。
因此,如果一个小偷试图进入49号车库并修改车的任何特性,例如车的颜色或注册号,这意味着49号车库将生成新的锁-钥匙对。而50号车库的锁-钥匙对取决于49号车库的锁-钥匙对,因此 50号车库的锁-钥匙对也会随之改变。以此类推。
现在,让我们做最后一个假设,计算一个锁-钥匙对需要花费大量的计算资源。这意味着,如果必须重新计算这些锁-钥匙对,实际上几乎是不可行的。从而具有防任何小偷修改任何车库中汽车的特性。
锁-钥匙对被更改了怎么办?
还记得我们说过,所有的车库主人都遵守一些规则吗?其中一个规则就是核实车库的有效性。如果一个车库的锁-钥匙对是有效的,则认为车库是有效的。如果任何锁-钥匙对被更改,那么后面所有车库的锁-钥匙对将失效,因为每一个锁-钥匙对都是基于前一个锁-钥匙对生成。(与生成锁-钥匙对相比,验证特定车库的锁-钥匙对非常迅速)。
基于上一个锁-钥匙对,生成下一个锁-钥匙对,不断重复就形成了一条车库链。在技术界,这些车库就是“区块”,因此得名——区块链(由区块组成的链)。
区块链中的区块通过哈希值连接到下一个区块,就像我们示例中的锁-钥匙对一样。与车库模型类似,如果更改了一个区块中的数据,那么需要重新计算后面所有区块的哈希值。由于计算哈希值是一项非常耗费资源的操作,实际上难以实施,因此整个系统排除了无效区块。哈希值的计算过程被称为“挖矿”,我们将在本系列的下一篇文章对此进行讨论。
如何修复区块?
区块链网络上的所有计算机都保留一份完整的区块链副本。如果某台或多台计算机上的一个区块或整条区块链被更改,所有网络节点就会将其与自己的完整的区块链副本进行比较。
如果网络上大多数节点(或计算机)发现更改后的链无效,则用其他节点的有效链替换更改后的链。这使得区块链容易受到51%的攻击。简单地说,如果网络上超过50%的节点是恶意的(或者说是有一条被更改的链),那么整个网络就会妥协,接受更改后的区块链。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。