区块链技术如今非常流行,但是它到底是什么呢?是如何工作的,解决了哪些问题,又有哪些用途呢?今天我来用通俗易懂的语言解释一下。
区块链顾名思义,就是一组包含数据块的数据链条。
它最早出现在1991年,由一群研究人员用来给数字化文档打时间戳。以使得这些文档不能被篡改,看上去区块链技术就像一位公证人一样。
然而这个技术自从那之后就没有再发挥其它作用,直到2009年一个叫中本聪的人采用区块链技术创造了数字加密货币比特币。
一条区块链就是对所有人完全公开的分布式账本,它有一个很有趣的属性:一旦数据被记录到区块链中后就很难再发生改变。那么它到底是如何工作的呢?接下来让我们首先来观察一下单个区块的组成。
每个区块都包含了三个重要的部分:数据,哈希值,前一个区块的哈希值。其中数据部分跟区块链的类型有关,例如:比特币区块链中的区块保存了相关的交易信息,包括卖家买家以及交易比特币的数量。
接下来我们再来说下哈希值,它就像区块的指纹一样,用来标识区块和它包含的数据。
一旦某个区块被创建,它的哈希值就被唯一的确定下来啦,改变区块中任何一丁点儿的内容,都会使得它的哈希值发生很大的变化。也就是说当你需要检查区块是否被篡改时只需要检测它的哈希值是否发生变化就可以了。如果一个区块的哈希值发生了变化,那它的内容一定发生了改变。它就再也不是之前的区块啦!
区块中包含的第三个元素是前一个区块的哈希值,这个元素使得区块之间可以形成一个链条。并且能够使得区块链十分的安全。举个例子:假设我们有一条区块链包含三个区块。如图所示:
3号区块指向2号区块,2号区块又指向1号区块,1号区块这里有点特殊,它不指向前一个区块,因为它就是这条区块链中的第一个区块,也叫创世区块。假设现在你篡改了2号区块里面的数据,这将使得2号区块的哈希值也跟着发生改变。那么这也将使得3号区块的指向变得非法,进而使得其后续所有区块都变得非法。所以改变一个区块会使得其后续所有区块变得非法。
但是仅使用哈希值的检测方法不足防止用户篡改区块,因为以现在计算机的速度,每秒能够计算成千上万的哈希值,你完全可以篡改一个区块,并重新计算其后续所有区块的哈希值。这样就使得你的区块再次变得合法。所以为了防止这种事情发生,区块链采用了一种技术叫做工作量证明(pow),来减缓新区块的创建速度,比特币区块链中大概需要10分钟左右来完成工作量证明,生成一个新的区块,这就使得区块链的篡改更加的困难。除此之外区块链还有一种机制来保证安全性,那就是去中心化。相对于中心化的网络,区块链采用的是一种去中心化的点对点网络。并且所有人都可以加入这个网络。当有人加入这个网络的时候,他就能够得到整条区块链的复制。这个人就可以来验证区块链上的区块是合法的还是被篡改过的。
接下来,我们来看看当某人创建了新的区块后,区块链会发生哪些改变?这个新的区块会被发送给网络上所有人。每个人验证这个区块以确保这个区块没被篡改过,如果所有东西都检验没有问题后,这个人就会把新的区块添加到区块链上。
这个过程我们称之为网络上所有人达成了共识。他们认同网络中哪些区块是合法的,哪些是不合法的,那些被篡改过的区块会被网络拒绝。所以要篡改区块,你需要篡改这个区块后续所有区块,并且控制网络中超过50%的用户。可以说这基本上是不可能做得到的。
区块链本身也在不断发展,后面出现了智能合约技术。智能合约就是存放在区块链上面的程序,它在某些特定的条件下可以自动的执行。因此区块链技术也可以用来存放病史档案,创建数字化公证,商品朔源等等。那么到这里你应该明白了区块链的工作原理以及它的用途啦吧!
免责声明:本文不构成任何商业建议,投资有风险,选择需谨慎!本站发布的图文一切为分享交流,传播正能量,此文不保证数据的准确性,内容仅供参考