抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

2018 年的区块链就像 2009 年的 NoSQL

2018 年 6 月 26 日

如果有人问你“什么是 NoSQL”,相信你很难回答这个问题。你可能会说,NoSQL 是“一个不使用 SQL 的数据库”,但对于不同的人来说,这句话的含义是不一样的。如果有人问你“什么是区块链”,也是一样的道理。

2018 年的区块链就好比 2009 年的 NoSQL。

  • 市场上充斥着各种各样的实现,每个实现尝试解决同一个问题的不同部分。
  • 尽管使用了相同的技术术语,但接口却各不相同。
  • 主要参与者积极参与各种技术会议。
  • 将几十年前的研究应用于现代软件中。
  • 出现几个关键的成功案例。
  • 出现几个重大的反面案例。

当然,来自各方的唱衰者告诉你,你不需要区块链,就像有很多人告诉你,你不需要 NoSQL 一样。

唱衰者是对的,他们一贯如此。你可以使用任何一款数据库来完成 NoSQL 能够提供给你的各种存储和存储保证,你也可以通过数据签名和不可变写更新来获得区块链能够为你提供的审计和信任能力。

我发现一个很有趣的现象,很多 NoSQL 领导者恰恰就是区块链唱衰者。他们可能会说,“不是每个人都需要 NoSQL,但它们确实可以为一些人提供价值”,或者,“它们可能不是新技术,但把它们组合起来就能获得更大的价值”。他们一方面肯定 NoSQL 的存在价值,一方面断言区块链一文不值。

或许术语仍然是部分问题所在。如果有人问你“什么是 NoSQL”,相信你很难回答这个问题。你可能会说,NoSQL 是“一个不使用 SQL 的数据库”,但对于不同的人来说,这句话的含义也不一样。如果有人问你“什么是区块链”,也是一样的道理。区块链是指“通过加密哈希链接在一起的数据块”结构吗?是指去中心化的信任吗?是指“* 证明”(proof of *)的共识吗?是指加密货币吗?

我同时参与了这两个社区。我在 Basho 和苹果公司工作时参与了 NoSQL 运动。现在,我正在写有关区块链的文章,因为在过去的几个月里,我一直在参与区块链运动,并开发 VMware 的一个项目。NoSQL 之争已经结束,所以我不打算再重提它。但是,我想在此讨论为什么区块链领域值得我花费时间去研究。

我之所以对区块链感兴趣,很大一部分原因要归结于我所在的项目。我在 VMware 的团队已经意识到,就像 NoSQL 是一个用于描述可伸缩数据库的术语一样,“区块链”是一个用于描述分布式信任系统的术语。那些经常成为热议话题的核心工具,虽然它们真的是几种技术的组合,但也只不过是拜占庭容错状态机复制(Byzantine Fault Tolerant State Machine Replication,BFTSMR)。

是的,BFTSMR“只是”对共识和密码学(包括所有与加密相关的东西,如哈希、签名、混淆等)的复制,你也可以组合大量现有的技术来创建出属于自己的技术。但是,就像 Dynamo“只不过是”具有逻辑时钟和 gossip 的分布式哈希表一样,技术的组合提供了一些非常不一样的功能。从经典的教科书开始探索这些技术至今,它们已经取得了重大的进展:

  • 共识算法:随着分布式系统变得越来越普遍,我们有了更好的理解和实现( https://arxiv.org/abs/1804.01626 )。
  • 加密签名:硬件为此提供了很多内置的原语,并且出现了诸如阈值签名之类的优化。
  • 状态机抽象:在系统中嵌入一个高效的解释器比以往更容易,以实现快速的扩展性和实验。
  • 网络:RDMA、公有云、边缘网络和其他新的拓扑要求新的通信模式,这样才能发挥出它们的潜力。
  • 存储:闪存很便宜,并且你想要的任何数据模型都已准备就绪。

多年来(几十年来),BFTSMR 一直被忽视,因为对于真实的系统来说,它已经变得不切实际。然而,随着新进展的不断出现,即使它还没有达到集中式数据库的速度和效率,但已经开始成为某些应用程序的合理选择。如果区块链提供的抽象(如不可变日志中的交易记录)可以让人们利用这些经典的想法和优势,那么我很高兴能够为它出一份力。

不过,与区块链有关的一些现实问题需要引起我们的注意。加密货币不能作为投资策略,它们的价值和成本波动得如此剧烈,并不具备所承诺的分布式能力和等化效果。人们对现有的网络控制存在很大误解。工作证明(proof of work)是一种浪费。目前要实现匿名化非常困难,大多数尝试都收效甚微。

但正如我们不会让误解掩盖了 NoSQL 所带来的真实改进一样,我们现在也不会一棒子打死区块链。

英文原文 https://blog.beerriot.com/2018/06/05/blockchain-2018-nosql-2009/

2018 年 6 月 26 日 15:421157
用户头像

发布了 731 篇内容, 共 378.8 次阅读, 收获喜欢 1887 次。

关注

评论

发布
暂无评论
发现更多内容

小米的护城河

石云升

小米 护城河

Docker搭建项目环境实战

书旅

Docker Dockerfile Docker-compose

前端分页组件实现逻辑

书旅

php 前端 分页

图解javascript——基础篇(以思维导图总结js中关键技术点,为面试及工作助力)

执鸢者

Java 前端

week 11

Geek_2e7dd7

week 11学习总结

Geek_2e7dd7

马方业:区块链就是新未来 区块链就是新财富

CECBC区块链专委会

区块链 新未来 新财富

ARTS挑战打卡第六周(200615-200621)

老胡爱分享

ARTS 打卡计划

用科学的方法理解每日优鲜

石云升

新零售 每日优鲜 多快好省 科学分析

数据库是咋工作的?

简爱W

Redis 之父关于 CRC64 的神秘往事!

yes

redis CRC

SQL查询语句执行顺序详解

书旅

MySQL SQL语法 sql查询

十一周作业

olderwei

极客大学架构师训练营

ARTS 打卡第四周(200601-200607)

老胡爱分享

ARTS 打卡计划

ARTS 挑战打卡第九周(200706-200712)

老胡爱分享

ARTS 打卡计划

融云 X- Meetup 技术沙龙广州站:全球通信云技术实践分享

InfoQ_967a83c6d0d7

ARTS 挑战打卡第七周(200622-200628)

老胡爱分享

ARTS 打卡计划

请不要随便修改基类

架构师修行之路

JeecgBoot手记

卧石漾溪

视频码控:CBR、VBR和ABR

潇湘落木

直播 SRS 视频编码 码控

一个快捷方便的油煎鸡胸肉,懒人标配香喷喷好吃看得见

小霸王其乐无穷

美食 鸡胸肉 懒人

介绍一款API敏捷开发工具

棒锤🐮

敏捷开发 Rocket API API敏捷开发

动态修改logback的日志级别

华宇法律科技

Java springboot logback

ARTS挑战打卡第八周(200629-200705)

老胡爱分享

ARTS 打卡计划

LeetCode题解:26. 删除排序数组中的重复项,双指针,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

战斗还是逃避,或许可以考虑一下合作?

escray

学习 面试 面试现场

【解Bug之路】——Nginx 502 Bad Gateway

简爱W

ARTS挑战打卡第五周(200608-200614)

老胡爱分享

ARTS 打卡计划

Linux系统监控工具推荐

王坤祥

监控 工具软件

Spring Boot 集成 Sharding-JDBC + Mybatis-Plus 实现分库分表

简爱W

完了,这个硬件成精了,它竟然绕过了 CPU

简爱W

Study Go: From Zero to Hero

Study Go: From Zero to Hero

2018年的区块链就像2009年的NoSQL-InfoQ