最近两年,国内的技术界和投资圈都在谈区块链,说得天花乱坠,说什么区块链预示着新经济体系的到来,区块链打破中心化,数据垄断等等。我们的中小型企业家更加为之沸腾,见人必说区块链,比特币,不说一下,都显得自己是刚从农村里面来的。
作为一个15年的老技术人,我可以负责任地跟大家说,区块链不等于比特币或者虚拟货币,虚拟货币只是区块链的其中一个表现形式而已。那么,区块链到底是什么,今天就以我的理解,跟大家聊聊区块链。
到底什么是区块链?其实区块链,从技术角度来看,就是一个全球(或者某一区域范围内)的分布式数据存取平台(以下简称“平台”)。这个平台以账本的方式记录着所有用户提交的数据情况。区块链上每一个用户,都拥有一本属于自己的账本,并拥有一个存档自己账本的空间(个人服务器或者云端私人安全空间)。账本记录的每一笔信息(PS:信息可以是任何类型的信息或数据,如:个人病历,证件,资金记录,固定资产,保险信息等)。而个人账本的每一个变化或某一时刻的状态,又会被同步记录在公链或联盟链中。并通知平台中其他需要通知的用户,并且把该用户此次的数据状态更新到自己的账本上。
从上面的阐述,学过编程的,我们可以知道,区块链平台,从技术上来说,其实是一个大型分布式双向链表系统,根据链表的特性我们可以知道,链表是有序的,而且每个节点都有两个指针变量,一个指针变量指向当前节点(区块)的前一个节点的指针,另一个是指向下一个节点(区块)的指针,这个指针就是区块链里面的区块地址(一般是hash值),而且在查询方面,链表中,越往后的节点,查找和添加的操作越是复杂,而且,在操作过程中,也有可能存在失败的情况。所以,这时候就需要引入一致性算法来保证数据的准确性,确保每个用户的数据是一致的。这个就是区块链的数据一致性算法。(最简单的实现就是MD5和hash-256)。由于区块链具有防纂改性和分布式存储的特点,所以,我们需要给每个区块都加上一个上链后的验证值和一个本地的防纂改验证值,这个就是数据区块的签名,这个就是区块签名了,最后,就是数据部分,区块链技术是属于通用底层技术,他并不局限于某一个或者某几个领域。
那,虚拟货币又是什么,什么是挖矿?虚拟货币只是区块链技术的其中一个表现方式,虚拟货币中的挖矿,是代表着完成某一项工作在网络中所花费的时间和算力(PS:完成工作的成本包括但不限于:计算机/服务器的消耗,各方记录该业务状态所消耗的时间),这项工作类比到生产领域,可以是写入一个订单,写入一份电子病历,完成一次支付动作,投递一份包裹。更新一张物流单据的状态。比特币中,用了“挖矿”这个词代表了工作。
而比特币挖矿的工作,其实是猜解下一个区块的区块地址(一般是hash值),总的来说,比特币中的挖矿,就是一个猜谜语的游戏。