是的,你可能需要一个区块链

Balaji S.Srinivasan是Coinbase的前首席技术官,Andreessen Horowitz的董事会合伙人,CoinDesk咨询委员会成员。

以下文章最初出现在共识杂志上,专门分发给CoinDesk 2019共识活动的与会者。


有一种开发人员说区块链只是糟糕的数据库。正如所述,为什么不直接为应用程序使用PostgreSQL呢?它成熟、健壮、高性能。与关系数据库相比,怀疑论者声称区块链只是缓慢的、笨重的、昂贵的、无法扩展的数据库。

虽然已经有人对这种批评提出了一些批评(1,2),但我提出了一个简单的一句反驳:公共区块链对于存储共享状态很有用,特别是当共享状态表示用户希望无误地导出/导入的有价值数据时,比如他们的钱。

数据导出/导入问题

看看Amazon Web服务、Microsoft Azure或Google云的云图表。有负载均衡器、代码转换器、队列和lambda函数的图标。

在阳光下,vpc和每种类型的数据库都有图标,包括新的ISH管理的区块链服务(与公共区块链不同,尽管在某些情况下可能有用)。

没有图标的是帐户之间的共享状态。也就是说,这些云图都隐式地假定一个实体及其员工(即访问云根帐户的实体)是唯一一个布局架构图并读取或写入它所支持的应用程序的实体。更准确地说,这些图表通常假设存在一个经济参与者,即支付云账单的实体。*

但是,如果我们一次只为100个企业经济参与者设想云图,就会出现一些直接的问题。这些演员能互操作吗?他们的用户能把他们的数据拉出来并带到其他应用程序中吗?考虑到用户本身就是经济行动者,如果这些数据代表了某种货币价值,那么用户能否确信在所有这些导出和导入过程中他们的数据没有被修改?

当我们将每个实体的应用程序中的数据导出和导入视为一级需求时,会出现这些类型的问题。一般来说,今天这些问题的答案通常是否定的。

没有-不同的应用程序通常没有可互操作的软件,或者允许其用户以标准格式轻松导出/导入数据,或者让用户确信其数据在所有导出和导入过程中没有被有意篡改或意外损坏。

原因归结为激励。对于大多数主要的互联网服务来说,根本就没有财政激励来让用户出口他们的数据,更不用说让竞争对手快速进口所说的数据了。虽然有人将其称为数据可移植性问题,但让我们将其称为数据导出/导入问题,以便将注意力集中在导出和导入的特定机制上。

数据导出/导入问题的当前方法

尽管目前还没有针对数据进出口问题的一般解决方案提供财政激励,但已经为许多重要的特殊情况建立了机制。这些机制包括API、json/pdf/csv导出、mbox文件和(在银行业环境中)sftp。

让我们依次讨论这些问题,以了解当前的情况。

  • API。导出/导入数据最流行的方法之一是通过应用程序编程接口,即API。有些企业的确允许您将一些数据提取出来,或者允许您将数据写入帐户。但这是有代价的。首先,它们的内部数据格式通常是专有的,而不是行业标准。第二,有时API不是其核心业务的中心,可以关闭。第三,有时API是其核心业务的核心,价格可以大幅提高。一般来说,如果您正在读或写托管的API,则由API提供者决定。我们称之为“平台风险”,而不加约束地去平台化已经损害了许多初创企业。
  • 杰森。另一个相关的解决方案是允许用户或脚本下载JSON文件,或者将它们读/写到前面提到的API中。就目前而言,这是很好的,但是JSON是非常自由的形式,几乎可以描述任何东西。例如,facebook的graph api和linkedin的restapi处理类似的事情,但返回的JSON结果却截然不同。
  • PDF。另一个非常局部的解决方案是允许用户导出PDF。这适用于文档,因为PDF是一种开放的标准,可以被预览、AdobeAcrobat、Google Drive、Dropbox等其他应用程序读取。但一个PDF文件就是一个最终产品,供人阅读。除了PDF查看器之外,它不应该是任何应用程序的输入。
  • 猪瘟病毒简单的逗号分隔值文件更接近于我们想要的数据导入/导出问题的一般解决方案。与专有API的后端不同,csv是RFC4180描述的标准格式。与几乎可以表示任何内容的JSON不同,CSV通常只表示一个表。与PDF不同,csv通常可以由用户通过电子表格在本地编辑,或者用作本地或云应用程序的机器可读输入。因为大多数类型的数据都可以在关系数据库中表示,而且因为关系数据库通常可以导出为一组可能巨大的CSV,所以它也非常通用。然而,CSV在一些方面处于劣势。首先,与专有API不同的是,它们没有托管。也就是说,没有单一的标准位置来读取或写入表示(比如)事务记录或映射元数据表的csv。第二,CSV不具有抗篡改性。如果一个用户从服务A导出一个事务记录,修改它,并将其重新加载到服务B,那么第二个服务就不明智了。第三,CSV没有内置的完整性检查来防止意外错误。例如,CSV的列没有明确的类型信息,这意味着包含1-12月份的月份的列可以在导入时自动将其类型转换为简单的整数,从而引起混乱。
  • MBOX。虽然不太熟悉CSV,但表示电子邮件消息集合的MBOX格式是最接近于标准化的数据结构,用于在主要平台和独立应用程序之间进行导入和导出。事实上,已经有一些论文建议在电子邮件之外的上下文中使用MBOX。虽然CSV表示表格数据,但MBOX表示日志结构数据的类型。它本质上是一个按时间顺序排列的大型纯文本电子邮件文件,但也可以通过mime表示图像/文件附件。与csv一样,mbox文件是一种开放标准,可以在本地导出、编辑和重新导入。和csv一样,mbox也有没有规范主机或内部数据完整性检查的缺点。
  • SFTP。在我们继续之前,还有一个值得一提的数据导出/导入机制:安全文件传输协议,或SFTP。虽然是可敬的,但这实际上是个人之间来回发送ACH付款的方式。从本质上讲,金融机构使用SFTP服务器接收特殊格式文件中的电子交易数据,并每天将其传输到美联储,以使每个借方和贷方彼此同步(见此处、此处、此处和此处)。

这些机制中的每一个都被广泛使用。但是,它们不足以支持在任意经济行为体(无论是企业实体、个人用户还是无头脚本)之间进行抗篡改导入和导出有价值数据的一般情况。为此,我们需要公共区块链。

公共区块链通过激励互操作性来实现共享状态。公共区块链将许多类型的数据导入/导出问题转换为共享状态问题的一般类。它们通过结合上述机制的许多最佳特性来部分实现这一点。

  • 公共区块链为读/写访问提供了规范化的方法,类似于托管的公司API,但没有相同的平台风险。任何一个经济参与者都不能关闭或拒绝向像比特币或以太坊这样的分散公共区块链客户提供服务。
  • 它们还允许单个用户将关键数据导出到本地计算机或JSON/csv/mbox等新应用程序(通过发送资金或导出私钥),同时提供数据完整性的加密保证。
  • 它们为任意的经济参与者(无论是企业、个人用户或程序)提供无缝无缝互操作的手段。每一个从公共封锁链中阅读的经济演员都会看到同样的结果,任何有足够资金的经济演员都可以以同样的方式写信给公共街区。没有帐户设置是必要的,没有演员可以被阻止读/写访问。
  • 或许最重要的是,公共数据链提供了互操作性和数据完整性的财政激励。

最后一点值得详细阐述。像Bitcoin或EtUUM这样的公共封锁链通常记录货币价值的转移。这可能是链的内在隐秘性,在链子上发出的令牌,或者另一种数字资产。

因为与公共Buffic链相关的数据代表了某种货币价值,它最终为互操作性提供了金融激励。毕竟,任何想要接收(比如说)BTC的Web或移动应用程序都必须遵守Bitcoin Band Stand的惯例。事实上,应用程序开发人员将没有选择,因为事实上,Bitcoin的设计有一个单一的,典型的最长的证明工作链与密码验证的每个块在该链。

所以,这就是进口的经济诱因。

至于鼓励出口,特别是涉及到货币,用户要求具有完全保真的出口能力,而且速度非常快。这不是他们的旧猫照片,他们可能会因为不便或技术问题而失去跟踪。这是他们的钱,他们的比特币,他们的加密货币。任何保存它的应用程序都必须在它们想要撤消它时使其可用于导出,无论这意味着支持发送功能、提供私钥备份,还是两者兼而有之。如果没有,应用程序就不可能从一开始就收到存款。

所以,这就是出口的财政激励。因此,公共区块链在经济上激励与之交互的每个经济参与者使用与其他参与者相同的导入/导出格式,无论他们是公司、用户还是程序。换句话说,公共区块链是开源之后的下一步,因为它们提供开放数据。任何人都可以通过从公共区块链读取来编码自己的区块浏览器,任何人都可以创建自己的钱包,能够写入公共区块链。

这是一个真正的突破。我们现在有了一个可靠的方法来鼓励使用共享状态,同时允许数百万个人和公司访问同一数据存储区(和数千人写入),同时执行一个共同的标准,并对数据的完整性保持高度的信心。

这与现状非常不同。您通常不会在Internet上共享数据库的根密码,因为允许任何人对其进行读/写的数据库通常会损坏。公共区块链通过加密而不是权限来解决这个问题,大大增加了同时使用的用户数量。

事实上,今天的公共区块链通常集中在货币和金融应用程序上,其中基础数据集表示具有不可变记录的仅附加事务历史。在解决数据导入/导出问题的所有不同版本方面,这确实限制了它们的通用性。但是,诸如openstreetmaps、wikipedia和twitter之类的公共区块链版本以及诸如filecoin/ipfs之类的系统正在不断发展。这些不仅代表金融交易的记录,其中不可变是一个要求,但可以代表其他类型的数据(如地图或百科全书条目),将定期更新。

做对了,这些新类型的基于公共区块链的系统可能允许任何拥有足够资金和/或加密凭证的经济参与者不仅读写,而且在保持数据完整性的同时编辑他们自己的记录。考虑到这种能力,没有理由不能将SQL层放在公共区块链之上,与它提供的共享状态一起工作,就像老式的关系数据库一样。这就产生了一种新型的数据库,没有特权所有者,地球上所有70亿人(以及他们的脚本!)是授权用户,任何有足够资金的实体都可以写入。

那天还没到。我们可以把公共链的用例推到多大的程度,这仍然有待观察。规模化挑战比比皆是。但是,希望很明显,虽然公共区块链确实是一种新的数据库,但它们提供的内容与传统数据库提供的内容截然不同。


*一个例外是亚马逊和其他云服务提供的所谓“请求者pays”功能。这是一个很酷的功能,可以让别人付钱给你的S3存储桶。但IT’允许,它仍然要求每个潜在的作者打开一个AWS帐户,桶的所有者必须愿意让他们都写信给他们的桶,所以那里6037仍然是一个杰出的所有者。

通过快门的数据库图像

您可能还喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注