私有区块链不仅仅是“公正”的共享数据库

为什么区块链批评者没有抓住重点

所以它继续。 从 热门帖子轻蔑的推文对未来的预测,世界及其母亲正在排队,将西红柿扔向私人区块链 甚至了解他们是什么.

说私有区块链只是一个共享数据库,就像说HTML和HTTP是“只是”分布式超文本一样。 这有两种错误。 首先是语义上的:私有区块链是一项 使 诸如笔之类的共享数据库可启用书写,而HTML / HTTP则可启用分布式超文本。 比特币区块链及其主要应用无法实现有意义的分离,因为没有一个就不可能存在。 但是,这种等效完全不适用于私有区块链。

第二个错误是使用“公正”一词。 只是? 分别是HTML和HTTP 只是 一种做分布式超文本的方法? 原“超文本”为 几十年前发明,那么这些技术在计算机历史上是次要的注脚吗? 哦,但让我数一数他们获得职位的方式:(a)简单 标记语言 任何外行都可以学习的东西,(b)a 分层寻址方案 可与TCP / IP和我们的场所概念模型一起使用的(c) 简单协议 用于内容的无状态检索,并且(d)两者 客户服务器 使整个事物栩栩如生的软件。 我们不妨说牛顿只是一名科学家,陀思妥耶夫斯基只是一名作家。

因此,让我们清楚地说明一下:是的,私有区块链只是共享数据库的一种方式。 但是它们启用了一种新型的共享数据库,这对金融界乃至整个世界都将产生巨大影响。 如果您愿意继续阅读,我将告诉您确切原因。

什么是数据库?

数据库是组织成表格的结构化信息的存储库。 您可以将其视为一个或多个Excel电子表格的集合,可以选择将其链接在一起。 每个表都包含有关一组特定类型实体的信息,每行一个实体。 每个表还具有一个或多个列,这些列描述了这些实体的不同方面。 例如,WidgetCo内部员工目录的表可能包含以下列:员工ID,名字,姓氏,部门,内部电话号码和房间号。

数据库超越电子表格的重要方式之一是它们包含有关存储在其中的数据的规则。 这些规则有助于确保信息保持理智和一致,以造福整个组织。 在今天 最受欢迎的数据库,规则采用多种常见形式:

  • 数据库架构 定义每栏中允许的信息类型。 例如,电话号码必须包含4位数字,并且不能留空(“ null”)。
  • 唯一键 指出特定列(例如员工ID)在每一行中必须具有不同的值。
  • 检查约束 它强制每一行中的列值之间的关系。 例如,如果部门为“采购”,那么房间号必须以3或4开头。
  • 外键 强制表之间的关系。 例如,如果数据库包含另一个用于薪资的表,则可能存在一个规则,即薪资表中的每个员工ID也必须存在于staff目录中。

事务是整个数据库接受或拒绝的变更集合。 每次事务修改数据库时,软件都会确保遵循数据库规则。 如果交易的任何部分违反了这些规则之一,则整个交易将被拒绝,并出现相应的错误。

我可以列出其他更深奥的规则类型,但是它们都有一个共同点。 他们回答了这个问题: 数据库是否处于有效状态? 换句话说,它们充当了数据库内容的约束 在单个时间点查看。 这对于位于单个组织内的数据库来说效果很好,因为 约束的主要工作是防止程序员出错。 如果WidgetCo的内部应用程序之一试图在目录中插入一个3位数的电话号码,这不是由于恶意造成的,而是开发人员的想法或代码中的错误。 数据库捕捉这些错误的能力无疑是很方便的,并且有助于防止不良信息在组织中传播,但是 它不能解决信任问题。 (约束还可以帮助简化应用程序逻辑,例如通过 外键级联 or 重复条款,但这仍然只是帮助开发人员的方法。)

数据库共享

现在,让我们考虑一下如何将WidgetCo的内部人员目录与外界共享。 在许多情况下,提供 共享阅读 访问。 该目录可以导出到文本文件,并通过电子邮件发送给客户和供应商。 它可以像发布在互联网上一样 点击例子。 甚至可以给它提供一个API,以允许通过外部代码进行搜索。 共享阅读是一项技术轻而易举的事,是决定谁可以看到什么的问题。

但是当我们想到时,事情开始变得更加棘手 共享写。 如果WidgetCo想要外部实体怎么办 修改 它的数据库? 也许这些电话已被PhoneCo取代,然后PhoneCo将更新人员目录中的电话号码。 在这种情况下,WidgetCo将为PhoneCo创建一个新的“帐户”以供​​使用。 与供WidgetCo内部使用的帐户不同,PhoneCo的帐户仅允许更改电话号码列,而不能添加或删除行。 PhoneCo的所有交易都由WidgetCo的数据库系统处理,该数据库系统现在应用两种类型的限制:

  • 适用于所有数据库用户的全局规则。 例如,电话公司不能将号码更改为仅包含3位数字,其他人也不能。
  • 每个帐户的规则限制了PhoneCo可以执行的操作,在这种情况下,仅修改现有行的电话号码列。

到目前为止,一切都很好。 我们有一个共享的写数据库。 之所以可以使用它,是因为WidgetCo负责数据库,并且电话公司凭借WidgetCo的良好风采获得了访问权限。 如果PhoneCo开始随机设置电话号码,则WidgetCo可以关闭其访问权限,终止其合同并从备份中还原一些旧数据。 而且,如果WidgetCo开始行为异常,比如说通过反转PhoneCo输入的新电话号码,那将毫无意义,因为 只会伤害WidgetCo自己。 电话公司会认为WidgetCo是特殊客户,但并不特别关心,只要他们按时付款即可。

但是,现在让我们看看如果两个或多个参与方想要共享一个数据库,该数据库(a)不受任何一方控制,(b)可以由任何一方写入,并且(c)每个人都可以依赖。 更糟的是,假设这些政党有不同的动机,彼此不信任,甚至可能是激烈的竞争者。 在这种情况下,解决方案始终是相同的: 介绍一个值得信赖的中介。 该中介机构集中管理数据库,向所有各方提供帐户,并确保根据一组已知规则允许所有操作。 在许多情况下,尤其是财务方面,各方仍然保留自己的数据副本,因此每个人都花费大量时间检查 他们的数据库同意.

这一切都变得非常凌乱和繁琐。 但是,如果我们谈论的是 有限信任环境中的共享写数据库,目前没有其他选择。 这是进行金融交易的主要原因之一 中央票据交换所,为什么要使用 谷歌日历 即使在一个小的工作组中,为什么众包之谜 维基百科上的数据数百万美元 在托管上。 即使是网络的用户界面 移至客户端,集中式服务器继续存储这些接口所依赖的数据。

实际共享写

假设我们要允许共享数据库, 在书面意义上,没有中央权威。 例如,一些竞争公司希望维护共同的员工目录,以使其共同的客户受益。 实际看起来会是什么样? 好吧,这需要很多事情:

  • 一个强大的对等网络,允许任何一方创建事务并将其快速传播到所有连接的节点。
  • 一种识别事务之间的冲突并自动解决它们的方法。
  • 一种同步技术,可确保所有对等节点都汇聚在数据库的相同副本上。
  • 一种用于将不同的信息标记为属于不同的参与者,并在没有中央权限的情况下强制执行这种形式的数据所有权的方法。
  • 表示允许哪些操作的限制的范例,例如,防止一个公司用虚构条目夸大目录。

ew。 那是一个艰巨的清单,而今天的现成数据库根本不支持它。 当前 对等复制技术 笨拙,解决冲突的方法很复杂。 那些确实支持的数据库 基于行的安全性 仍然需要中央权威来执行。 而且,诸如唯一键和检查约束之类的标准数据库级别限制无法保护数据库免受恶意修改。 底线是这个:

我们需要一大堆新东西才能使共享写入数据库正常工作,而恰好碰巧区块链提供了它们。

我不会详细介绍 形成一种 区块链做这些事情,因为我已经 涵盖了大部分。 一些关键要素包括常规 对等网络 技术,分组 交易成块, 单程 加密哈希函数,多方 共识算法, 分散式 多版本并发控制 和每行权限基于 公钥加密。 一长串的旧想法以新的方式结合在一起。 HTML / HTTP(如果需要)。

除了所有这些,共享写入数据库还需要一种全新的规则,以 限制交易可以执行的转换。 这是绝对关键的创新,如果我们在非信任实体之间共享数据库,那么一切都将有所不同。 这些类型的规则可以表示为比特币风格的交易约束或以太坊风格的强制执行 存储过程 (以下简称“智能合约”),每个都有 的优点和缺点。 也许还有其他更好的方法等待发现。 但是它们都具有在事务发生之前和之后将数据库状态绑定在一起的属性。 换句话说,他们回答了以下问题: 那是有效的交易吗? 这从根本上与询问数据库在单个时间点是否有效不同。

如果您想知道这种数据库是否具有有用的实际应用程序,那么这是一个公平的问题。 但是您可能会注意到来自 至少一个部门,因为它们具有简化流程,减少成本和延误的潜力。 金融机构是当今数据库平台的重度用户,并且这些平台不支持共享写入方案。 这就是银行所寻找的。

这个问题及其解决方案与比特币和无审查货币的想法完全无关。 实际上,与比特币的唯一联系是 技术 比特币区块链与其中一些私有区块链之间的相似性 今天实施。 一个主要区别是私有区块链不需要 工作证明 挖掘,因为区块是由一组封闭的已识别参与者创建的。 随着时间的流逝,这两个世界可能会进一步分开,因为它们的要求完全不同。 无论您是否喜欢金融监管,一个简单的事实就是私有区块链在一个受监管的世界中可能很有用,而至少在目前, 公共区块链不是.

如果我可以打个比方,联合国 国际法原则宣言 只要周围有明显标记的围栏,它就不会告诉国家可以拥有任何想要的领土。 相反,它指出“任何威胁或使用武力引起的领土获取均不应被视为合法”。 换句话说,这是关于合法性的规则 变化,而不仅仅是 情况。 现在看来对我们来说如此显而易见的联合国宣言是国际法的一场彻底革命。 这意味着一个世界不再基于单方面的权力和权威,而是一个可以通过共同共识解决分歧的世界。

对于共享数据库,私有区块链的作用完全相同。

时间戳记:

更多来自 Multichain