区块链和数据库

2018-01-04 Robin Wen 更多博文 » 博客 » GitHub »

区块链 Blockchain 数据库 Database 想法

原文链接 http://dbarobin.com/2018/01/04/blockchain-and-database/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


文/Robin

本文由币乎社区(bihu.com)内容支持计划奖励。


本站推广

币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。

币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872


这是「区块链技术指北」的第 15 篇文章。

如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会把你拉入微信群「区块链技术指北」。BTW,李笑来老师也加入了我的知识星球,文末有加入方式。

个人认为区块链只能借鉴传统的数据库技术,而无法将数据库改造成区块链。

2018-01-04-blockchain-and-database

题图来自: © Fares Ghandour / Genesis of a cryptoeconomy / wamda.com

首先我们简单理解下区块链和传统数据库。

区块链技术是一种不依赖第三方、通过自身分散式节点进行网路数据的存储、验证、传递和交流的一种技术方案。因此,有人从金融会计的角度,把区块链技术看成是一种分散式开放性去中心化的大型网路记账薄,任何人任何时间都可以採用相同的技术标准加入自己的信息,延伸区块链,持续满足各种需求带来的数据录入需要。

通俗一点说,区块链技术就指一种全民参与记账的方式。所有的系统背后都有一个资料库,你可以把资料库看成是就是一个大账本。那麽谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿裡在记。但现在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可以来进行记账,系统会评判这段时间内记账最快最好的人,把他记录的内容写到账本,并将这段时间内账本内容发给系统内所有的其他人进行备份。这样系统中的每个人都了一本完整的账本。这种方式,我们就称它为区块链技术。

区块链技术被认为是互联网发明以来最具颠复性的技术创新,它依靠密码学和数学巧妙的分散式演算法,在无法建立信任关係的互联网上,无需藉助任何第三方中心的介入就可以使参与者达成共识,以极低的成本解决了信任与价值的可靠传递难题。

公有区块链的所有数据都是公开的,任何人都可以查询或者拿到交易记录进行分析。

区块链主要包含有五大类的技术:P2P 网络技术,共识算法技术,块链结构技术,智能合约和密码学。

而我们再来看数据库。

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓 “数据库” 系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

第一,不管是 RDBMS、NoSQL 还是 NewSQL,都会提供一个 接口,供用户进行数据的存取。也就是说数据是可以篡改的,这跟区块链不可篡改的思想相悖。

第二,传统企业或者互联网企业之所以选择数据库,因为这些 数据是私有的,数据就是价值,数据就是竞争力。 企业数据库存储的数据是绝不会公开的,跟区块链所倡导的公开思想完全背离。比如你在知乎提问、答题,这些数据都会给知乎带来最大的价值,而不是给你带来最大价值。因为这些数据是存在知乎的数据库里,只有具有相关权限的人才会接触到。他们会拿这些数据做什么呢?出电子书、出实体书、出周边、大数据分析等等,而这几乎与你无关。也就是说,传统数据库是为企业最大化服务的,而不是用户。

第三,传统数据库都是应用在 中心化 的公司或者机构,与区块链去中心化的思想相悖。中心化意味着作恶的概率、被攻击的可能性极高。

第四,部分传统数据库开源,还有相当大比例的数据库都是闭源的。没有开源的数据库是由中心化的组织来维护代码,安全性和稳定性也是中心化组织来维护。这跟区块链所倡导的开源思想相悖。一个开源的系统自然会存在问题,但是社区会以最快的速度进行修复。

第五,除了分布式数据库有共识机制,其他的数据库没有完整的分布式协议应用,而分布式协议可以理解成区块链里的共识机制。大多数数据库不具备共识机制。

第六,区块链目前暂时没有达到大规模应用的要求,目前也是区块链技术的瓶颈,而数据库目前完全可以支撑大规模高并发的场景。区块链由于是一个分布式系统,想要实现高并发,关键点在于共识机制。

所以,传统数据库无法改造成区块链。

区块链可以借鉴传统的数据库技术有:

  • 分布式领域的 Paxos、Raft、Zab 共识协议
  • 传统数据库 Shard 方案与实现
  • 传统数据库数据组织算法
  • 分布式事务模型

另外,关于分布式数据库,可以看下 PingCAP 创始人刘奇作品 怎样打造一个分布式数据库


本站推广

币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。

币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872


「区块链技术指北」同名 知识星球,二维码如下,欢迎加入。BTW,李笑来老师也加入了

区块链技术指北

「区块链技术指北」相关资讯渠道:

同时,本系列文章会在以下渠道同步更新,欢迎关注:

原创不易,读者可以通过如下途径打赏,虚拟货币、美元、法币均支持。

  • BTC: 3QboL2k5HfKjKDrEYtQAKubWCjx9CX7i8f
  • ERC20 Token: 0x8907B2ed72A1E2D283c04613536Fac4270C9F0b3
  • PayPal: https://www.paypal.me/robinwen
  • 微信打赏二维码

Wechat –EOF–

版权声明:自由转载-非商用-非衍生-保持署名(创意共享4.0许可证)