0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

区块链与数据库的异同

倩倩 来源:火星财经 2020-02-04 12:30 次阅读

区块链被诟病的一大原因,就是区块链分布式账本技术(DLT)已经被吹捧成了一剂包治百病的良药,从支付处理和供应链跟踪到数字身份,再到版权保护,似乎当今世界几乎所有的交易问题都可以从中找到答案。

但这也导致了一个问题,许多上链行为是为了用区块链而用区块链。或者换句话说,就算不用区块链,用户的应用问题也能解决。用户就会反问,我为什么要用区块链。

与之相反,数据库已在相同的领域应用了数十年。它们记录一个银行账户中的财产,当货物到达目的地并存储业务用户的身份时,可以访问业务应用程序和敏感数据。

那么,区块链与数据库最大的不同是什么呢?区块链本身又是不是一个缓慢而昂贵的数据库呢?

争论来自于区块链的许多所谓的专有属性,完全可以通过传统的、已印证过的真实技术来实现。例如,已有哈希算法、数字签名和公钥基础设施(PKI)可供使用。如果您需要一个可跟踪的、经过验证的审计跟踪,您可以将您的交易数据保存到数据库中,然后对数据进行数字签名、散列并存储该散列。

事实上,这二者的区别在于:区块链在一个地方具有所有这些功能,并且它与其他系统能够非常好地配合在一起。

区块链与数据库的异同

从更高的标准来看,传统的数据库和区块链都是数据存储和数据管理的基础架构。

传统的数据库可以实现区块链技术上的功能,并且区块链可以访问数据库。然而,如果存在多个业务方需要执行交易,这些业务方可能不会信任个体数据库的拥有者。而这些个体数据管的拥有者却可以创建、升级和保存各种记录的数据。

二者最大的差异在于分布式账本。我们确实已经研发出了分布式数据库,但大多数分布式数据库却由一个个企业单独拥有,这些企业采用分布式数据库的原因也各有不同。”

区块链技术是一项非常棒的技术,它允许在分布式账本上创建和保存不可变的交易记录,上了链的各机构有一个相同的备份并可以访问它。同时,它可以实现恒定、安全、私密和审计链上各方的能力。

不同于只有一个管理员为分类账设置规则的数据库,一条区块链有多个管理员,每一个管理员都有一个精准的分类账本副本。在一个数据库中,管理员控制着数据可以按什么权限分享给不同的用户,当事务被提交时,它们会立即提交到该分类帐中。

区块链的分布式账本技术基于点对点(p,2,p)的分散架构,多个管理员作为其共识协议的一部分。换句话说,区块链网络上的交易首先被提议,然后被社区同意。只要有51%的人同意交易,交易就可以被接受,然后交易就被添加到分类帐中。

区块链的共识协议也意味着它具有容错性,即使在存在恶意用户的情况下,它也可以继续运行,因为大多数用户将保持交易的真实性。

公有链与私有链的不同特质

区块链并不是只有一种。例如,某些区块链属于公链,象比特币;同时,另一些区块链属于私链或混合链,象超级账本、R3 Corda和瑞波。在公链上,任何人都可以注册并且成为网络节点,或者提交事务处理。此外,任何人都有权查看这些交易记录(就象比特币的交易)。

在私链上,分类总账的发起人有权决定谁可以加入、查看交易信息,并且提交新的区块。然而,链中的每个授权节点仍然对哪些数据被批准用于记录有发言权。网络成员由分散的证书颁发机构颁发的成员身份PKI密钥识别。

在许可的区块链交易基础之上达成的分散共识,最终可能使不存在定相互信任的各方以可信任的方式开展业务。

与数据库不同,每一个参与许可区块链网络实体,理论上来说都可以运行一个共识/验证节点;而实际上,因为他们没有相应的技能或带宽,这些实体并没有做这事。相反,他们通常将项目转给项目发起人或供应商。

人们普遍认为,一旦这些公司熟悉并获得区块链方面的专业知识,他们将与项目发起人或供应商一起参与交易验证和共识……然而,这种情况不会在近期发生,直到公共区块链成熟和规模扩大。

特许区块链通过智能合约提供业务自动化工具。智能合约执行透明的、预先确定的规则,并使区块链避开中央权威。智能合约在“如果发生这种情况,那么就执行”的前提下运行。

一种极端的情况,就是智能合约一旦被写就,一个错误就不能被修正,或者改变就不能发生。换句话说,你被错误的代码困住了。

区块链什么时候能替代数据库

治理模型允许区块链临时或永久地拆分或“分叉”,从而创建新的区块分支。硬分叉是与以前的区块链的永久差异;软分叉是向后兼容的临时变化。想象一列火车通过一个开关改变轨道;在区块链中,开关将由大多数人控制,并拥有铁路服务的权力。

公司还不应当采用区块链,除非目前的应用场景真地需要这种类型的架构。原因在于分布式系统总是会增加开销,而且许多算法和技术还处于初级阶段。

这里有两个公司考虑采用区块链与否的关键问题:

生态系统(或分布式账本网络的发起人)是否有充分的理由不希望通过单一的中央控制系统共享数据?公司是否希望处理涉及跨公司边界运行的自动化流程的用例和/或利用通证化技术的潜力?(通证化技术是可将商品资产转化为数字资产)

区块链的用处在于,当两个组织对于世界拥有相同的视角时,可以把数据存在他们自己的数据库中。但如果想要共享这些数据,来确保每家公司看到的数据是相同的,或者或者确保双方实际拥有他们希望交换的资产,都需要付出一定的成本采用区块链。

例如,如果不是使用托管服务或遵循昂贵、缓慢的协议,而是所有方使用相同的数据,那么规范化数据和信任的成本将最小化。试图用数据库做到这一点需要一家公司拥有所有的数据,并为参与转换的每个人提供真实数据的来源。

特证区块链只需要机构之间有足够的信任来决定谁将参与网络,然后区块链会在参与者加入网络后保证他们的诚实。特许区块链网络允许机构之间的进行小规模的价值转移,在这种情况下,双方可以在交易发生之前和之后立即就分类账的状态达成一致。”

虽然很多公司还是会对区块链与传统数据库的区别感到混淆,但随着各类公司不断试点项目,分布式账本技术似乎将在未来几年快速增长。相信随着分布式账本技术的不断被应用,区块链的春天也就随之而来了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3855

    浏览量

    64799
  • 区块链
    +关注

    关注

    111

    文章

    15563

    浏览量

    106843
收藏 人收藏

    评论

    相关推荐

    分布式云化数据库有哪些类型

    分布式云化数据库有哪些类型?分布式云化数据库主要类型包括:关系型分布式数据库、非关系型分布式数据库、新SQL分布式数据库、以列方式存储
    的头像 发表于 01-15 09:43 131次阅读

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
    的头像 发表于 01-14 11:25 159次阅读
    MySQL<b class='flag-5'>数据库</b>的安装

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
    的头像 发表于 01-07 10:22 161次阅读

    数据库加密办法

    企业对于数据的重视程度不言而喻,也衍生出了数据=资产的概念。但是数据泄漏的事件频繁发生,为了保护数据资产,企业有必要对数据库做一些针对性的措
    的头像 发表于 12-24 09:47 184次阅读

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 243次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python。
    的头像 发表于 12-13 15:14 245次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库
    的头像 发表于 12-09 11:05 242次阅读

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库
    的头像 发表于 10-31 13:21 353次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据
    的头像 发表于 09-30 13:31 411次阅读
    Oracle<b class='flag-5'>数据</b>恢复—异常断电后Oracle<b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 547次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Oracle<b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 424次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例

    恒讯科技分析:sql数据库怎么用?

    SQL数据库的使用通常包括以下几个基本步骤: 1、选择数据库系统: 选择适合您需求的SQL数据库系统,如MySQL、PostgreSQL、Microsoft SQL Server、SQLite等
    的头像 发表于 07-15 14:40 424次阅读

    数据库数据恢复—SQL Server数据库所在分区空间不足报错的数据恢复案例

    SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。
    的头像 发表于 07-10 13:54 605次阅读

    数据库数据恢复—raid5阵列上层Sql Server数据库数据恢复案例

    数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区
    的头像 发表于 05-08 11:43 593次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—raid5阵列上层Sql Server<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    选择 KV 数据库最重要的是什么?

    经常有客户提到 KV 数据库,但却偏偏“不要 Redis”。比如有个做安全威胁分析平台的客户,他们明确表示自己对可靠性要求非常高,需要的不是开源 Redis 这种内存缓存,而是 KV 数据库。虽然
    的头像 发表于 03-28 22:11 758次阅读
    选择 KV <b class='flag-5'>数据库</b>最重要的是什么?