您的位置: > 火币数字货币新闻> 正文

打印本文             

Bitcoin Magazine:Rollup面临什么困境?

来源:Bitcoin Magazine;编译:五铢,金色财经

Rollups 近来已成为比特币扩容的焦点,成为第一个真正从闪电网络“抢走风头”的东西,在更广泛的关注度方面。 Rollups 旨在成为一个不受闪电网络核心流动性限制约束或限制的链下第二层,即最终用户需要有人提前分配(或“借出”)资金才能收到钱,或者中间路由节点需要通道余额来促进支付金额从发送者到接收者的全程流动。

这些系统最初是在以太坊和其他图灵完备系统上运行的,但最近重点已转移到将它们移植到基于 UTXO 的区块链(例如比特币)。本文不打算讨论目前在比特币上实施的现状,而是讨论人们长期追求的理想化Rollup的功能,这取决于比特币目前不支持的功能,即直接在比特币上验证零知识证明 (ZKP) 的能力。

Roll 的基本架构如下:单个账户(在比特币中为 UTXO)保存 Rollup 中所有用户的余额。此 UTXO 包含一个承诺,该承诺以 Merkle 树的 Merkle 根的形式存在,承诺 Rollup 中现有账户的所有当前余额。所有这些账户均使用公钥/私钥对进行授权,因此为了提出链下支出,用户仍必须使用密钥签署某些内容。该结构的这一部分允许用户随时无需许可即可离开,只需制作交易证明其账户是 Merkle 树的一部分,他们就可以单方面退出 Rollup,而无需运营商的许可。

Rollup 的运营者必须在交易中包含一个 ZKP,以便在完成链下交易的过程中更新链上账户余额的 merkle 根,如果没有这个 ZKP,交易将无效,因此不能包含在区块链中。此证明允许人们验证对链下账户的所有更改是否得到了账户持有人的适当授权,以及运营者是否没有恶意更新余额以窃取用户的资金或不诚实地将其重新分配给其他用户。

问题是,如果只有 merkle 树的根发布在链上,用户可以查看和访问它,那么他们如何将他们的分支放在树中,以便能够在他们想要的时候无需许可就退出?

合适的Rollup

在适当的Rollup中,每次确认新的链下交易并且Rollup账户的状态发生变化时,信息都会直接放入区块链中。不是整个树,那样太荒谬了,而是重建树所需的信息。在一个简单的实现中,Rollup中所有现有账户的摘要将包含余额,并且账户只是在更新Rollup的交易中添加的。

在更高级的实现中,使用余额差异。这本质上是对在更新过程中哪些账户增加了或减少了资金的摘要。这使得每个Rollup更新仅包含发生的账户余额更改。然后,用户可以简单地扫描链并从Rollup的开头“进行计算”以得出账户余额的当前状态,这允许他们重建当前余额的默克尔树。

这样可以节省大量开销和区块空间(从而节省资金),同时仍允许用户保证访问单方面退出所需的信息。rollup 规则要求将这些数据包含在使用区块链向用户提供的正式 rollup 中,即不包含账户摘要或账户差异的交易被视为无效交易。

有效期

处理用户提取数据可用性问题的另一种方法是将数据放在区块链之外的其他地方。这引入了微妙的问题,rollup 仍然需要强制确保数据在其他地方可用。传统上,其他区块链用于此目的,专门设计为作为 rollup 等系统的数据可用性层。

这造成了安全保障同样强大的困境。当数据直接发布到比特币区块链时,共识规则可以保证它绝对正确。然而,当它被发布到外部系统时,它能做的最好的就是验证 SPV 证明,即数据已发布到另一个系统。

这需要验证数据存在于其他链上的证明,这最终是一个预言机问题。比特币的区块链无法完全验证除了发生在自己区块链上的事情之外的任何事情,它能做的最好的就是验证 ZKP。然而,ZKP 无法验证包含 rollup 数据的区块在生成后是否真的被公开广播。它无法验证外部信息是否真的对所有人公开。

这为数据扣留攻击打开了大门,即创建对发布数据的承诺并将其用于推进rollup ,但数据实际上并未可用。这导致用户无法提取资金。唯一真正的解决方案是完全依赖比特币之外的系统的价值和激励结构。

进退维谷

这给 rollup 带来了一个困境。当涉及到数据可用性问题时,基本上存在将数据发布到比特币区块链还是其他地方的二元选择。这一选择对 rollup 的安全性和主权以及其可扩展性都具有重大影响。

一方面,使用比特币区块链作为数据可用性层会给 rollup 的可扩展性设置一个硬性上限。区块空间是有限的,这为一次可以存在的 rollup 数量以及所有 rollup 总共可以在链下处理的交易数量设置了上限。每次 rollup 更新都需要与自上次更新以来余额发生变化的账户数量成比例的区块空间。信息论只允许数据被压缩到一定程度,在这一点上,就没有更多的扩展潜力了。

另一方面,使用不同的层来实现数据可用性会消除可扩展性增益的硬性上限,但它也带来了新的安全性和主权问题。在使用比特币实现数据可用性的 Rollup 中,如果用户需要提取的数据没有自动发布到区块链上,Rollup 的状态就不可能发生变化。使用 Validiums,这种保证完全取决于所使用的外部系统抵御欺骗和数据隐藏的能力。

现在,外部数据可用性系统上的任何区块生产者都能够通过生产区块而不是实际广播该区块来劫持比特币Rollup用户的资金,从而让数据可用。

那么,如果我们真的在比特币上实现理想的Rollup实现,真正实现单方面用户提款,那会是怎样的呢?

查看更多

SUI新高之际,从用户角度谈谈三大Move公链区别

Aptos 和 Sui 的架构相当特殊,严格来说它们甚至不能算是一条「区块链」,而是由「检查点、checkpoints」组成的「有向无环图」(Directed Acyclic Graph,DAG,一种特殊的数据结构),而 Movement 则和常规的链一致,是由区块组成、线性的链。同样采取 DAG 架构的知名项目还有 PoW 矿工们的新宠,号称要复兴比特币最初理念的 kaspa(KAS)。DWF Ventures 在上图中就错误的将 Aptos 视作线性链 —— Aptos 在刚上线时确实是一条线性链,但在后来改为了 DAG。 

SUI新高之际,从用户角度谈谈三大Move公链区别

在 DAG 中的交易关系

架构之外的差异还包括共识机制、对并行交易的不同实现等。

Sui 和 Aptos 的共识都是基于 DAG 的 BFT(拜占庭容错) ,但 Leader 选取等具体机制不同,而 Movement 则采用了雪崩协议 Avalanche 的 Snowman 共识。不同的共识机制带来了不同的 TTF(交易确认时间),目前 Sui 的 Mysticeti 共识最快,能在 0.5 秒内确认。Aptos 将在之后升级到 RAPTR 共识,表现同样值得期待。

对于并行交易,Aptos 和 Movement 都采用了 Block-STM 的并行引擎,是一种乐观并行化的机制,假设所有交易都可以并行处理,若遇到错误交易则重新执行。Sui 则采用的是一种「状态访问」的方法,将交易分类、排序、确认无冲突后执行。

虽然同样采用 Move 语言,但 Move 语言已演变为 Sui Move 和 Aptos Move 两大变种。Movement 理论上都兼容,但其实主要支持 Aptos Move。

用户体验

(Movement 尚处于测试网阶段,本文不讨论实际体验。)

速度、费用

对于高性能公链而言,快和便宜是核心竞争力。实际使用中,几乎感知不到速度的差异,交互都几乎是即时完成。

而在费用方面,Aptos 上所有类型的交互都保持着可以忽略的费用,而 Sui 在执行某些交易时 Gas 成本会偏高(如下图,在 Navi 领取 Rewards 花费 0.14 美元手续费)。Gas 费高还与合约代码质量相关,但明显 Aptos 综合成本更可控。

SUI新高之际,从用户角度谈谈三大Move公链区别

稳定性

稳定性也是一大重要考量 —— 谁都不想使用一条经常宕机的区块链进行高频金融活动。Sui 自主网上线来从未宕机,且成功经受住了铭文、符文天量交易的考验。但 Aptos 曾在去年 10 月短时停止出块。

SUI新高之际,从用户角度谈谈三大Move公链区别

硬件钱包适配

笔者将资金量较大的代币存储在硬件钱包中,使用过程中,我发现:

Sui 的 Ledger 适配很差,早期每次打开 App 都需要重新设置 blind signing 选项,且软件更新、维护的频率非常低。同时。Sui 的所有主流移动端钱包都不支持硬件钱包!

SUI新高之际,从用户角度谈谈三大Move公链区别

而 Aptos 不同,Ledger 的适配、维护频率都不错,而官方团队推出的 Petra 钱包除支持多款硬件钱包外,签名甚至适配了专属的动画 —— 对细节的关注让人好感拉满。SUI新高之际,从用户角度谈谈三大Move公链区别

SUI新高之际,从用户角度谈谈三大Move公链区别

SUI新高之际,从用户角度谈谈三大Move公链区别 原文作者...

关于我们

火币下载官方app|火币iOS版|火币安卓版|火币电脑网页版

  • 用户支持
  • 帮助中心
  • 服务条款
微信二维码
火币 (huobi) 数字货币交易平台 Powered by htx
QR code