区块链可以被认为是一种新型的数据库.这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作.它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库.
 在某些方面讲区块链是一种更安全的数据库,在某些方面则不是.考虑到当前中心化的数据库依然是主流,可能混合两种数据库是一种不错的解决方案.
 传统的数据库,需要一定的访问权限去管理,也就是说你必须依赖人为的管理.一旦访问权限被黑或者管理员作恶,数据就有很大的危险性,或者存在被人篡改的可能性.
 在现实世界中,银行和金融机构以及各种大公司通过一些手段积攒了一些信用.我们将钱存在银行里,而不用担心它被盗.银行本身需要一批可信的数据库管理员,开发人员,以及一些安全的管理流程,依赖这些,来保证数据的安全性.但是这些数据库管理员,和开发人员,以及安全流程都是需要一定的时间成本和人力成本.
 区块链提供了一种方式去取代这些额外的成本,用数字加密学和工作量证明以及节点共识的机制来保证数据的安全.
 健壮性:区块链的优点
 区块链的另外一个优点就是高容错,因为它内在的冗余机制.每个节点对于整个区块链网络而言,都不是必不可少的.节点之间互相通信,即使一些节点因为一些原因出错,也不会导致整个网络垮掉.同时失败的节点,重启之后也总是能正确同步新的交易.
 对于传统数据库同样有冗余性,但是区块链却将它发挥到了一个新的高度.任何节点都可以自由的加入节点,并且不需要系统做任何的配置.同时任何节点都可以自由离开这个网络,而不会对网络造成影响.
 传统数据库的冗余机制,依赖于昂贵的技术架构和容灾措施.通常是有一个主数据库,多个从数据库,主数据库通常运行在一个非常昂贵的高配置机器上,然后多个从数据库从主数据库同步数据.如果主数据库出线问题,从数据库就会临时上升为主数据库,并对主数据库进行恢复,恢复成功后,可能还需要切换到原来的主数据库.众说周知,这个技术架构非常复杂,而且在配置方面也比较难,出现问题之后,正确处理也不是非常容易.
 但是如果是区块链,假设我们有十个节点,它们只需要运行在十个不同的普通计算机上就可以.节点之间互相通信,如果一个或者两个节点出现问题,其他节点不会有任何影响.
 性能:中心化数据库优点
 区块链比传统的数据库要慢,并不是因为区块链技术本身就慢,而是因为区块链本身是新生事物,依然处于早期阶段,性能优化仍然有一定空间,同时因为区块链除了像传统数据库那样运行,还要做额外的负载:
 1. 签名验证.每一个区块链的交易都需要签名验证,同时这些签名验证在每个节点间都是要运行的,用于证明交易的合法性.传统数据库只在第一次通信做一些签名验证,后续请求就不需要.
 2. 共识机制.节点间要达成共识,需要复杂的通信,并且需要处理分叉.
 3. 冗余性.传统数据库,主节点更新数据,然后同步数据到从数据库.区块链每个节点都需要保存交易数据.
 同时,在区块链上的交易都是透明的(传统区块链,现在已经有加密区块链方面的研究).因为对于很多商业结构之间,可能存在竞争性,他们不希望对手看到他们的信息.但是另外有一些场景则恰恰相反,比如众筹平台,慈善平台,恰好需要交易的透明性和公开性.
 所以,对于到底使用传统数据库还是区块链,应该是取决于场景.中心化和健壮性?还是私密性?还是高性能?
 所以,区块链在以下场景应该会更擅长:1)公司内部审计,2)来源追踪,3)轻金融系统.
 暂无回复.