区块链101:区块链和数据库的区别是什么?

简介:
1620

正如我们的指南中所说的“区块链技术是什么?”传统数据库和区块链之间的区别始于体系结构,或者技术是如何编排的。

在万维网上运行的数据库经常使用客户机-服务器网络体系结构。

1620

用户(客户端)具有与其帐户相关联的权限,可以更改存储在集中式服务器上的条目。通过更改“主副本”,当用户使用他们的计算机访问数据库时,他们将获得数据库条目的更新版本。对数据库的控制仍然保留给管理员,允许访问权限和权限保持为中央权威。

这与区块链完全不同。

对于区块链数据库,每个参与者维护、计算和更新新条目到数据库中。所有节点一起工作以确保它们都得到相同的结论,为网络提供内置的安全性。

1620

这种差异的结果是,区块链非常适合作为特定功能的记录系统,而集中式数据库则完全适合其他功能。

分散控制

区块链允许互不信任的各方在不需要中央管理员的情况下共享信息。事务由一个作为协商一致机制的用户网络处理,这样每个人都可以同时创建相同的共享系统。

分散控制的价值在于消除了集中控制的风险。有了集中式数据库,任何有足够访问该系统的人都可以破坏或损坏内部数据。这使得用户依赖于管理员。

一些管理员已经赢得了他们的信任,在很大程度上。例如,人们的钱并没有被银行窃取,这些银行将他们持有的钱记录在私人数据库中。还有一个逻辑上的原因,为什么你想要集中控制。集中控制可能是一个专业,一个存在的理由。

但是,这也意味着那些有控制权的人,比如银行,需要花费数十亿美元来保持这些中央控制的数据库不被黑客或任何想从他人的损失中获利的人所改变。如果我们信任的中央管理人员在这方面不成功,那么我们就输了。

自己的历史

大多数集中的数据库在特定的时刻保持最新的信息。他们或多或少是一个瞬间的快照。

区块链数据库能够保存当前相关的信息,但也能保存以前的所有信息。区块链技术可以创建具有自己历史的数据库。它们像不断膨胀的历史档案一样成长,同时也提供实时的肖像。

妥协或更改这些导致人们调用区块链数据库的数据库是不可变的。它也是我们可以开始看到数据库演变成一个记录系统的地方。

性能

虽然区块链可以使用记录系统,并且是理想的交易平台,但与我们今天通过Visa和PayPal看到的数字交易技术相比,它们被认为是一个缓慢的数据库。

虽然这种性能肯定会有所改进,但区块链技术的本质要求牺牲一些速度。在区块链技术中,分布式网络使用的方式意味着它们不共享和复合处理能力,它们各自独立地服务于网络,然后将其工作的结果与网络的其余部分进行比较,直到达成一致意见。

另一方面,集中式数据库已经存在了几十年,并且已经看到了它们的性能提高,并采用了一个在数字时代定义创新的公式:摩尔定律。

保密

比特币是一种不受控制的、无法控制的数据库。这意味着任何人都可以在链中写入一个新的块,任何人都可以在链中读取一个块。

一个许可的区块链,像一个集中的数据库,可以被写控制和读控制。这意味着网络或协议可以被设置,因此只有被许可的参与者可以写入数据库或读取数据库。

但是,如果机密性是唯一的目标,而信任不是问题,那么区块链数据库对集中式数据库没有任何优势。

在区块链上隐藏信息需要大量的密码学和网络中节点的相关计算负担。没有什么方法比仅仅将数据完全隐藏在一个不需要网络连接的私有数据库中更有效。

想想伊森·亨特(Ethan Hunt)在《使命:不可能》(Mission: Impossible)系列中提到的所有数据库,你可以在私人数据库中了解到这种机密的类型。



原文发布时间为:2018-03-30
本文作者:智能计算时代
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
14天前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
2天前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
Oracle 关系型数据库 数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
|
2月前
|
存储 数据管理 数据库
|
2月前
|
存储 SQL 分布式计算
关系数据库和HDFS的基本区别是什么?
【8月更文挑战第31天】
28 0
|
2月前
|
存储 BI 数据库
|
2月前
|
存储 SQL 关系型数据库
关系型数据库和非关系型数据库的区别和选择方法?
【8月更文挑战第17天】关系型数据库和非关系型数据库的区别和选择方法?
72 0
|
4月前
|
关系型数据库 MySQL 数据库
【MySQL】MySQL数据库的delete from table和truncate table之间的区别
【MySQL】MySQL数据库的delete from table和truncate table之间的区别
330 1
|
3月前
|
存储 消息中间件 NoSQL
Redis 和 数据库区别
【7月更文挑战第12天】
42 0
|
5月前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
143 3
mysql 设置环境变量与未设置环境变量连接数据库的区别