「分布式数据库」、「分布式账本」常被许多人理解为区块链的另一个名字。很多时候,他们「看起来一样」甚至「用起来也差不多」。
那么到底能不能把区块链跟数据库划上等号?
人们常说区块链就是一个又慢又贵的数据库,可扩展性还不好。真是这样吗?
确实,区块链永远不会像传统数据库那样快。然而,与数据库相比区块链更胜一筹,我们有必要了解这些优势。
本文中,我们将从数据的角度来讨论区块链到底是什么,然后再来看看区块链和数据库之间最重要的区别。
「块链」到「区块链」
从数据角度来看,区块链用一个个块来存储数据,是一个与「链表」非常类似的结构。链表是一个线性数据结构,入口点称为链表头。链表中每个元素都是一个单独的对象,由数据和指针组成,最后一个块的指针为空。
央视实地采访欧科云链集团 围绕区块链新兴职业深入调研:7月28日,CCTV-4《中国新闻》栏目围绕新增设的两个区块链职业进行深入报道。央视记者实地到访欧科云链集团,结合新兴职业如何吸纳就业等话题,与欧科云链区块链工程师及人力资源总监展开深入交流。
采访中,欧科云链区块链工程师介绍称,区块链技术具有可追溯、不可篡改等特性,能够广泛应用于版权保护及金融、物流等领域。作为新增职业中的“区块链工程技术人员”,其主要负责区块链浏览器等产品的开发。
欧科云链人力资源总监则表示,区块链自去年上升为国家战略后,在今年4月又入围新基建,整个行业近两年发展迅速,但人才缺口巨大,欧科云链今年上半年引入各类区块链人才近300名,较去年同期增长30%,其中包括近百名通过校招吸纳的应届毕业生。[2020/7/28]
链表结构
区块链增加了一个功能来防止历史数据被篡改。
1991年,StuartHaber和W.ScottStornetta两位作者首次对以加密学为基础的「块链」进行研究,想要构建一个不能篡改文档的时间戳系统。
1992年,Bayer、Haber和Stornetta将Merkle树嵌入设计之中,将多个文档证书收集到一个块中,提高了块链的效率。
韩国税务支持计划中排除了区块链初创企业:韩国近日宣布了一系列紧急支持措施,这些措施将使大邱市、庆山市以及大庆市的中小企业得到多达60%的税收计划。但是,与区块链相关的公司,以及部分保险公司、律师事务所没有资格。一些韩国区块链公司表示这“令他们深感失望”。(Cryptonews)[2020/4/8]
密码学为安全基础的「块链」结构
要注意当时还没有使用「区块链」这个词,而是使用了「块链」,中本聪在比特币白皮书中使用的也是「块链」一词。
如今,概念被再定义。许多项目和IT巨头都在谈论区块链技术。我们已经知道最开始的区块链实际上指的是密码学为安全基础的「块链」的数据结构,后来,区块链随着人们的谈论产生含义变化,区块链一词更广泛的来表示相同数据结构的分布式网络,更多的以「分布式账本」被谈起。
区别1:数据存取只能「CR」、不能「UD」
常见的数据库不使用「块」,而是使用「表」。表是数据库中以表格式保存的相关数据集合,由列和行组成。
声音 | 赣州市委书记李炳军:加紧谋划布局 把“区块链+AI”作为赣州的发展战略:12月3日,赣州市委书记李炳军主持召开会议,邀请区块链专家讲解“区块链在实体经济中的应用”。李炳军表示,要深入学习习总书记在中央局第十八次集体学习时的重要讲话精神,把“区块链+AI(人工智能)”作为赣州的发展战略,打造推动高质量发展的新引擎,为实现弯道超车提供重要支撑。赣州在区块链应用领域拥有良好基础,我们要抢抓机遇、乘势而上,把“区块链+AI”作为赣州的发展战略,加紧谋划布局,补齐人才等短板。要依托赣州区块链金融产业沙盒园优势资源,围绕“区块链+城市治理”“区块链+产业发展”“区块链+政务服务”,加强基础应用研究,将现代家居、纺织服装、稀土、脐橙、医疗和红色旅游等产业与区块链紧密结合起来,加快构建区块链产业生态圈。要时刻关注区块链的发展现状与趋势,在深化区块链知识的学习中,不断提升管理与运用区块链技术的能力,让区块链在革命老区高质量发展示范区建设中发挥更大作用。要研究形成全市区块链产业推进工作机制,加强统筹协调,强化保障、凝聚合力,运用区块链打造推动高质量发展的新引擎。[2019/12/4]
在关系数据库中,表是一组数据元素,使用垂直列和水平行的模型,形成行和列相交的单元格。表具有指定数量的列,但可以有任意数量的行。
声音 | 微观科技联合创始人段林霄:评判一个优质的、高价值的区块链项目需要从多个维度观察:微观科技联合创始人、首席战略官段林霄在朋友圈表示,评判一个优质的、高价值的区块链项目,要从几个维度去观察:
1、区块链既然解决了信任问题,那么在区块链的信任环境里,是否降低了各方的信任成本、沟通成本、合规成本?在跨境贸易领域里,是否帮助到企业能够获得金融、监管机构的信任,从而获得低成本融资、便利化的监管服务?
2、链上数据,是各方共同创造出的“过程数据”?还是将“结果数据”上链,如果是后者,区块链应用到意义在哪里?——分布式数据库?
3、区块链的内核精神与“中心化”、“弱中心化”、“去中心化”的关系,纠结形式主义上的区块链,是形而上学,而非灵活、务实运用。
4、生态建设能力、开放合作能力与态度、场景结合区块链的顶层设计能力……[2019/11/13]
数据表
人们可以在数据库中对数据使用四种基本操作:创建、读取、更新和删除。
然而,区块链只允许两种操作:创建和读取。区块链只能在区块链的末尾附加一个完整的区块,添加后数据无法更新或删除。
花创投创始人吴世春:五大领域、四个条件承载 “区块链改造”:花创投创始人吴世春近日在接受采访时表示,他认为五大领域、四个条件承载 “区块链改造”。五大领域为:1.金融科技;2.文化娱乐;3.物联网;4.供应链;5.医疗服务。四个标准和条件为:第一,项目具有大量的面对C端用户的群体,而且这些个人用户群体愿意在里面贡献,在里面建设;第二,项目属于模式创新类,像纯粹的技术创新或者硬科技和黑科技不适合区块链改造,是模式创新类适合区块链改造的;第三,所有业务都在线上发生,不涉及到鼠标、水泥,没有那么重的线下的物流之类的一些东西;第四,行业已经被传统巨头垄断或相对垄断。[2018/3/8]
数据库允许人们不断地更改甚至删除过去存储的数据。区块链有意保持历史数据不变并始终可用。
区别2:数据权限「一组管理员」≠区块链节点
除了「允许进行什么操作」,「谁来操作」也是看待区块链和数据库之间不同的另一个重要层面。
数据库由一个或者一组管理员维护。管理员有权对数据做任何他想做的事情。管理者通常是大公司的雇员,必须遵守公司所有者制定的规则,会授予用户有限的权力来创建、读取、修改或删除数据。
但是,即使用户输入了正确的数据,管理员还是可以修改或删除它。如果对数据正确性存在争议,用户没有或者仅掌握有限的修改权限,管理员总是比用户拥有更多的权限。
区块链中不存在修改和删除权限数据的管理员。网络中的节点必须对任何要添加的数据达成一致。一旦添加了块并得到确认,就没人能轻易地更改历史数据,而且人们总是可以通过区块链对过去发生的事情进行证实。
区块链取代了由管理员维护的单一服务器的方式,换以一组独立节点,对添加的内容达成共识。
从直接参与者的角度来看,少数实体之间的私有区块链可以看作是一个分布式、去中心化的系统。如果私有区块链在单个公司中使用,那么虽然它有一些分布式系统的优势,但仍然是中心化的解决方案。对于单个公司,数据库可能是更好的选择。
区别3:数据备份「冗余数据库」≠区块链
传统数据库进行「数据复制」,主要是防止数据丢失,不能防止篡改历史数据或管理员重写数据。如果一个服务器接受了更改,而其他服务器没有,还可能存在数据不一致的情况。
数据复制
区块链利用去中心化共识,简洁的解决了上述问题。一旦网络中的所有或大多数节点同意添加一个新块,数据就会写入许多硬盘。即便生产新块的节点在这一同步后立即崩溃,数据也总能在其他节点上确保安全,崩溃的节点随后还能够获得关于所有区块的有效版本。
数据在所有节点达成一致后被写入所有磁盘
多个备份数据库也不能与区块链具有同等的安全性。
「数据复制」意味着一个服务器向其他服务器发送数据以进行备份。在存储数据之前,服务器之间并没有对储存某个版本数据达成共识。如果一个服务器发送了无效或错误的数据,其他服务器只是盲目地接收和存储它。
与此相反,在区块链中,大多数节点在将一个块存储到区块链之前必须达成一致意见。
区别4:数据传输分布式系统≠去中心化方案
传统数据库采取主从式架构(client-server),这是一种软件结构模型,由客户端系统和服务器系统两部分组成。它们通过计算机网络或在同一台计算机上通信。主从式架构的应用程序是由客户端和服务器软件组成的分布式系统,但还是以一个以服务器为中枢的中心化解决方案。
数据库建立在服务器上。因此,如果只有一个服务器,那有可能造成所谓的单点故障。一旦服务器不能运行,所有的客户端都不能与服务器通信,也就不能彼此通信。
从数据的角度看,所有的客户端必须依赖于服务器,认为它诚实且做足了安全保障。
现在,很少看到只有一个服务器的网络。在大多数情况下,网络中有更多的冗余服务器。如果一个服务器崩溃或暂时不可用,则会有另一个服务器代为处理所有请求,但这只有在服务器之间已经复制数据的情况下才有可能。
如果向服务器发送交易或请求,数据将在给定时间内写入一个数据库,然后再将数据备份到其他数据库。通常会有一些延迟,还有可能出现数据传输不一致的情况。
区别5:数据存储不可更改与价值证明
数据库可以用于安全监控、信号提示、信息收集和授权等场景。许多数据库以数据库触发器的形式提供有效的数据库特性。在使用云数据库时,数据通常只对少数人很重要,实现在数据库系统中安全性就足够了。用户可以信任数据库所有者,因为有法律等其他机制可以解决可能出现的问题。
当要求存储不可改变的信息,比如证明状态X在Z时点对用户Y有效时,区块链的优势就体现出来了。它适合保存并证明所有权。这就是为什么人们可以在区块链上创建数字货币。这类信息不能被个人所改变,安全性必须很高。添加区块的过程其实就是以一种免信任的方式为大量用户添加许多X状态的过程。
区别与权衡
数据库很强大,人们可以利用它实现几乎所有想要的功能,但区块链的特有功能,数据库是做不到的。
让我们回顾一下,看看传统数据库无法实现,区块链具备的特性:
数据不可更改。区块链本质上是一个去中心化分布式网络,数据在达成一致后被同时写入许多磁盘,改变历史数据非常困难,几乎不可能。主要区别在于是否以去中心化方式实现一个数据库。
附加的安全数据。正如上一点谈到的,只有在大多数实体同意的情况下,新块才会被添加。因此,插入一些被认为无效的数据是不可能的。参与者必须严格遵守规则,更多的相互独立的实体共同关注规则的执行。
没有管理员。区块链上没有管理员这样一个角色来掌握更改任何内容的权力。节点相互协商,共担责任。区块链具有免信任、抗删除的特点。
没有单点故障。这主要适用于PoS和PoW共识机制。对于DPoS共识来讲,当几个节点同时不可用时,可能会出现问题。
人们可以根据需求的不同,选择用传统数据库或者区块链技术。在采用区块链时,通过选择私链或公链,来实现不同程度的去中心化数据管理。
很难实现高可扩展性并保持高度的去中心化。数据必须分布在世界各地,因此必须考虑网络延迟。达成全球共识需要一些时间。区块链永远不会像数据库那样有效,但它可以在免信任、去中心化和防止篡改历史数据等方面提供保护。
去中心化的方式也同样具备替代传统互联网巨头的潜力,让更多人掌握数据并从中受益。
编译:stakefish
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。