第三步:将 Macau 上的 100 sDai 用于交易、流动性挖矿、投资等。 假设你玩德州,将 100 sDai 的本金翻倍变成了 200 sDai(这多出的 100 sDai 是你从对手那里赢来的,他们也在以太坊上的 Macau 存款合约中锁仓了一笔 Dai)。 注意了,现在是最关键的部分????: 这时,考虑到安全性和流动性(或者不在乎那千把块美元的 gas 费),你想取回本息并放到以太坊上。如果你随时随地都能从 Macau 存款合约(再强调一次,这个合约在以太坊区块链上)中取回 200 Dai,且没人能阻止你(只有当满足这两个条件时),Macau 就是 Layer 2 区块链????????。 如果从理论上来说 Macau 的验证者可以阻止你取回 200 Dai,或直接偷走它们(自己取走),Macau 就不是 Layer 2 区块链,而是侧链????。 如果从理论上来说你可以取走更多资金(如 300 Dai),Macau 就不是 Layer 2 区块链。 当我们提及可扩展性方案时,最终总会回到 “谁控制出口” 这一问题上? 如何将以太坊上的存款合约变得更加智能,来防止你、其他 Macau 用户以及 Macau 的矿工/验证者/运营方作弊呢? 可以想象得到,这并非一件容易的事,因为这需要存款合约能够实时了解 Macau 上的资金流向:假设 1 小时前你在 Macau 上玩德扑赢了 100 sDai,你就可以提取 100 Dai 到以太坊上,但是你可能在下一局就把这笔钱输掉了!因此,合约要能了解所有这些情况,以及 Macau 的最新状态。 状态通道和 plasma 等早期解决方案的做法是:将欺诈声明和争议解决逻辑编程到 Layer 1 上的存/取款合约中。但是,它们都给用户造成了沉重的负担,例如: 用户必须时刻在线监控以太坊上的 Layer 1 合约,以便挑战/制止/惩罚威胁其资产的恶意取款行为。用户必须存储提出争议所必需的数据。在状态通道 1 方案中,这个数据通常是对手方的签名,用来证明通道中的状态变化(例如,“Alice:我保证向 Bob 支付 10 Dai” 或 “Charlie:我保证将车移动到棋盘上的 H5” )。只针对 plasma:用户容易受到两方面影响(a)需要存储的数据大量增加,因为用户所需数据是 plasma 链全局状态的一部分,而不只是状态通道的对手方的数据 2 ,(b)数据扣留攻击(data withholding attack),即,plasma 运营者(区块生产者)试图进行恶意取款,同时扣留用户发起挑战所需的数据。这进一步提高了 Layer 1 上取款安全性逻辑的复杂性。直到 rollup 方案出现,才真正解决了这些棘手的问题。rollup 要求用户退出时所需的一切数据都能在 Layer 1 上获得。每当 Layer 2 上的状态变化时,rollup 运营者都会在 Layer-1 上披露导致本次状态变化的事务数据。因此,Layer 2上的执行和 Layer 1 上的数据更新是同步的。如果你想要了解更多关于 rollup 的信息,请阅读这些文章:入门、进阶、高阶(zk-rollup)和高阶(optimistic rollup)。 (责任编辑:admin) |