总市值:$00
API
ZH
暗色

搜索SSI/Mag7/Meme/ETF/币种/指数/图表/研报
00:00 / 00:00
查看
    市场
    指数
    资讯
    TokenBar®
    分析
    宏观
    观察列表
分享

从链上到链下:状态通道和 Roll-ups

由AI翻译
#Layer2
$ETH
$MATIC
$POL
Prof Bill Buchanan OBE
1K字
2025年6月29日

从链上到链下:状态通道和 Roll-ups

Ethereum 是有史以来最令人惊叹的计算基础设施,但它在扩展方面需要一些帮助

在不久的将来,我们需要意识到我们正在运行一个传统的金融世界,并且我们需要构建一个更值得信赖的数字基础设施。事实上,我们需要转型的不仅仅是金融,而是任何需要高水平信任、安全和分布的领域。为此,我们可以使用 Layer-1 区块链方法,例如 Ethereum,但它已经显示出一个扩展问题,即主账本和计算基础设施无法应对每秒超过 15–30 笔交易。

但是,现在正在应用新的方法来减轻 Ethereum 的负载,同时仍然保持可信度和分布。这些包括用于共享的 Layer 1 实现以及向 Proof-of-Stake (PoS) 的过渡。不过,最有趣的进展发生在 Layer 2 方法中,这些方法建立在核心 Ethereum 网络 (Mainnet) 之上。

Layer 2:状态通道

状态通道最初是在 Bitcoin Lightning 网络中实现的,此后已在 Ethereum 上扩展。通过这种方式,我们基本上在 Mainnet 账本上有两个记录,并且所涉及的各方必须承诺一些可能或可能不会被花费的资金。例如,假设 Bob 想要创建一个侧链来支付他的客户,并将承诺 10 $Eth。然后,他将创建一个通道合约。承诺的 Ether 将在通道时间内被锁定,并且不能被花费。然后,Bob 可以给 Alice 2 $Eth,给 Carol 3 $Eth。一旦他完成此操作,他将提交完成的交易,Bob 将获得 5 $Eth,Alice 将获得 2 $Eth,Carol 将获得 3 $Eth。最后,Bob 只需发布摘要数据,并且只需为对账本的两次承诺支付 gas 费。Polygon 提供了状态通道的实现,Polygon 实现了完整的 EVM 兼容性和低交易费用。以下是来自这里的一个示例:

pragma solidity ^0.7.0;

contract PaymentChannel {
address public sender;
address public receiver;
uint256 public expiration;
uint256 public amount;

constructor(
address _receiver,
uint256 _amount,
uint256 _expiration
) payable {
sender = msg.sender;
receiver = _receiver;
amount = _amount;
expiration = block.timestamp + _expiration;
}

function close(uint256 _payment) public {
require(
msg.sender == receiver,
"Only the receiver can close the channel"
);
require(
_payment <= amount,
"Payment amount exceeds amount in the channel"
);
selfdestruct(receiver);
}

function extendExpiration(uint256 _expiration) public {
require(
msg.sender == sender,
"Only the sender can extend the expiration"
);
require(
_expiration > expiration,
"Expiration must be set to a longer time than the current expiration"
);
expiration = _expiration;
}
}

Layer 2:Roll-ups

扩展 Ethereum 的最佳机制之一是通过 roll-ups 和侧链将交易转移到链下。

Optimistic roll-ups

这些方法在链下处理交易,并假设交易是有效的(基本上是一种“信任并验证”的方法)。它们仅在交易中存在争议时才占用 Mainnet 上的计算资源。因此,在交易实际确认到 Mainnet 上之前,需要一个“挑战期”延迟。

使用 Arbitrum,欺诈观察者分析交易,如果识别出欺诈交易,观察者会将欺诈证明发布到 Mainnet。事实上,Arbitrum 可以识别与欺诈分析相关的代码行,然后将其发布到 Mainnet。然后,Mainnet 可以裁决欺诈证明,并决定是否执行所需的代码。对于 Arbitrum,有一个七天的提款期 [here]。

Optimism 还使用带有 optimistic roll-ups 的链下方法,并假设交易是有效的。它使用观察者(或验证者)来确定是否存在欺诈交易,并且可以提交欺诈证明,并且可以删除该交易。观察者将因发现欺诈交易而获得奖励。总的来说,挑战大约有七天的延迟,如果发现欺诈证明是正确的,则交易将被撤销 [here]:

Zero-knowledge rollups (zk-Rollups)

这些方法将计算和状态存储移动到链下,并涉及一种无需信任的方法。一旦发布回 Mainnet,状态更改和与此相关的证明将只需要最少的更新。由于我们以压缩形式提供证明,因此我们可以快速验证更新的交易,同时支持交易的隐私。这样,与需要几天才能提交的 optimistic roll-ups 相比,使用 zk-Rollups(基于 zkSnarks),我们只需要大约一个小时来验证证明。这确保了没有双重支出,并且所有交易都是有偿付能力的。一个例子是 ZKsync [here]:

使用 zk-Rollups,存在交易有效性的密码学证明,然后它们链接到 Mainnet。因此,执行欺诈交易将极其困难。使用 optimistic roll-ups,缺少密码学证明,因此在提交回 Mainnet 之前,会有一个延迟,以便可以检测到欺诈交易。

侧链

这是一个独立的侧链,是一个桥接到 Mainnet 的单独区块链。与 roll-up 方法不同,更新的交易可以在需要时回显到 Mainnet 上。总的来说,它们有自己的区块链和自己的共识机制,例如 Proof of Authority (PoA)。Polygon 是侧链基础设施的一个例子。侧链的总体弱点是,它们可能具有与主 Ethereum 网络不同的安全模型 [here]:

结论

对我来说,离线链中的 Zero Knowledge Proofs 是最佳解决方案,因为它可以快速验证主链上的交易,并保持交易者的隐私。我们还可以在 ZKP 中使用选择性披露,这可能有助于揭示重要信息,例如某人是否有权访问资源。

使用 optimistic rolls-ups,我们假设交易是有效的,除非另有证明,并且我们需要一个挑战期,以便在最终确定之前对交易提出质疑。使用 zk-Rollups,我们的交易将是有效的,因为存在与此相关的证明,并且我们可以快速提交到 Mainnet。不幸的是,zk-Rollups 需要对密码学和区块链有很强的理解,这会减慢开发速度。

显然,Ethereum 并不是唯一的选择,Polygon [here]、Solana [here]、Cardano [here] 和 Polkadot [here] 正在提供比 Ethereum 更好地扩展的替代方案。但是,我们喜欢为我们带来智能合约和 EVM (Ethereum Virtual Machine) 的区块链,许多人希望它可以克服其可扩展性问题,并保持相同的分布和安全性水平。

10s 洞悉市场
协议隐私政策白皮书官方验证Cookie博客
sha512-gmb+mMXJiXiv+eWvJ2SAkPYdcx2jn05V/UFSemmQN07Xzi5pn0QhnS09TkRj2IZm/UnUmYV4tRTVwvHiHwY2BQ==
sha512-kYWj302xPe4RCV/dCeCy7bQu1jhBWhkeFeDJid4V8+5qSzhayXq80dsq8c+0s7YFQKiUUIWvHNzduvFJAPANWA==