自由码客|天天听区块链,原来区块、区块链、哈希值长这样!

区块链非常流行,什么是区块链呢,区块链使如何工作的,他能解决那些问题,它又能做什么呢?



undefined_腾讯视频

顾名思义,区块链使有包含信息的区块组成的链,区块链技术最早是在1991年有一群研究人员研发,并用来给数字化文档打时间戳,从而使这些文档日期不会被颠倒或者篡改。看上去区块链技术就像是公证人。但在这之后区块链技术基本没有发挥什么作用,直到2009年,中本聪用区块链技术发明了数字加密货币-比特币。

区块链就是分布式总账账本,它有一个特性,一点数据被记录到区块链,数据就会变得非常难以被更改,这是怎么实现的呢?

来看一下区块(block)的组成,每一个区块包含了一些数据,区块哈希值,以及前一个区块的哈希值。

区块中所保存的数据和区块链的类型有关,比特币的区块链的区块中保存了交易的相关信息,包括了卖家,买家,以及交易比特币的数量。

每个区块链包含一个哈希值,可以类比的理解为指纹,哈希值用来表示一个区块和他所包含的所有内容,它是唯一的,这点和指纹一样,一旦区块被创建出来,它对应的哈希值就会被计算出来,改变区块中的任何内容,都会导致哈希值发生改变,换言之,哈希值可以帮助你检测区块中的内容是否改变,一旦哈希值改变了,区块就不再是之前的区块。

区块中包含的第三个元素就是上一个区块的哈希值,这个元素使得区块之间可以形成连接,最终形成区块链,且使得区块链十分安全。举例,加入我们有一条区块链包含3个区块,每个区块有它自己的哈希值和前一区块的哈希值,三号区块指向二号区块,二号区块指向一号区块,一号区块是比较特殊的,它不指向任何区块,我们管他叫创世区块。现在加入你更改了第二个区块,那就会导致第二个区块的哈希值发生变化,接下来就会导致三号区块以及所有的后续区块变得无效,因为它们存储的前一区块号已经变得无效,所以改变一个区块,会使他的后续所有区块变得无效。

但仅仅是这样,并不足以防止篡改区块,计算机的速度已经足够强大,并且能每秒计算成千上万的哈希值,你可以串改一个区块,并且重新计算其他的后续区块的哈希值,从而使你的区块变得合法。所以为了减少这种风险,区块链采用了一种技术叫做工作量证明,这是一种减缓区块创建过程的机制。在比特币区块链中,大概需要花费10分钟来完成所有的工作量证明,来添加一个新的区块到区块链当中。这个机制使得区块链篡改更加困难,因为一旦你篡改了一个区块,你需要重新计算后续所有区块的工作量证明。所以区块链技术的安全主要源于哈希值和工作量证明机制。

但是区块链还有一种机制来保证自己的安全性,那就是分布式,相对于一个中心化的实体来管理网络,区块链采用的是p2p网络,并且所有人都可以加入,当有人加入时,他就会的得到整个区块链的拷贝,然后就可以用这个区块来验证是否所有的区块是否是有效的。

当一个人创建一个新的区块时,会发生那些改变呢,这个区块会被发送给网络上所有的人,每个人可以验证这个区块是否有效,如果验证有效,那么每个人将这个区块加到他们自己的区块链上,这就是所谓的达成“共识”,他们来认同网络中的那些区块是有效的,那些区块是无效的,被篡改的区块将会被网络上的其他用户拒绝。

所以,要成功篡改一个区块链,你需要篡改区块链上所有的区块,重新完成每个区块的工作量证明,并且控制区块链网络中超过50%的用户,只有这样,你篡改的区块,才能在区块链网络中生效,这几乎是不可行的。

区块链技术自身也在不断发展,比如现在的一项技术改进,叫智能合约,智能合约是一些存放在区块链网络上的简单程序,并且在特定条件下自动实现代币交易。

比特币技术吸引了越来越多的人的关注,人们意识到区块链可以用来例如存放病史档案,创造数字化公正,甚至收税。

「自由码客:激活你的知识资产」

你可能感兴趣的:(自由码客|天天听区块链,原来区块、区块链、哈希值长这样!)