区块链 | 四个比喻 快速理解区块链

作者: 树的回忆00 | 来源:发表于2017-05-22 14:24 被阅读659次

    读完本文可以收获什么?

    - 基本的对区块链技术的理解

    - 你可以简单快速的解释区块链技术

    懒得看文字的人可以直接看一些科普视频就不用读文章啦:区块链知识快速入门

    重要假设:读者已经理解基本的比特币(bitcoin)的功能,知道钱包,转账,矿工等基础概念。本文不是技术科普,不讨论区块链的技术定义,技术实现,如果有兴趣的人可以参考 bitcoin whitepaper比特币白皮书 / Mastering Bitcoin eBook

    最基本的信息:大家口中说的Blockchain被翻译为区块链,它是bitcoin比特币的底层技术和实现。在比特币运行之后人们发现区块链结构和特性的特殊之处,有运用到除了金融和支付之外其他行业的潜力,于是区块链技术被单独提炼出来进行研究和讨论。

    比喻1-- 分布式数据库

    Distributed Database

    区块链是可以看作是一种信息储存技术,是一个信息储存媒介。它是一种分布式的数据库。你的数据会被分布在多台计算机上(计算机就行,不一定要是服务器)。

    其中特别的点就是,每台计算机储存的内容一模一样,完全相同。一台的内容丢失了其他所有的都还有一样的内容,不必担心数据的丢失。这是怎么做到的呢? 区块链的形成和维护需要多台计算机,利用共识算法(consensus algorithm)可以在限定时间内达成共识,同步他们所接受和储存的数据。理论上说,计算机越多,这个区块链就越稳定越公平(可能存在的坏人掌控整个网络的可能性降低)。

    共识算法浅显的说就是,对于区块链中接收到的数据,你要进行什么要的操作和计算,怎么样决定一个数据是可疑数据还是可信数据,什么情况下放弃一个数据,怎么情况下储存一个数据。什么时候你要接受来自你附近的计算机给你的数据,什么情况你可以发布你的数据让附近的计算机接受储存等等。

    所以一旦你的数据进入了blockchain,它就被广播一样的发布给所有区块链中的计算机,分布式的被储存起来,无法丢失,无法改变。

    比喻2 -- 账本

    Ledger

    在我们的日常生活中我们都会接触到账本,其基本作用就是保存不断新增的交易记录。最直观的例子就是我们的银行流水账单。虽然各个不同账本的具体内容可能有所改变,但是里面最基本的会记录:时间,交易进行双方(交易来自哪里,去向何方),交易进行效果(比如存钱,取钱,转账等等)。其他具体的更多的内容会根据不同的场景细微改变。

    区块链的一大特性就它就是一个大账本,区块链中储存的数据都是交易记录(transactions) 。整个区块链中任何用户产生的任何交易,都不仅仅被你自己的计算机记录,而是被整个区块链的每一台计算机记录。也就是每一笔交易都会被记在账本上,而整个账本在区块链的任何一台计算机上都是可见并且一致的。换句话说,你在区块链中进行的任何交易都是透明的,公开的,加上比喻1中提到的内容,他们也是不可变的。

    比喻3 -- 日志(log)

    Log

    航海日志,打卡记录,借书记录卡等各种日志在我们的日常生活中非常常见。

    现在流行打卡我们就用打卡来比喻吧!想象一下你有一个群打卡记录本,大家都把自己的打卡内容发出来,你收到内容之后,验证他们的可信度,把几十条可信的打卡记录写入一本日志本的一页纸上。在这里,写入本子的就是已经被认证属实的内容了。为了以防别人对这个记录进行篡改,你把这个记录找一张照片,然后贴到下一张记录的最上方。以此类推,每次写满一张纸你就给这张纸照个相,贴到下一张的上面,然后下一张纸继续记录打卡内容。 在以后的日子里,新的纪录不断增加,而旧的记录没有人能够改变,因为在新的页面总是有一张旧记录的照片,告诉你旧记录长什么样,每个人都可以验证这个内容。

    区块链里面的计算机们就是这样工作的(我们叫这些验证内容和写入内容的计算机矿机miner)。它会读取用户产生的任何一笔交易,进行一个基本的验证和计算,看看这笔交易是否能被储存。如果可以,固定数量的交易将会被绑定在一起,储存在一个区块中,每个区块的会根据这些交易产生一个哈希值(Hash)。一个区块写满了计算机们会留住前一个区块的哈希值,然后把新内容写到新的区块里,等新区块满了,又进行运算产生新的哈希值(Hash)。哈希值简而言之就是一串固定长度的加密数据。

    用户交易 = 打卡记录,一个区块 = 一页纸,哈希值 = 上一页纸的照片。由于哈希值的传递,也就是照片的存在,每个之前产生的区块都不可能被改变了。哈希值就是区块之间的链接。想象一下你有一张照片里面有一张照片,而它里面又有一张照片,这张照片里面还有一张照片, 无穷无尽。。。这样的情况下你还敢篡改任何一个之前的记录吗?基本完全不可能了。

    比喻4 -- 一致且持久的通讯网络

    在区块链中,由于共识算法的存在,所有的计算机都会和其他计算机同步,或者一直在试图达到同步的过程中。任何一台机一个点接收到的数据都会被同步传递(或者说广播)给整个区块链的每一台计算机。从这个角度上看,区块链可以算是一个通讯网络,信息一投放进去,就会自动传播,并且被永远的锁在里面。

    综合模型

    所以综合起来,区块链技术相当于一个,持久可靠有内部通信和同步功能的分布式账本日志。

    经过以上四个比喻,亲爱的读者们,对你们而言区块链技术有没有比较容易理解了呢?

    第一次写和区块链技术有关的文章,欢迎大家批评和指正。

    如需转载请经本人允许。谢谢。

    相关文章

      网友评论

      • 老赵读币:去中心化是不是也应该单独说一
        树的回忆00:@米德空间 去中心化我觉得是它的特性 是因为分布式结构导致的结果。
      • 我在睡觉:单一节点不可能保证存储全部交易记录,这个问题如何解决?
        树的回忆00:@我在睡觉 普通用户可以只用进行交易的wallet不需要储存所有的数据。 然后除了比特币以外的其他区块链也确实要考虑这个问题 之前有看到讨论说可以把一定时间以上的陈旧交易记录全部用hash代替。
        树的回忆00:@我在睡觉 无法发图给你 你看一下上面的链接 这个问题可以分成几点看:1 不是所有的节点都要做full node 是有不同种类的 2以比特币做例子它的full node大概要50G左右的空间 (很久没查最新数据了 你也可以找一下) 这个对于大部分计算机而言是可以接受的 专门的矿机当然配置会更高更合适~
        树的回忆00:@我在睡觉 http://chimera.labs.oreilly.com/books/1234000001802/ch06.html#_nodes_types_and_roles
      • 大圣2017:图形有点小问题:区块链是网状拓扑,每个节点都是对等的,不应该有关键节点(当他宕机后,导致网络分裂)
        树的回忆00:@大圣2017 已更新 看看对不对?
        树的回忆00:确实会给人一种有关键节点的错觉 你好严谨呢:+1:
        树的回忆00:谢谢建议,我改一下,画图的时候想得不够细致~
      • 再无人像你:我觉得应该叫数据库集群
        葵芳斋:@树的回忆_琳 应该是难以篡改吧,目前主流区块上的数据理论上都是可以篡改的,只是难度非常大
        树的回忆00:@人来人往_f3ae 谢谢~ 如果改写为"自动同步不可改的数据库集群" 会不会更利于理解?

      本文标题:区块链 | 四个比喻 快速理解区块链

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