经过近2年的市场泡沫,仍然有人问我什么时候需要使用“分布式账本”,而不是标准的“分布式数据库”。其他(恶毒的)人问我“区块链技术”和“分布式账本技术”有什么区别。 让我们来澄清一下这里的概念和词汇问题。
1、对等网络节点数据存储系统允许用户通过网络复制和共享文件,利用点对点协议,如:BitTorrent、NNTP、Freenet、Mnet等。
2、分布式SQL数据库是由主要供应商(Microsoft、Oracle、SAP、IBM等)设计的系统,允许对面向分析的任务进行大规模并行处理。
3、Hadoop是一个开源软件框架,用于存储数据、在商业硬件集群上运行应用程序。它为任何类型的数据提供了大量的存储,巨大的处理能力和几乎无限的处理并发任务的能力。
4、NoSQL数据库是非关系DDBMS,可水平扩展,为实时web应用程序而生。最著名的解决方案是:MarkLogic、MongoDB、Datastax、Apache Cassandra、Redis、Riak、Google BigTable和CouchDB。
5、NewSQL数据库是关系型DDBMS,旨在结合关系数据库和NoSQL数据库的最佳属性(水平可扩展性和分布式处理)。示例:Google Spanner、Clustrix、voltage db、MemSQL、Pivotal’s GemFire XD、NuoDB和Trafodion。
6、分布式账簿(DL)是DDBMS,它利用加密技术提供去中心化的多版本并发控制机制,并就无信任环境中共享事实(shared facts)的存在和状态保持一致(例如,托管共享数据库的参与者是互不信任的独立参与者)。 共识本身并不是DL的唯一特性:其他分布式数据库也使用共识算法,比如Paxos或Raft。不可变性也是如此:在DL(Google HDFS、Zebra、CouchDB、Datomic等)之外也存在不可变数据库。我认为DL的两个不同点是:(a)读写访问的控制是真正去中心化的,而不是像其他分布式数据库那样在逻辑上是中心化的,以及(b)在没有可信第三方的竞争环境中保护事务(transactions)的能力。 有些人把这个类型称之为“共享账簿”,但我更喜欢用“分布式”这个词,因为共享可以表示“分割/分裂”。
6.1、比特币系统是DL的第一个实例,其目的只有一个:点对点的比特币(加密货币)支付手段。为了避免双花,比特币使用了数据链(因此称为“区块链”)和其他机制的POW工作量共识证明。比特币是抗审查的,它的主要特征是:拜占庭容错、伪匿名、可审计性(公开)、不变性、问责性(时间戳)和不可否认性(签名)。
6.2、有些系统是受到比特币系统的启发,或者设计与之接近。它们通常实现其大部分特性,但不是全部或具有不同的特性。 例如:
以下是观点总结(简化):
“双重无需许可”(double permissionless)的分布式账本(如比特币)是最去中心化的账本,并且具备抗审查性。如果它们越不去中心化(例如,在半信任的环境中的需要许可的DL),它们就越接近于是一种使用加密技术的“常规”分布式数据库。在后一种情况下,密码学被用作一种新的机制,以加强同行之间的可审计性和问责性:
2
————————————————————————————————————————————————
你可能会问什么是区块链技术? 具有讽刺意味的是,对于这一定义没有达成共识:
极简主义者会说区块链只是比特币有些人认为它应该包含任何带有块链接的DL一些专家认为它应该包含任何具有一些关键特性的DL:比如块链接、不变性和一致协议最大化主义者说“区块链技术”等于“分布式账本技术”等于“加密支持的DDBMS”。 此外,使用“区块链”一词来进行营销和沟通也更容易,即使它可能具有误导性……最后一个方程:比特币区块链 ⊆ 区块链技术 ⊆ 分布式账本技术 ⊆ 分布式数据库技术。
如果你喜欢区块链辩论,让我来分享4个有趣的问题:比特币真的是BFT吗?比特币和其他DL如何处理CAP定理?DL可以同时分散、可扩展性和安全吗? [谈到三难困境,我推荐这篇关于DCS不可能三角的文章]没有token的私有区块链真的比中心化系统更高效吗?这篇文章的灵感来源:吉迪恩·格林斯潘,理查德·根达尔·布朗,帕斯卡尔·布维耶(他使用不同的分类方法),戴夫·伯奇,科林·普拉特。
(完)
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:关注产品与技术
评论0条