谈谈区块链与分布式账本技术
随着以比特币为代表的加密货币的兴起,“区块链”的概念也成了人们热衷讨论的话题。但与区块链类似的另一个概念“分布式账本技术”却没有得到同等程度的关注。
当“区块链”与“分布式账本技术”同时出现的时候,我们不禁会问,这两个概念是一样的吗?
通常情况下,大家会把“区块链”和“分布式账本技术”理解为同样的概念,实际上这是一种普遍的误解。一些企业曾试图利用加密货币引发的热潮以“区块链”重新包装自己进行炒作,使得区块链的概念一度成为欺诈的代名词。与此同时,“分布式账本技术”在没有被大肆宣传的情况下成为了金融机构和政府机关普遍愿意采纳的技术概念。
现阶段许多领域都涉及到了区块链技术,包括电子商务、物联网等等,它将组织,政府,金融机构和支付平台引入一个新的数字时代。先简单的说明一下两者技术上的含义,区块链是一种典型的分布式总账,是多边自治(区块链节点是自治的,不需要一个中心化的节点进行统筹或调度),靠密码学原理和集群优势(一般来说篡改区块链的数据需要控制集群大多数节点)保证不可更改地记录价值的产生和转移行为,以可编程的方式实现和价值有关的业务逻辑(智能合约)。分布式总账不一定是区块链,只要具有多边自治技术手段(共识机制和防伪机制)和以价值为背景的数据内容,就可以纳入分布式总账的范畴。
区块链系统是连拜占庭错误都可以容错,即是在拜占庭错误发生时,也可以保持系统正确性的系统,而一般的通用分布式数据库则无法容忍拜占庭错误(所以要保证拜占庭错误无法出现)。区块链其实是replicated storage,每个人都有全部信息,并保证强一致性,而分布式数据库的不同partition之间信息是完全不一样的。只有同一个partition的replica会持有相同信息。
我们现在的数据库,无论是SQL这样的关系数据库还是MongoDB这样的NoSQL,本质上都是中心化的。中心化的数据库解决的痛点是速度和带宽,可以以较高的速度增、删、读和写。
现代数据库也有号称分布式储存的,但是这种所谓“分布式储存”只是在服务器集群意义上的分布,比如冗余设定,备份恢复,乃至于流量均衡,但是归根结底,现代数据库——哪怕分布在全世界的各个角落,它们依然是统一储存和管理的。
解决了速度和带宽的痛点,随之而来的新痛点就是数据的安全和隐私问题。典型的例子比如百度网盘,很多人传的文件,如果不符合网盘的规章制度,不打招呼就会被删除掉。这其实意味着,当你把数据上传到数据中心的那一刻,这个数据就不是完全归你所支配了,数据中心有能力查看、删除、修改你的数据。
再完备的法律,也杜绝不了数据中心自己的道德风险,比如说如果数据中心个别员工有心捣乱,总是可以让你的数据置于危险之中,这本质上是因为数据的所有者和储存者分离所造成的。去中心化的数据库,也就是区块链数据库,在保持所有者和储存者分离的前提下,解决了所有权和隐私这个痛点的,而反过来牺牲的则是速度和效率。
互联网在发展过程中,先后经历了试验网络、基础架构和协议、商业应用、大规模普及等四个阶段,每个阶段都长达 10 年左右。其中第二个阶段尤为关键,TCP/IP 取代了已有的网络控制协议成为核心协议,这奠定了后来全球规模互联网的技术基础。
作为一套前所未有的大规模协同网络,分布式账本网络的发展很大可能也要经历这四个阶段的演化。当然,站在前人肩膀上,无论是演化速度还是决策效率,都会有不小的优势。
客观来看,虽然超级账本、以太坊等开源项目在基础协议和框架方面进行了诸多探索,并取得了重要成果,但在多账本互联、与已有系统的互操作性等方面还存在不足,商业应用的广度和深度仍需实践的考验。
但毫无疑问,分布式账本科技已经成为金融科技领域的重要创新,必将为金融行业创造新的发展机遇。而未来的商业协同网络,也将成为人类文明进步的重要基础。