什么是区块链 什么是真正的区块链


什么是区块链 什么是真正的区块链

文章插图
随着国家政策的利好,区块链再次获得了广泛的关注 。由于近期“圈外”朋友经常问我些基础问题,我整理了这篇文章,主要介绍三件事:什么是区块链?区块链和数字货币经历了怎样的历史发展?区块链目前有哪些应用场景,和普通人有什么关系?
到底什么是区块链?
让我们先从一些基础概念开始 。
根据百度,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式 。它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块 。
我们尝试把“什么是区块链”翻译成“人话” 。
定义中提到了区块链的本质——“去中心化的数据库” 。这就和传统的“中心化数据库”,在存储、更新、操作上有了很大的不同 。
中心化的数据库可以被想象成是这种形状:
什么是区块链 什么是真正的区块链

文章插图
比如,当我要想用支付宝向淘宝卖家付款,从我打钱到他收款的全部数据请求会由支付宝集中处理 。这种数据结构的好处是,只需支付宝一家负责系统的高效、安全运行,其他人无条件相信它就好,不用操心;坏处是,万一支付宝出了问题,比如被黑客攻击、服务器被火烧没了、出现内鬼了、公司跑路了(当然,以上可能性都超低),我们在支付宝里的余额明细等信息就都乱套了 。
那就有人觉得,这种小概率事件是不是可以用什么技术手段规避下单一性风险,把数据不只交给某一家中心化机构 。比如说,每个人都可以存储和处理数据 。
那数据库结构可能长这样的形状:
什么是区块链 什么是真正的区块链

文章插图
这张图是“分布式数据库”的结构示意图,每个点都是一个服务器,都有平等的权利记录和运算数据,信息点对点地传播 。乍一看,确实是能抵御某一个节点崩溃产生的风险,但是直觉上也很混乱低效,我的信息到底谁处理,结果又是谁说了算?
这时,区块链定义中的“共识机制”要发挥作用了 。共识机制主要“规定”了这么几件事:当接收到数据请求时,谁来处理(需要什么资格条件);谁来验证结果(看他有没有好好处理);怎么防止处理员和检查者串通作恶等 。
当一项“规定”被琢磨出来后,可能有人喜欢有人质疑 。为了形成更强大的共识,除了把规则编写得更合理,还要更诱人,让人们有兴趣和动机参与到处理数据这项工作中 。这就涉及到了公链的激励机制 。等我们后面讲到区块链分类和数字货币的作用时,再来展开 。
当我们把一项事务交给一套分布式网络时,还有一道 “心理门槛”:这么多节点能处理信息,我又一个都不认识(不像支付宝,万一害了我,我还能找它打官司),他们都有我的数据,我凭什么放心交给他们?
这时,加密算法(区块链定义里的最后一个描述性词汇)登场 。
在区块链网络中,我们发出的数据请求,会根据密码学原理被加密成为一串接受者完全看不懂的字符 。这种加密方式的背后是哈希算法在支持 。
哈希算法可以把任意类型的数据,快速变成哈希值 。这种变化是单向不可逆推、确定又随机、防碰撞的 。也正因这些特性,处理我数据请求的人能帮我记录信息,却不知道我是谁,我具体在做啥 。
聊到这里,去中心化网络的运作原理就介绍得差不多了 。但我们好像漏了一个细节,前面的示意图像一张网,区块和链在哪?我们为什么要叫它区块链?
要想搞懂这件事,需要先扫清几个知识点:
前面的图片实际是“宏观”的数据库的视角,展示了区块链系统处理信息的基本规则和流程 。而具体到“微观”的数据日志的层面,我们会发现,账本被打包压缩存储到了一个个区块中,并按时间顺序串起来,形成了“链式结构”,like this:
什么是区块链 什么是真正的区块链

文章插图
图里的每一环可以被看作是一个区块,很多环节扣在一起就形成了区块链 。区块里存储的是数据,和普通存储数据的不同之处在于:在区块链上,后一个区块里的数据是包含前一个区块里的数据的 。
要想学术地解释区块中每部分数据的字段有点晦涩,我们试着用一本书来比喻什么是区块链数据结构 。