何宝宏:别拿着区块链找钉子

历史上,人们一直在追求将尽可能多的信息记录、传递和保存。物联网希望能够采集更多的数据,5G通信希望能够传递更多的数据,云计算希望提供更廉价和可扩展的算力,而大数据则希望更加高效地处理更多类型和更多数量的数据。

传统数据库、大数据和区块链,都是用来管理数据的。只是不同类型的数据库管理技术,追求的目标不同,应用场景也不同。

传统数据库针对的是高价值的结构化数据,大数据针对的是海量和多类型数据。但二者都假设,虽然可能会存在数据质量不佳等,需要做清洗等问题,但我们可以相信数据管理员,相信他/她不会故意捏造或篡改数据。

区块链技术面向的也是高价值数据,但针对的核心是数据管理员可能造假的问题。传统数据库要信任数据管理员,而区块链不信任数据管理员,更别提他/她希望写入的数据了。当然,与传统的数据库相比,区块链也新增加了原来没有的能力,比如智能合约和内部激励机制等。

为了具备防篡改等能力,区块链应用了分布式和密码学等技术,这必然会带来严重的性能损耗和大幅下降的扩展性等问题。虽然通过隔离见证、分片、多链和增加块大小等,能够加以改善,但理论上都无法与集中式的数据库技术相比。

为了解决不同问题,传统数据库、大数据和区块链走向了不同方向。大数据为追求效率而牺牲了准确性,传统数据库为追求准确性而牺牲了效率,而区块链为追求更高的准确性而牺牲了更多效率。

因此,即使在需要使用数据库的很多场景中,区块链不仅不是必须的,甚至能不用就不要使用它。

2018年1月,美国国家标准研究院(NIST)发布了《谈谈区块链》的报告,清晰地提出了如何判断是否应该使用区块链的评判流程:

1.需要数据库吗?如果回答是NO,请退出。

2.需要多方写入吗?如果回答是NO,请退出。

3.写入方值得信任吗?

a)如果回答是YES,并且多方利益一致,请退出。

b)如果回答是YES,但多方利益不一致,请继续4。

4.这时写入方彼此不信任,或者虽然彼此信任但利益不一致,接下来的问题是,大家愿意信任独立第三方吗?如果回答是YES,请退出。

5.参与写入的多方需要系统的控制权吗?

a)如果需要,那么要在多大范围内形成共识呢?

1)如果是在机构内,选私有链。(旁边的队友不可信)

2)如果是在机构间,选联盟链。(友商的组织不可信)

b)如果不需要,那么交易可以公开吗?

1)如果可以公开,选择公有链(谁都不可信,只相信数学)

2)如果不能公开,根据可公开的范围,选择私有链(5.a.1)或联盟链(5.a.2)。

精彩内容回顾

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604B0YAB500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券