美文网首页程序员
5分钟认识区块链

5分钟认识区块链

作者: LUBANSO | 来源:发表于2018-06-15 16:07 被阅读33次

    现如今非常流行区块链技术,但是它到底是什么呢?它又是怎样工作?它解决了哪些问题?未来它又会有哪些用途呢?今天小锁会带着大家一起去了解。

    区块链(Block Chain)是有一组包含信息的信息块(Block)相互连接(Chain)组成的信息链。

    区块链=区块+链

     区块链技术最早是在1991年一群研究人员研发并用来给数字化文档打时间戳(digital timestamps)使这些文档的日期不能被倒填或者被篡改。这样子看上去区块链技术就像是一位公证人。然而这个技术自那以后基本没有再发挥其他作用,直至2009年中本聪(Satoshi Nakamoto)采用区块链技术创造了数字加密货币(Cryptocurrency)——比特币(Bitcoin)。

    一条区块链就是一个对所有人完全公开的分布式账本(Distributed ledger)。它有一个很有趣的属性:一旦某些数据被记录到一条区块链中后,那么数据就很难再被改变。所以它到底是怎么工作的呢?

    让我们一起来了解一个区块(block)的组成。每个区块会包含一些数据(Data),这个区块的哈希值(Hash)以及前一个区块的哈希值(Hash of previous block)。

    区块的组成

    一、数据(Data)

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

    数据保存的相关交易记录

    二、当前区块哈希值(Hash)

    每个区块都包含了一个哈希值,哈希值可以被理解成指纹是唯一的,用它来标识一个区块和它所包含的所有内容。一旦某个区块被创建,那么它的哈希值就相应的被计算出来了,改变区块中的某些内容会使得哈希值发生改变。换而言之,如果你想检测区块中内容的改变时,哈希值会很有帮助。如果一个区块的哈希值改变了,那它也就不再是之前的区块了。

    当前区块哈希值和指纹一样独一无二

    三、前一个区块的哈希值(Hash of previous block)

    这个元素使得区块之间可以形成链接,并且保障了区块链的安全。假设我们有一条区块链包含3个区块,每个区块包含了一个之间的哈希值以及前一个区块的哈希值。

    每个区块之间通过“链”关联

    如图,3号区块指向2号区块,2号区块又指向1号区块。但是1号区块有点特殊,它不能指向前一个区块,因为它是正式的第一个区块。通常1号区块被称作创世区块(Genesis block)。

    假设篡改了第二个区块,这将导致第二个区块的哈希值发生改变,接下去就会导致3号区块以及3号区块链接后续所有的区块都变得非法,因为它们储存的前一个区块号都是非法的。所以我们明白改变一个区块会使得其后所有连接的区块变得非法。

    任意篡改会导致区块非法

    现在仅仅使用哈希值的方法不足以防止用户篡改区块。现在的计算机运算速度已经足够强大,并且能够美妙计算成千上万的哈希值,你完全可以篡改一个区块并且重新计算其他区块的哈希值,这样你的区块就会再次变得合法。

    为了减少这种风险,区块链还采用了一种技术叫做工作量证明(Proof-of-work)。这是一种减缓新区块创建过程的机制。在比特币区块链中,大概需要花费10分钟来完成所要求的工作量证明,并添加一个新的区块到区块链中。这个机制使得区块链的篡改更加困难。一旦你篡改了一个区块,你需要重新计算所有后续区块的工作量证明。所以区块链技术的安全性主要来自于哈希值以及工作量证明机制。

    工作量证明加强区块链安全性能

    区块链还有一种机制保护自身的安全性,那就是分布式。相对有一个中心化的实体来管理区块链网络,区块链采用的是P2P网络(peer-to-peer network),并且所有的人都可以加入。当有人加入这个网络时,他就会得到整个区块链的复制。这个人就可以以此来验证是否所有的区块都是合法未篡改的。

    如果当小锁创建了一个新的区块时,会发生哪些改变。这个新的区块会被发送给网络上的所有人,每个人再验证这个区块以确保这个区块没有被篡改过。如果所有的东西都被检验正确,那么每一个人就都会把这个新的区块加到自己的区块链上。

    创建新区块

    我们称之为,网络上的所有人达成了“共识”(Consensus)。他们认同网络中哪些区块合法,哪些不合法。被篡改过的区块将会被网络上的其他用户拒绝。如果你要成功篡改一个区块链,那么你就需要篡改区块链上的所有区块,重新完成每个区块的工作量证明,并且控制区块链网络中超过50%的用户。只有这样,你篡改的区块才会被所有人承认。可以说这基本上是不可能做到的。

    区块链技术本身也在不断地发展,最近的一个技术改进,叫做智能合约(Smart contracts)。智能合约是一些存放在区块链行的简单程序,可以在特定条件下实现自动化比特币交易。后续的文章中小锁会陆续给大家介绍。

    区块链技术的诞生吸引了很多人的目光,在其诞生不久之后,一些人意识到区块链技术可以用来存放病史档案(Medical records),创造数字化公证(E-notary)甚至还可以用来收税(Collecting taxes)。

    区块链未来应用

    每天5分钟了解币和链,有任何不足,欢迎留言和私信。

    相关文章

      网友评论

        本文标题:5分钟认识区块链

        本文链接:https://www.haomeiwen.com/subject/oysmeftx.html