随着国家政策的利好,区块链再次获得了广泛的关注。由于近期“圈外”朋友经常问我些基础问题,我整理了这篇文章,主要介绍三件事:什么是区块链?区块链和数字货币经历了怎样的历史发展?区块链目前有哪些应用场景,和普通人有什么关系?
到底什么是区块链?
让我们先从一些基础概念开始。
根据百度,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块。
我们尝试把“什么是区块链”翻译成“人话”。
定义中提到了区块链的本质——“去中心化的数据库”。这就和传统的“中心化数据库”,在存储、更新、操作上有了很大的不同。
中心化的数据库可以被想象成是这种形状:
比如,当我要想用支付宝向淘宝卖家付款,从我打钱到他收款的全部数据请求会由支付宝集中处理。这种数据结构的好处是,只需支付宝一家负责系统的高效、安全运行,其他人无条件相信它就好,不用操心;坏处是,万一支付宝出了问题,比如被黑客攻击、服务器被火烧没了、出现内鬼了、公司跑路了(当然,以上可能性都超低),我们在支付宝里的余额明细等信息就都乱套了。
那就有人觉得,这种小概率事件是不是可以用什么技术手段规避下单一性风险,把数据不只交给某一家中心化机构。比如说,每个人都可以存储和处理数据。
那数据库结构可能长这样的形状:
这张图是“分布式数据库”的结构示意图,每个点都是一个服务器,都有平等的权利记录和运算数据,信息点对点地传播。乍一看,确实是能抵御某一个节点崩溃产生的风险,但是直觉上也很混乱低效,我的信息到底谁处理,结果又是谁说了算?
这时,区块链定义中的“共识机制”要发挥作用了。共识机制主要“规定”了这么几件事:当接收到数据请求时,谁来处理(需要什么资格条件);谁来验证结果(看他有没有好好处理);怎么防止处理员和检查者串通作恶等。
当一项“规定”被琢磨出来后,可能有人喜欢有人质疑。为了形成更强大的共识,除了把规则编写得更合理,还要更诱人,让人们有兴趣和动机参与到处理数据这项工作中。这就涉及到了公链的激励机制。等我们后面讲到区块链分类和数字货币的作用时,再来展开。
当我们把一项事务交给一套分布式网络时,还有一道 “心理门槛”:这么多节点能处理信息,我又一个都不认识(不像支付宝,万一害了我,我还能找它打官司),他们都有我的数据,我凭什么放心交给他们?
这时,加密算法(区块链定义里的最后一个描述性词汇)登场。
在区块链网络中,我们发出的数据请求,会根据密码学原理被加密成为一串接受者完全看不懂的字符。这种加密方式的背后是哈希算法在支持。
哈希算法可以把任意类型的数据,快速变成哈希值。这种变化是单向不可逆推、确定又随机、防碰撞的。也正因这些特性,处理我数据请求的人能帮我记录信息,却不知道我是谁,我具体在做啥。
聊到这里,去中心化网络的运作原理就介绍得差不多了。但我们好像漏了一个细节,前面的示意图像一张网,区块和链在哪?我们为什么要叫它区块链?
要想搞懂这件事,需要先扫清几个知识点:
前面的图片实际是“宏观”的数据库的视角,展示了区块链系统处理信息的基本规则和流程。而具体到“微观”的数据日志的层面,我们会发现,账本被打包压缩存储到了一个个区块中,并按时间顺序串起来,形成了“链式结构”,like this: