时间:2023-06-10|浏览:231
一、什么是模块化区块链?
模块化区块链是一种分布式区块链技术,具有处理少数职责并将其他部分外包给一个或多个单层区块链的功能。常规区块链的职责是:共识、执行、数据可用性和清算。
1. 共识是指节点可以将区块链上的哪些数据验证为真实准确的达成协议的机制。共识决定了交易的排序方式以及如何在链条中添加新块。
2. 执行是指区块链上的节点处理交易,在状态之间转换区块链。在验证区块之前,参与共识的节点必须使用其区块链副本进行交易。
3. 区块链强制执行数据可用性要求交易数据可用性规则。这意味着区块生产者必须为网络对等方下载和存储发布每个区块的数据,这些信息必须提供。
4. 清算是指区块链的最终性,以确保已经提交到链史的交易是不可逆的或不可变的。为了实现这一点,区块链必须确保交易的有效性。因此,清算功能需要链条验证交易、验证证明和仲裁纠纷。
二、模块化区块链是如何工作的?
模块化区块链的工作原理是分模块处理。这意味着将系统分离成不同的组件,并通过各种方式组合来实现特定的目标。模块化依赖于系统化:每个组件只能做一些事情,但必须做好。您可以将模块化组件视为乐高积木,并可以形成不同的结构。
更大的区块链是模块化链。"模块化堆栈"中的一个组件可以组合以实现不同的目标。模块化区块链可以根据用例进行交换或合并。Rollups就是模块化区块链的一个例子。Rollup总链处理事务(执行),但将共识、数据可用性和清算外包给父链。通常,模块化链可以执行两个或两个以上的功能,尤其是当它们相互依存时。
由于更多的验证器在线,并且能够安全地支持更多的数据,因此,模块化PoS安全性可以在更多的分块上再次发放验证器。L1上的其他分块对总结执行能力有放大的影响。在将数据添加到L1分块之前,Rollup可以压缩大量数据,所以分块中的任何额外空间都会对总结的可用空间产生很大的影响。规模越大,执行速度越快。
三、解锁未来模块化区块链的解锁
虽然故障证明是处理分布式区块验证的有用工具,但是整个节点依靠区块的可用性来生成故障证明。恶意区块生产者可能会选择只发布区块头,保留部分或全部相应数据,从而防止整个节点验证和识别无效交易,进而产生故障证明。这种类型的攻击对于整个节点来说是微不足道的,因为它可以简单地下载整个部分,当它们注意到不一致或保留的数据时,它们会从无效链中分离出来。
然而,轻量级客户端将继续跟踪潜在无效链的标题,从整个节点分叉。这是数据可用性问题的本质,因为它与故障确认有关:轻量级客户端必须确保所有交易数据在验证前在块中发布,以便完整的节点和轻量级客户端必须自动就标准链的相同标题达成一致。从根本上说,根据博弈论,这里使用的基于故障的验证系统将被使用,诚实的参与者将处于双重损失的局面。
四、实效证明和零知识汇总
分布式区块验证的另一个解决方案是清除状态转换所需的交易数据。相比之下,实际效果证明假设比错误确认更悲观。通过删除争议过程,可以保证所有状态转换的原子性,并为每个状态转换提供确认。这是通过使用新的零知识技术SNARKs和STARK来完成的。与故障确认相比,实际效果确认需要更多的计算强度,以换取更强的状态保证,从而影响可伸缩性。
零知识汇总是利用有效性的验证而不是错误的验证来验证状态的汇总。它们遵循类似于乐观汇总的计算和验证模型,通过排序器/验证模型处理和计算排序器,并验证生成相应的验证。然而,有效性证明的数据可用性仍然存在一些微妙的问题:虽然有保证状态,但仍然有必要确认有效性的交易数据,以便节点可以更新并为终端用户提供状态转换。因此,使用有效性证明的总结仍然受到数据可用性问题的限制。
总结
模块化的区块链设计说明分散作为区块链的关键特征的重要性,这使得所有其他功能都可以实现。以太坊通过增加分散性而不是牺牲分散性来解决可扩展性的困境。只有通过优化分散性,才能获得上述模块化设计的好处。虽然模块化区块链可能存在一些挑战,但是它将为区块链的未来发展带来新的可能性和机遇。