无论你在哪里,从事什么行业,最近一定总会听到“比特币”、“区块链”、“去中心化”这些词。那么,到底什么是区块链呢?它有什么特别之处?今天技校就试着写一篇通俗易懂的入门文章。我希望我能帮助你更好地了解区块链。如有不足之处,请指正。
什么是区块链?总之,它是一个特殊的分布式数据库。
区块链的精髓
区块链的主要功能是储存信息。任何需要保存的信息都可以写入区块链,当然也可以从中读取,所以它是一个数据库。任何人都可以建立一个服务器,加入区块链网络,成为其中的一个节点。在区块链的世界里,没有中心节点,每个节点都是平等的,保持整个数据库。节点可以是服务器、笔记本电脑或移动电话。您可以向任何节点写入和读取数据,因为所有节点最终都会同步,以确保区块链的一致性。区块链的特色
其实分布式数据库并不是最新的发明,市场上早就有这样的产品了。然而,区块链有几个革命性的特点。
去中心化:因为是分布式存储,所以没有中心点。也可以说所有的节点都是中心点,生活中的应用就是不需要第三方系统。(比如我们现在的常规转账需要经过银行的中心机构。在区块链网络中,我们将能够实现直接的点对点转移。开放性:区块链的系统数据公开透明,每个人都可以参与。比如我们租房子,你可以知道这个房子之前的租房信息有没有问题。当然,这个房间的一些个人隐私信息是要加密的。信息不能被篡改:区块链使用加密技术来确保区块链上的信息不能被篡改。信息一旦存储在区块链中,将被永久保存,没有办法更改。至于51%的攻击,基本不可能实现。溯源性:区块链从第一个区块开始保存所有历史数据,连接形式是后一个区块有前一个区块的哈希值,区块链中的任何记录都可以通过链结构追溯到它的起源。匿名:区块链上没有个人信息,因为这些是加密的,是一串数字和字母,所以你的各种身份证信息和电话号码不会被转卖。自主性:区块链采用基于共识的规范和协议(如一套公开透明的算法),使整个系统中的所有节点在不可信的环境中自由安全地交换数据,使对“人”的信任转变为对机器的信任,任何人为干预都不起作用。方块图
区块链其实是由区块组成的。块就像数据库中的记录。每次写入数据时,都会创建一个块。
每个区块包含两个部分。
块头:记录当前块元信息的块体:实际数据块头包含当前块的多个元信息。
在时间实际数据(即块体)的散列上生成块的散列。
在这里,你需要知道Hash是什么,这是理解区块链所必需的。
所谓哈希,就是计算机可以对任意内容计算出一个长度相同的特征值。区块链的哈希长度是256位,也就是说,不管原始内容是什么,有多少,最终都会计算出一个256位的二进制数。而且可以保证,只要原始内容不一样,对应的Hash就一定不一样。
比如字符串“技校”的Hash是5 ffcf 8 a 122494d 688 a 17 b 12851887 ce(十六进制),换算成二进制就是256位,只有“技校”才能得到这个Hash。
因此,有两个重要的推论。
推论一:每个块的Hash不一样,可以通过Hash来识别块。推论二:如果一个块的内容发生变化,那么它的Hash一定会发生变化。哈希的不变性
块和哈希是一一对应的,每个块的哈希都是为‘块头’计算的。
Hash=SHA256(块头)
以上是块哈希的计算公式,由块头唯一确定,SHA256是区块链的哈希算法。
如前所述,块头包含很多内容,包括当前块的Hash(注意是‘块’的Hash,不是整个块的Hash)和前一个块的Hash。这意味着如果当前块的内容发生变化,或者前一块的Hash发生变化,那么当前块的Hash一定会发生变化。
这对区块链来说意义重大。如果有人在未经授权的情况下修改了一个块,那么这个块的Hash就会发生变化。为了将后面的块连接到它,这个人必须同时修改所有后面的块,否则被改变的块将与区块链分离。Hash的计算比较耗时,几乎不可能同时修改多个块,除非有人掌握了全网51%以上的计算能力。
也正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。就像人经历了历史一样。一旦发生了,就发生了,永远无法改变。
所以每个街区都与前一个街区相连,这也是“区块链”这个名字的由来。
区块链是如何工作的?让我们以转移为例:
目前要转账的话要去银行,银行是集中账本。比如小明账户里有400元,小红账户里有100元。
当小明要给小红转账100元时,小明要通过银行提交转账申请。银行核实通过后,小明账户扣100元,小红账户增加100元。
经银行(账簿)计算,小明账户扣除100后余额为300元,小红账户加100后余额为200元。
区块链转账的步骤是这样的:小明要给小红转账100元,然后小明会在网上把要转账的信息告诉大家,大家查看小明的账户里是否有足够的钱来完成转账。如果验证通过,每个人都会把这个信息记录在自己的账本上(在区块链),而且每个人记录的信息都是一致的,那么小明就成功转账100元到小红的账户上。如你所见,整个转账过程中,银行没有任何问题。
区块链和比特币有什么关系?
比特币是由中本聪在2009年提出的,之后区块链技术参照比特币的实现进行了提炼。
例如,如果比特币是面条,那么区块链就是面粉。之后大家发现面粉可以做成馒头、小笼包等。除了面条,还有各种硬币。
后续技校会更新一篇关于“比特币”的文章。如果这篇文章有什么错误和不准确的地方,请指正。我们一起讨论。
分享IT技术和行业经验,请关注-技校。