探讨L1和L2思维模式得差异
来源:ETH 中文
作者:Patrick McCorry
加密货币的基石就是数据库。它记录着所有用户账户的余额、智能合约的代码和状态。
任何的用户操作最终都会通过执行交易与更新数据库的形式反映出来。
「Web2」数据库技术的问题都在于使它得以运作的信任上。它依赖于一个可信第三方来维护和保护数据库。
加密货币正在引领一场数据库技术的范式转移
如果这些第三方掉线了,那么对数据库的所有访问都会被中断。如果他们在更新数据库时出了错,那么这个错误可能一直不被发现。
为了建立起公众对数据库的信心,可以雇佣审计员,通过回溯检查数据库更新的有效性(不是一项简单的任务)以证明数据完整性。
一组开放成员制的参与者群体可能可以取代一个可信第三方,这也是加密货币正在引领数据库技术范式转移 (「 Web3 」) 的原因。
它允许愿意贡献资源的任何人进行读取、写入、审计,并最终保护数据库的完整性和内容。这个群体可以实时检查数据库的更新,也使得他们可以立刻拒绝错误,并在更新后马上发现错误。
开放成员制的群体是这种范式转移的基础,它可以分为两种角色:
- 提议者:可以提议更新数据库的主体。
- 验证者:可以检查更新数据库提议有效性的主体。
参与的思维模式与加密协议类似,其中一组参与方(提议者)想要证明一个声明是正确的,而另一组参与方(验证者)必须在接受它前检查它的正确性。这种互动的过程会在数据库的每一次更新时不断重复。
然而,如何实现开放成员制群体需要提出几个重要问题:
- 谁是提议者?我如何变成一位提议者?这个群体的规模需要多大?
- 谁是验证者?我需要注册吗?这个群体的规模需要多大?
- 我们如何在接受一个更新上达成共识?
这个系统的架构以及它对数据库安全的根本意义将回答上述问题。我们探讨 L1 和 L2 的架构,最终的目标是帮助读者建立一种良好的思维模式。
L1 的思维模式
L1 的数据库必须为经济上的大多数 (「世界」) 所接受
在 L1 的系统中,可信第三方被公共共识所替代。
其目的在于让所有参与者同意数据库的更新。这就需要一组能被各方客观遵循的共同规则(「共识规则」)。
这些规则用来证明数据库更新的有效性。一个或更多的提议者可以提议一个竞争性的更新,但最终所有参与者收敛于数据库的一个更新和关于数据库内容的一个事实。
对网络共识的需求影响着参与情况:
限定比率的提议者数。成员资格需要是开放的,但会限制在那些从这个系统的长期成功获得经济激励的参与者。这是为了防止冲突更新的泛滥,最终使得各方难以就一个更新达成一致。
最大化验证者数量。更新的频次和大小将决定验证者数量,因为他们必须具备计算和带宽资源实时验证所有更新。否则,他们将跟不上,也将无法计算出最新的数据库副本。
我们可以借这个机会讨论如何限制谁能成为提议者、如何权衡数据库的广泛副本以及谁是一条权威链 (和数据库) 的最终决定者。
限定比率的提议者数。我们的目标是要找到"共担风险"的提议者,他们的经济利益与网络的长期繁荣相一致。
这可以通过分配成为提议者的权利来实现,其依据是对稀缺资源的所有权 (获得这种资源在经济上是很贵的)。
例如,在工作量证明机制中,提议者必须拥有高效的硬件和具有成本效益的电力来源,才能在挖矿市场上竞争。
而在权益证明机制中,提议者必须拥有该链的Token并锁进链上程序里。在这两种情况里,提出新更新的频率与所有其他参与者数成正比。
可负担性 VS 可验证性。这个网络的吞吐量取决于一个更新被所有参与者接受所需的时间。
在拥堵期间,由于用户争相让自己的交易先于别人的交易被接受,网络的吞吐量和交易的可负担性之间会有权衡。
实际上,像 Bitcoin 和 Ethereum 这样的网络最大限度地提高了可以作为验证者参与的情况,而像 Solana 这样的网络则以低费用为目标,只要它可以保持下去。有趣的是,ICP 的验证者必须得到许可并从特定的供应商那里购买硬件。
经济大多数。大部分时间,我们可以把提议者和验证者视作一个保护数据库的集体。然而,其最终目标是说服经济大多数,即从使用角度有既得经济利益的那些人。
这些提议者和验证者只是经济大多数在正常运行情况下的代理,但如果对网络共识规则的修改出现争议,那么最终是由全球的大多数用户来决定,他们将从结果数据库的外部经济价值来判断。
例如,Bitcoin 对比 Bitcoin Cash 以及 Ethereum 对比 Ethereum Classic 的市值,清晰地表明了社区在前进道路上出现重大分歧后的赢家是谁。
总而言之,L1 的思维模式是把 L1 看作是数据库,它最终负责决定资产所有权和让一个经济大多数接受所有对数据库更新的需求。这就是为什么从技术、社会和经济角度来看,去中心化对 L1 的成功至关重要。
它的目的在于尽可能广泛地复制数据库的副本,最大化参与数据库保护过程的验证者数量,最后,依赖于经济大多数来决定它在现实世界的价值。
L2 的思维模式
桥接合约持有所有的资产而 L2 数据库记录负债情况
在 L2 系统上,可信第三方被智能合约所取代,其中要考虑两个组件:
- 桥接合约 (Bridge contract),L1 系统上持有资产的智能合约。
- 链下数据库,为链下系统记录负债情况的数据库。
桥接负责把资产从一个数据库 (L1 系统) 桥接至另一个数据库(L2 系统)。
桥接合约的唯一责任就是通过检查链下数据库的完整性,保护桥接资产。
为了维护它的完整性,该合约会检查每一个对链下数据库提议的更新,在接受之前检查其有效性(比如,应用在 L2 系统上的数据库的每次状态改变)。
这对于确保桥接合约上持有的资产可以涵盖链下数据库所记录的负债来说至关重要,否则就将导致资金大规模退出的情况。
维持桥接合约的独立性会影响参与情况:
- 任何人都可以提议。桥接合约应该允许任何人强制打包最终将在 L2 系统的链下数据库中执行的交易。
- 单个验证者。只有当桥接合约确信对链下数据库提议的更新是有效的,才会允许释放资产。
下面我们思考了 L2 系统的架构、信任假设如何演变,以及让数据库可以公开访问的目的。
架构和中心化服务。L2 系统的架构与中心化服务 (如 Coinbase) 类似。用户将 Token 存到 L1 上的桥接合约中,存款会反映在链下数据库上,并且大多数交易都由链下数据库处理。
在过去 12 年里,这种方法帮助加密货币市场扩大了规模,因为多数用户与中心化服务进行交互,并把底层 L1 系统当作互操作性的解决方案,将资金从一种服务转移至另一种。
在历史上,链下数据库都是由运营商 (如 Coinbase) 保护,并决定一笔提款是否由桥接合约进行处理。
信任假设的演变。在过去几年里,我们见证了桥接合约在信任假设上的变化,即它如何确信链下数据库的完整性。信任假设已经从单个机构桥接、多个机构桥接演变到一个外部区块链的共识协议。
在任何情况下,桥接合约在将资产返还给用户之前,必须盲目信任一组参与方的判断。
这也导致了数十亿美元被盗,因为数十亿美元提供安全性的人工处理流程是很难复制到数百个桥接上的。L2 系统的目标是完全消除对中间方的信任,使桥接可以独立验证对数据对数据库提议的更新。
数据库可访问性。只有桥接合约可以决定什么是真正的数据库并将资产释放给用户。让数据库可公开访问是为了保证 L2 系统的活性。
合约假设诚实的一方会出现,他会成为提议者,接手待处理交易的列表,并向数据库提议更新。
因此,没有必要创建一个非常大型验证者网络来保护数据库,或是依赖经济大多数来决定哪个数据库应该会有外部的现实世界价值。
因此,L2 的思维模式是关于桥接合约以及支持合约尽力保护其所持有资产。无论大多数参与者相信什么,合约拥有着决定数据库的哪个更新可以被接受的唯一权力。
与此同时,参与者网络仍然希望可以确保 L2 系统的活性,并保证会持续不断地有更新被提议至智能合约上。然而,这并不是要靠着全球网状网络来保护数据库的完整性(安全属性)。
* optimistic rollup 有一点需要提醒,由于它假设了会有诚实一方协助桥接合约验证链下数据库的更新,但最终,真正重要的桥接合约所做的最终决定。
对比与总结
L1 和 L2 系统的架构和目的是不一样的:
- L1 系统。其目标是达成公共共识,并最终收敛于关于数据库状态的单一全局事实。
- L2 系统。其目的在于建构一个系统,使智能合约相信链下数据库的完整性 (和状态)。
两个系统在信任假设上有着根本区别。L1 系统必须依赖于诚实的大多数以保护数据库的完整性,并依靠经济大多数给数据库所记录的资产赋予现实世界的价值。
然而,在 L2 系统上,不需要大多数的同意或是外部的资产估价。它已经假设 L1 系统获得了公共共识,其唯一的关注点是保护智能合约持有的资产。因此,它可以依靠诚实一方的出现,保证系统持续往前运行。
在我看来,这就是为什么 L1 和 L2 之间的对比是两个完全不同的东西之间的比较。两个系统有着不同的信任假设、参与主体以及最终的系统架构。
我们社区试图对两者进行对比的唯一原因在于,L2 系统的出现是因为 L1 可扩展性遇到了瓶颈。我的一个软目标是改变这种说法,因为第二层系统应该被看作是桥接合约的进化。
所以,它们应该与托管服务(如 Coinbase,它保护着所有加密资产的 10% 以上)进行对比,因为两边的系统都负责保护链下的数据库和一篮子的资产。
最后,我希望这篇文章可以帮助读者在 L1 和 L2 系统的系统架构和信任假设方面建立一个良好的思维模式。也希望 L2 协议能够长盛不衰,展示它们相比于托管解决方案的优越性。
不是因为用户关心系统的安全性,而是因为我相信运营商可以提供完全相同的服务,而无需承担保护数十亿美元的风险。如此,托管(和信任)将变成一种没有必要、碍手碍脚的责任。