# 区块链的理想主义

By [系统币中国](https://paragraph.com/@wenge) · 2022-02-28

---

在最近的两篇文章中，我们提出了一个解决方案来创建一个服务于 Web 3.0 的去中心化金融计算系统，该系统可以扩展到不同的区块链设计，并发表了为什么我们认为模块化区块链设计最能解决三难问题（即可扩展性、去中心化和安全性） ）。在本文中，我们将我们的理想呈现在一个理想的区块链中，该区块链提供了实现去中心化可扩展共识以服务于智能合约平台的最有效方式。 目录 ·验证-然后信任一切 ∘ EIP 1559 ∘最小可行通货膨胀 ∘服务证明 ·合并挖掘比特币以实现共享绿色安全 · MEV 保护 ·通过模块化区块链设计扩展和隐私 ∘链下数据可用性安全 ∘ 经济系统的系统一致性第 1 层的活动 验证然后信任一切 在比较第 1 层 (L1) 区块链的不同设计时，细节决定成败。一方面，你有比特币，它使用一个久经考验的去中心化模型，每个节点都会检查所有内容，并且不会对参与特殊共识的节点子集进行权衡。但是，另一方面，您的链具有在授权下运行的节点子集，这些节点由加密经济学保持诚实，以诚实地验证并为基础层性能提供优化。 我们认为，可以在每个节点都达成共识的智能链上有效地扩展和提供轻客户端安全性。这可以通过以下方式实现： (a) 激励全节点，实现“ ZK-SNARK 一切”；(b) 使用 ZK-Rollups 等零知识证明 (ZKP) 系统而不是使用 L1 来调整 L1 经济激励措施；© 并找到在不引入共享成本的情况下扩展数据可用性服务汇总的方法，为保留比特币的信任和安全模型但可扩展为模块化区块链的区块链系统创建最小可行的共识。 随着零知识证明的发展，我们已经能够看到如何优化和提高性能以不需要我们从验证-然后-信任一切的完整分散模型中进行这些权衡的方式。区块链负责确保资金安全的两件事，计算共识和数据可用性。计算共识通过确保任何本地节点可以重新计算每个人的余额来确保账本处于一致状态，以确保没有发生双重支出，并且数据可用性确保您拥有在区块链上转移资金所需的信息。由于计算共识可以被 ZKP 取代，我们可以专注于数据可用性作为下一个研究方向，以创建去中心化系统，而无需依赖超级节点或子集。这并不是说节点的子集没有用（即：用于服务证明 - 见下文）。比特币假设至少有 1 个其他节点可用于同步，因此本地节点可以确保它们不仅处于正确状态，而且可以安全地与网络通信。如果节点之间的连通性已经建立并且它们都是诚实的参与者，那么你就有了一个参与共识的利他模型（即比特币），它是完全去中心化的，并且除了你自己之外没有第三方对安全性的依赖。偏离这种设计可能并且将导致灾难性后果，因为它将网络的信任、安全和授权远离已证明有效的模型（即矿工竞争形成区块，并且全节点要么接受要么拒绝它们) 到具有数不清的游戏化载体的东西，为特定参与者创造优势。 我们希望设计的系统不交换最去中心化的链设计的基本原则，这意味着每个节点都会检查所有内容，以及在博弈论模型下工作的矿工机制设计，将现实世界资源作为基本成本创造以区块形式表示的工作价值，由费用和区块补贴支付。 本文的前提是，任何偏离这些原则的基础层区块链设计都会导致安全性下降或资产的经济硬度下降，从而导致黑天鹅事件导致的去中心化和攻击向量减少。尽管使用权益证明 (PoS) 和分片设计可以有效地与系统同步的轻客户端或嵌入式设备似乎是可能的，但这会导致系统更容易受到经济博弈论渎职行为的长期影响。此类决定的结果可能会导致一系列硬分叉退出将死方案，最终导致对此类系统的信任危机。 关于轻客户端，重要的是要注意用户不需要下载完整的基础层即可与模块化设计进行无信任交互，因为他们可能坐在第 2 层 (L2) ZK-Rollup 上。这是一个简单的默克尔证明可以通过 ZKP 验证来证明用户的余额，以保证汇总的最新状态；在毫秒内响应，带宽要求低于 100kb。 EIP 1559 EIP-1559是通过图灵完备的合约经济为区块链设计创造长期经济效益的有前途的方法。这使我们能够通过利用来自联合挖矿机制中的比特币矿工。这也为全节点长期运行提供了激励，而无需担心依靠费用来保持盈利。通过在验证后信任的去中心化网络中依赖 PoW，我们创造了比其他形式的共识更大程度的硬币的经济硬度，因为在创建硬币时消耗了可证明的能量。我们将其与验证者策略相结合，其中验证者基本上是为运行全节点而付费的。EIP-1559 将所有这些作为一种分离通货紧缩风险并以非常有效的方式管理它们的方式。这是通过分配最低通胀策略来保持网络健康并保持被分配从事工作的参与者长期盈利的方式来实现的。 最低可行通胀 每条 L1 链都需要以 gas 代币形式的成本模型来保护自己，该模型竞争区块空间和执行，以及为模块化架构服务的数据可用性（有关更多信息，请参见下文 - 数据可用性证明或 PoDA） . 为了支付这种防御费用，共识需要：

1.  增加货币供应量
    
2.  税块空间使用
    
3.  税务数据可用性保证（下文再次详述——PoDA） 如果通货膨胀成本超过税收收入，那么就会出现赤字。赤字是不可持续的长期。要么代币的价值需要升值，要么需要限制可用的区块空间以实现安全性的均衡/盈余。可持续的 L1 将使块空间和数据可用性保证变得有价值。使块空间有价值需要对 L1 块空间的需求，这需要汇总和有效性证明以及 L1 上用户的奇数执行。数据可用性保证将以汇总的方式出现，需要保证意志模型的数据复制以扩展 ZK-Rollup 范式。这应该会消除链上数据可用性的成本瓶颈，以汇总创建 ZKP 的计算成本，这将导致分散成本模型。 确定创建长期可持续平台所需的最低可行通胀量非常重要。如果我们将通货紧缩的极端情况与 0 进行比较，而通胀变得毫无意义，那么代币的成本最终可能会高得令人望而却步，从而产生不受欢迎的经济来使用区块空间和可用性。如果我们膨胀得太多，那么我们就会开始在赤字中运营，而安全最终会长期受到影响。 在 Syscoin 中，我们根据人口的自然增长对通货膨胀进行建模，以匹配理想区块链系统中需求的长期增长，在该系统中，金融计算用作基础层，为智能城市、物联网、DeFi、元界和各种去中心化应用提供动力应用范式。
    

![](https://storage.googleapis.com/papyrus_images/74293c8025f2738378b2ec7808241c78028d4f4f961436d5a01da2cd3e4d55e6.png)

图 1：1950 年至 2050 年的世界人口增长。SRC：https ://en.wikipedia.org/wiki/Population\_growth 正如你所看到的，随着时间的推移，我们处于大约 1% 的增长轨迹，这与我们使用 Syscoin 的排放率相同。如果完全采用，我们预计使用该系统的需求将与人口一起永久增长。但是，这并没有考虑到 AI 用户，我们相信他们会通过依赖 L2 并仅在必要时调用 L1 来找到 L1 房地产的更优化用途。

通过给出长期通胀策略，即基于人口增长的最小数量，我们可以在我们理想的区块链设计的安全防御上实现长期均衡。应给予付费全节点（即主节点）和矿工长期的区块补贴保证。在合并矿模式中，比特币矿工可以利用这种保证，因为比特币补贴会缩小到可以忽略不计。 服务证明

由于我们验证并信任一切，我们没有一个依赖于节点子集的共识系统来在我们理想的区块链设计中提供最终的信任模型。然而，随着去中心化，我们预计仍然有一个盈利模式来帮助激励长期节点运行并保持网络抗女巫攻击。服务证明模块的创建可作为在我们的理想设计中构建其他所需功能的基础，例如矿工可提取价值 (MEV) 保护和最终性，而且还专门用于创建活性基础层的服务能够随时连接到诚实的完整节点。这与比特币和其他去中心化网络中的利他假设形成对比，在这些假设中，至少有 1 个连接节点被认为是诚实的。然而，

使用 Syscoin，使用需要 100,000 SYS 作为锁定抵押品的主节点。主节点通过确认网络上的交易来工作，并通过仲裁机制形成聚合 Boneh-Lynn-Shacham (BLS) 签名，以通过分布式密钥生成 (DKG) 过程确保活跃性。如果在 DKG 过程中某些注册节点没有以有效的签名响应，它们将被标记为坏，因为它们没有提供活性，并被拒绝作为主节点参与，并失去未来的区块补贴，直到它们重新建立活性。我们没有与这些特殊节点进行负面或惩罚性的经济结盟（我们认为网络参与者不安全且不希望这样做），而是让网络保留阻止主节点参与的权利，这需要重新注册并等待下一轮得到报酬。法定人数每 12 小时建立一次，因此在 DKG 过程中将捕获不提供服务的主节点。

一旦我们拥有了一组主节点，我们就会创建一个基本级别的网络活跃度，从而确保执行诚实的网络策略，从而使矿工更难传播不良信息。

合并挖掘比特币以实现共享绿色安全

![](https://storage.googleapis.com/papyrus_images/fd16484c0a17ca0aae90acc52d8a5e8a408c79c81c10f282da4a0a106989e45e.png)

图 2：辅助电源。SRC： http: //learningspot.altervista.org/interactions-between-bitcoin-and-altcoins/ 图 2 展示了与比特币联合挖矿的基本思想。nonce 由比特币矿工开采，并在子链（本例中为 Syscoin）上创建一个块，在其难度目标下解决，但不一定在父链（比特币）上解决。请记住，合并挖掘的这个初步介绍考虑了超出本讨论范围的其他事情。但是，可以看到子链不需要验证比特币区块链（遵守其政策），而是可以形成自己的规则。 然而，幼稚的联合挖矿也有其问题，正如 Luke Dash Jr.在 2012 年通过 CoiledCoin 攻击所证明的那样。因此，需要自私挖掘策略，以使具有多数哈希的池不能拒绝网络少数部分的工作，从而否定攻击的有用性。因此，需要交易最终确定性。Syscoin 通过链锁解决了这个问题，但是通过验证者以安全的方式完成的任何形式的绝大多数投票共识都可以解决这个问题。然而，值得注意的是，如果验证者没有被硬通货（即消耗的资源）绑定，那么这不是一个安全的策略。这可以在黑天鹅事件中看到，当时有机会通过破坏负责链上自私挖矿解决方案的验证者来为自己的利益博弈最终确定性。

MEV保护 在引入图灵完备性并最终引入去中心化金融（DeFi）时，比特币模型中不存在所创造的收入机会的外部性。例如，如果 DeFi 生态系统中存在带外交易，其支付的费用将超过重新组织链的成本，则可以贿赂矿工重新组织区块链，这会影响诚实的用户，因为他们可以可能会恢复他们的交易。这称为MEV（矿工可提取价值），并且是在授权参与者可以通过提示、贿赂或通常形成某种勾结的环境中启用 DeFi 或带外经济的结果。基础层 MEV 的复杂性在 DeFi 结算层中几乎是不可能避免的，因为即使有隐私，也总有办法检测经济异常，让矿工参与拍卖以重新组织区块。解决此问题的唯一方法是对链施加最终确定性，以通过限制 DeFi 结算层的攻击期限来消除长期 MEV 攻击。例如，使用 Syscoin 而不是权衡比特币模型，我们希望创建一个概率模型，考虑诚实的大多数主节点来调用链锁。这样做会授予诚实的大多数超级节点的一些授权，如果存在无法形成的勾结和共识，则会调用传统的比特币共识模型。如果主节点有任何机会找到串通的方法（通过绝大多数节点），那么块在语义上必须仍然是正确的，从而证明他们根据当前的难度做了正确的工作量。

通过模块化区块链设计扩展和隐私

在我们之前的文章中，我们确定了设计一个好的 L1 策略的重要性。我们认为，模块化区块链设计不仅允许计算和数据可用性规模，而且还允许从 ZKP 系统继承的隐私方面。

链下数据可用性安全——引入 PoDA

在这里，我们重点介绍了针对基于意志的 ZK-Rollup 的常见攻击。对存储在链下的数据（即数据可用性）运行共识的排序器和链下节点串通起来，实际上并不存储数据，或者他们稍微操纵数据，使得存储的数据不能准确地代表存储在链上的真实账户状态. 当退出回到 L1 的时间到来时，用户无法获得所需的信息来证明他们是该帐户状态的一部分，因为数据是在合谋下被操纵的。因此，链下存储数据的 rollup 的安全保证不能与 L1 相同。

为了解决这个问题，让我们将数据可用性分为两部分。第一部分是复制证明，第二部分是归档。我们将其称为数据可用性证明 (PoDA)。

复制通常需要某种共识，这是 Celestia 和 Polygon Avail 背后的概念。这些系统还归档数据并使用不同的机制来提供数据可用性的可能性。尽管这些项目很新颖，但最近研究人员发现，我们不能在不损害 L1 安全性的情况下依赖外部共识系统。这在设计具有所需 L1 级别安全性的汇总时不利。

相比之下，如果该参与者允许其他人下载它以展示他们能够退出的证明，那么归档具有 O(1) 的空间复杂度以抵抗审查。这导致了比替代方案更安全的设计。用户可以存储自己的数据或使用服务。这可以极大地保证数据可用，并且不会引入将数据存储在 L1 上的所有共享成本。潜在的攻击者将无法强制世界上的所有副本不可用，因为他们缺乏强制这种情况所需的控制。 任何分布式系统中的数据可用性确实是一个大数据问题。为了解决分布式系统中的大数据问题，我们需要分析共享成本。

在以太坊中，设计是通过最近提出的分片来扩展数据可用性使用区块生产者创建的 KZG 承诺创建一个整体数据可用性解决方案。这些是使用 L1 安全性为汇总服务创建数据可用性方面的突破，但以降低去中心化和系统安全性为代价。在任何违反本文所述原则的示例中，我们假设会导致安全性降低。在这种情况下，如果共识被串通或破坏以允许分片数据代表对 ZK-Rollup 状态差异数据的有效 KZG 承诺，但它被排序器修改以创建审查，因为 ZK-Rollup 是最终的状态转换完成，这会造成 ZK-Rollup 基本上锁定所有用户余额而无法撤回到 L1 的情况。在我们理想的设计中，我们将使用完全分散的安全性来检查 PoDA，但不使用共享资源来存档不需要共识的数据。这降低了共享成本，分离了对谁应该归档数据的关注，并为数据完整性提供了完整的系统分散安全性。

PoDA 通过 ZK-Rollups 对链下或基于验证的账户的审查阻力有效地武装了网络，从而完成了大规模扩展，而不会影响本地验证的去中心化方面，并具有与比特币本身相同的诚实对等假设。执行可扩展性是通过 ZK-Rollup 实现的，而链下数据可用性的大数据规模是通过复制证明概念实现的，其中我们只需要在短时间内安全地删除 ZK-Rollup 调用数据，假设如下：网络中至少有一个诚实的对等方将归档它。今天，ZK-Rollup 解决方案通常处理两个阶段的过程来转换 L1 上的状态。在第一阶段，定序器将向 L1 智能合约提供执行正确性的有效性证明。定序器随后将向 Syscoin 网络呈现 calldata 和 calldata 的散列，其中网络参与者确认正确性，在 EVM 中提供 OPCODE 以存储正确的 calldata 临时存储在网络范围内以用于数据可用性的事实。在 ZK-Rollup 状态转换的第二阶段，sequencer 再次调用验证合约，合约读取 OPCODE 以强制网络验证数据的活跃性和正确性。请注意，验证者还必须将哈希作为证明验证的公共输入，以确保临时存储在网络范围内的调用数据由零知识证明提交。calldata 和 calldata 的散列，其中网络参与者确认正确性，在 EVM 中提供 OPCODE 以存储正确的 calldata 临时存储在网络范围内以用于数据可用性的事实。在 ZK-Rollup 状态转换的第二阶段，sequencer 再次调用验证合约，合约读取 OPCODE 以强制网络验证数据的活跃性和正确性。请注意，验证者还必须将哈希作为证明验证的公共输入，以确保临时存储在网络范围内的调用数据由零知识证明提交。calldata 和 calldata 的散列，其中网络参与者确认正确性，在 EVM 中提供 OPCODE 以存储正确的 calldata 临时存储在网络范围内以用于数据可用性的事实。在 ZK-Rollup 状态转换的第二阶段，sequencer 再次调用验证合约，合约读取 OPCODE 以强制网络验证数据的活跃性和正确性。请注意，验证者还必须将哈希作为证明验证的公共输入，以确保临时存储在网络范围内的调用数据由零知识证明提交。排序器再次调用验证合约，合约读取 OPCODE 以强制网络验证数据的活跃性和正确性。请注意，验证者还必须将哈希作为证明验证的公共输入，以确保临时存储在网络范围内的调用数据由零知识证明提交。排序器再次调用验证合约，合约读取 OPCODE 以强制网络验证数据的活跃性和正确性。请注意，验证者还必须将哈希作为证明验证的公共输入，以确保临时存储在网络范围内的调用数据由零知识证明提交。

如果我们在共享成本模型中使用数据分片，则 400 万 TPS 的吞吐量成本（假设存在 SNARK/STARK 的 ASIC 证明者）@ 20 字节每笔交易每年将需要超过 2.5 PB 的存储空间，这将增加巨大的成本转化为用户和系统压力，尤其是在确保数据存在和可检索方面。此外，来自不同汇总的数据的存储可能不成比例，因为在相同条件和相同分片基础架构下，一些数据需要比其他数据更多的存储空间。当且仅当数据的可复制性得到保证时，如果每个汇总中的参与者都归档他们自己的链下数据，那将是理想的。

假设有两个汇总，其中一个以 1 TPS 运行，另一个以 3,999,999 TPS 运行。在这种情况下，成本将被分摊，并且执行 1 TPS 的汇总将比应有的高得多，因为另一个汇总执行 3,999,999 TPS 的负载分布。

在一个正确配置的系统中，网络的基线成本将只是产生一个复制证明（即，将链下差异临时存储几个小时）。基线存储成本将专门针对每个汇总，因此具有 3,999,999 TPS 的汇总成本将大大高于具有 1 TPS 的汇总成本，因为卸载给用户的硬件要求更高。当我们说基线时，这意味着最低成本模型：汇总系统的盈利能力将作为利润的收入的最低计算开销成本（即参与共识的成本）考虑在内。1 TPS 的汇总会少得多，因为参与共识的成本以及归档成本要低得多。‘‘

![](https://storage.googleapis.com/papyrus_images/abe6b784c79068381c454bdd54873320a0f99f0b14bd615f83846256661c0972.png)

图 3：分片与 PoDA：汇总成本 使用 PoDA 时，由于归档与 L1 共识分离，因此吞吐量较低的汇总成本较低。

![](https://storage.googleapis.com/papyrus_images/4804a7a3ccac5a1c352d6cc357041728174d07c59bb25eea8a2851a7e12d6587.png)

图 4：PoDA 设计模型中的成本分析 在深入研究功能时，通常数据复制需要诚实少数假设（在我们的设计中，出于安全目的，我们让整个网络对其进行验证），而智能合约执行需要诚实多数假设。然而，通过分离数据归档，我们不需要共识或垃圾邮件保护，因此成本模型长期低得多，随着共享资源的压力增加，系统范围内更高的吞吐量会变得更加恼火。

数据复制的示例包括Celestia和Polygon 的 Avail，它们捆绑了复制证明和存档。由于复制证明需要这些系统，因此需要内置共识和垃圾邮件抵抗。因此，取决于这些系统的数据可用性，汇总的安全性不能与 L1 相同。因此，取决于关键安全组件的外部共识，这将导致 L2 汇总的辅助审查风险。今天，zkSync Guardians使用多数假设来保护 L2 块，通过多数共识存储数据和复制证明。因此，向监护人支付代币奖励以换取他们的工作。

让我们回到导致对启用 PoDA 的现有 ZK-Rollup 意志设计的攻击的共谋场景。在这里，没有办法用不正确的数据来呈现状态转换，因为只需要一个诚实的实体来存储和呈现这些数据即可实现审查阻力。作为服务运行的企业可以代表用户存储这些数据或归档他们自己涉及的汇总数据。甚至链上合约也可以通过基于 SNARK的私有数据交换按需提供数据。

无需特殊代币即可开发精心设计的汇总，利用基础链代币来支付与 L1 上的数据可用性相关的 gas 成本。因此，统一创造价值，而不会通过额外的代币引入不必要的复杂性，这可能会也可能不会保留价值并影响数据可用性安全假设，就像我们目前在以太坊上看到的一些假设一样。由于只需要一个诚实的节点来存储数据，因此任何人都可以提供这些服务，包括数据即服务产品，这些产品可以存储和提供基于云的冗余解决方案，但用户可以付费使用。如果用户愿意，也可以自由地使用该工具来存储他们自己的工具。通过删除单独的令牌要求，我们还无需将白名单列入白名单并进行汇总管理。

第 1 层经济活动的系统调整 最后一个难题是建立经济一致性，以确保那些在基础层上使用汇总的人应该：（a）通过支付更多费用来使用它；或 (b) 为链上抢手的房地产创造激励措施。随着在汇总中使用并行化，块可以动态扩展，但是汇总排序器（以及因此用户）不需要在 L1 上与常规 DeFi 竞争，从而使我们免于低效的费用市场。为了以尽可能高的安全性实现适当的去中心化，我们不会破坏任何基本设计原则（在本文中列出），而是实施适合可扩展性和全球竞争力的最佳组件 使用 Syscoin，我们通过延长阻塞时间（为了不便用户使用基础层进行活动）来实现这一点，以使用 PoW 稳定最终性，而不需要硬性的最终性保证，这可能会破坏本文前面所述的系统。 用户还可以选择将他们的数据存储在执行引擎中，这不仅保证了复制，而且存储成本更高（因为它在链的持续时间内存储在共享存储中）。这合理地创造了成本权衡，同时通过链上存储或单个诚实对等方存档数据为 ZK-Rollups 提供尽可能高的链下数据策略安全性。

如果在这种设计中不可能进行共谋，那么成本将更好地反映在链上或链外执行和归档数据的最便宜的逻辑路径。

通过调整激励措施，汇总排序器不必与在主要层上进行 DeFi 和其他操作的用户竞争，而是在次要层上。这样做将最有效地使用区块链并最佳地降低成本。然而，同时在验证后信任模型中保留了 L1 的去中心化和安全性。由于对区块空间的需求主要是汇总以及来自用户和机构的少量交易，因此对全网资源的限制将更少。因此，块空间本身不需要以指数方式扩展来服务数据可用性和归档。最后，存在关注点分离，因为 L1 安全需要更高数量的数据可用性。在这种分离的范式中，我们依靠 PoDA 来满足我们的数据需求，因为汇总的吞吐量会增加，并且依赖于基于个人或基于汇总的偏好的单独归档策略。在 Syscoin，我们相信这是最先进的区块链设计，将用于在方法上设计的分散式 Web 3.0 平台上，该平台将在全球范围内长期扩展。

感谢 Frank Lenniger（区块链铸造厂）、Bradley Stephenson（Syscoin 基金会）、Ian Moore 博士（Syscoin 基金会）的贡献和审查。

---

*Originally published on [系统币中国](https://paragraph.com/@wenge/PHVWknLDBMpt8xiiw9pf)*
