所有命名的系统本身都是数据库,具有不同程度的安全性和可审计性。但是,为了实现资产的转移,我们需要谈论桥接:)
原文标题:Blockchain as a Database (Part 1)
原文作者:PATRICK MCCORRY
原文来源:Substack
编译:Lynn,MarsBit
关于验证桥是否定义了 rollup,或者换一种说法,已经有了大量的讨论:
rollup ==? bridge。
我们应该退一步,从第一原则看问题。
这两个主题将在两篇博文中涉及,然后我们可以重新审视上述声明,以评估其真实与否。
区块链的目的只有一个:允许另一方计算与其他人相同的数据库的副本,并相信该数据库是有效的。
区块链的核心是一个单一的数据库,它记录着:
在几乎所有系统中,区块链定义了所有历史交易的总排序。
至少,在很长一段时间里,我们是这样被教导的。
它没有理由必须是一份交易清单。它很可能是一个状态差异的列表,同时还有一个零知识证明!那么——什么是区块链?
让我们再重申一下区块链的唯一目的:
唯一的工作是启用单个数据库的复制。
听起来很无聊,不是吗?
其中一个更难的难题:
如果我们都能在同一个区块链上达成一致,那么我们都可以计算出同一个数据库的副本!
下一步这就来到了共识协议的想法,其目标很简单:
在区块链的背景下,共识协议使一方能够提出一个数据块“blob”,将其附加到区块链的顶端,并使所有其他各方同意它确实是新顶端。
这就是为什么它被称为区块链的原因,因为我们都是在一条串着区块的链子上达成协议的!
在设计和实施一个共识协议时,有许多技术挑战需要考虑:
我们不会专注于这些挑战,尽管这确实是一个有趣而复杂的探索话题。唯一的收获是,我们只需要一个共识协议的存在,并且它可以使所有各方就新的数据块达成协议。
多年来,当然是为了追求Layer 1区块链,社区已经尝试了大量的共识协议配置:
在几乎所有的情况下,进入市场的计划是推出一个新的共识协议,就数据库的更新达成一致。此外,这不仅仅是部署一个共识协议,而是所有围绕它的基础设施,以及使大多数诚实的当事人参与其中的社会方面。
如果完成它,这将是一个赫赫有名的壮举。
这给我们带来了一个有趣的问题:
你肯定想不到,答案是否定的!
区块链可以作为一个公共公告板,保证所有各方的一致性
在进一步深入研究之前,我们需要考虑一个抽象的概念:
它是一个与电子投票协议有关的概念。一个公共委员会允许所有用户获得相同的协议笔录。用户可以拿着记录本,独立地执行它,并验证协议是否正确运行。在电子投票的情况下,它是为了检查投票协议的运行是否正确,以及所有的票数是否确实被算作统计的一部分。
这与区块链有什么关系?嗯,只要是这样:
然后,任何人都可以获得有时间戳的数据,并计算出单一数据库的副本。在实践中,许多Layer 1区块链,当然是比特币和以太坊,是非常好的公共公告板。此外,他们还让任何人都可以很容易地把数据块写到公共布告栏上!
只要把数据卷起来,然后发布到区块链系统上。
重用现有的区块链系统被称为“rollup”。
决定数据块的总排序和保证任何人都能访问数据的艰巨工作留给了现有的区块链系统。这不是一个新的想法。事实上,它已经存在了10年左右。作为引导新数据库的一种方式,rollup的方法已经得到了普及。
有很多例子:
上述所有项目,以及其他项目,都在试图在比特币或以太坊的基础上启动一个新的数据库。
事实上,由于该方法的流行,有一个项目将在某天推出,名为Celestia。它专注于建立一个平台,致力于实现类似rollup的数据库。
在所有情况下,我们仍然可以将rollup视为区块链:
区块可能看起来不同,它甚至可能是一个数据臃肿的流,但总的想法是坚持一个只附加的数据结构,最终有一个总的(或者说随意)排序。
最后,无论我们是部署一个新的共识协议还是重新使用一个现有的协议,目标都是一样的:启动一个单一的数据库。
这就需要社区站出来,执行全球商定的规则规则,特别是要对系统的操作者进行反击。
假设所有各方都能获得相同的数据,最后的挑战是各方都同意相同的一套规则(“状态转换函数”)来解析数据块和计算数据库的副本。
一个解析数据的例子:
这导致了加密货币的一个独特问题:
在协调全世界对解析规则的共识时,我们需要评估两种情况:
首先,几乎所有的讨论都将区块链网络的安全性与规则的日常操作执行联系起来。这是一个重要的对话,因为它关注的是软件以及所有各方如何持续执行同一套规则来保护数据库。
然而——保护区块链网络的最终后盾,特别是当操作执行出现问题时——是更新规则的过程。必须有一个过程来实现所有参与者对如何改变规则以及何时执行新规则的社会共识。
让我们更详细地探讨一下执行和治理的概念。
我们所有的人都要不断地执行规则,并验证对数据库的每一个拟议更新。
日常的操作执行是使计算数据库的区块链系统令人兴奋的原因!
我们只需要在以下方面达成一致:
就是这么简单明了。所有参与者都有机会获得数据块,执行规则,只尊重遵守规则的数据库。
不管参与者是大是小,是提案人还是在家的节点,每个人都应该对数据库的内容有信心。
再进一步说,只要所有市场参与者执行相同的规则,并且他们可以计算出相同数据库的副本,那么我们就可以让市场来决定什么应该被认为是真正的区块链。
所有的区块链系统都必须有一套如何解析数据和计算数据库的规则来引导。
几乎所有的区块链系统都需要一个引导阶段:
更多的时候,一个项目是由一小群开发者引导的,他们决定规则,启动区块链,然后把软件(连同规则)交给更广泛的社区。
下一步是改变规则的过程。
随着时间的推移,有很好的理由改变规则,例如为新功能进行软件升级或修复已知的错误。任何规则的改变都需要广泛的参与者的同意,或者换一种方式,社会共识。
有两种方法可以实现改变规则的共识:
前者是粗略共识,是比特币和以太坊等区块链网络的核心。它涉及到以人为本的过程,与各个参与者达成协议,然后开发人员实施升级,并组织一个旗帜日,以便升级可以上线。
后者,即链上治理,首先由Tezos开创,使参与者能够明确地投票决定是否应该部署升级,然后为投票成功后的软件更新提供一个时间表。正如我们即将看到的,链上治理方法已经成为DAO流行的一种治理单一软件实例部署的方式。
在这两种情况下,仍然需要就拟议的升级达成协议,而且不能保证它能顺利进行:
换句话说,治理过程提供了一个关于社区是否可能接受拟议升级的指示。我们只能在升级的旗帜日和执行之后才能确定。社区成员很有可能提出异议,无视新规则,并允许出现两个竞争性数据库。就像BTC/BCH和ETH/ETC。
作为最后的说明,有两种方法来实现新的规则变化:
硬分叉或软分叉的想法集中在非升级的软件是否能检测到规则的变化,以及它将如何回应。围绕着应该使用哪种方法很容易引起激烈的争论,因为它最终会影响到网络的抗审查能力、抵御敌意接管的能力以及用户是否可以明确选择加入规则的改变。
区块链网络的全部追求是建立一个开放的数据库,允许任何人读取、写入和保护它。
在过去的14年里,社区最大的实验总是集中在如何建立一个“更好的”数据库。
已经有了一个明显的演变:
提供一些例子:
现在——我们用“更好”这个词作为答案——因为什么是一个好的数据库是非常主观的,它取决于社区试图优化的指标:
我们可以客观地定义指标,评估一个区块链系统实现其既定目标的程度。社区将永远争论那些重要的指标,以及他们如何比竞争对手更好地实现它。然而,最终重要的是市场上的用户决定在什么上进行交易,以及他们为什么做出这个决定。
只有一个问题——我们如何将资产从一个数据库转移到另一个数据库?例如,一个典型的用户流程可能涉及:
所有命名的系统本身都是数据库,具有不同程度的安全性和可审计性。但是,为了实现资产的转移,我们需要谈论桥接:)
这将是我们下一篇文章的重点!