作者:斯坦福TseLab的DavidTse、ErtemNusretTas,KamillaNazirkhanova,
编译:DeFi之道
Babylon是一个新的Layer1区块链,它的愿景是利用比特币PoW的安全性来增强其他PoS区块链的安全性。在第一部分中,我们将简单介绍一下该项目,然后在文章的其他部分,我们将深入研究它的原理以及各种用例。
Babylon背后的团队是谁?
Babylon的团队由来自斯坦福TseLab的共识协议研究人员以及来自世界各地经验丰富的Layer1区块链开发人员组成。值得一提的是,TseLab团队成员还与以太坊基金会合作提高权益证明以太坊信标链的安全性,他们确定了一些关键攻击,并设计了?goldfish协议来实现PoS以太坊的目标。今年一月份,Babylon获得了由IDG领投的620万美元种子轮融资。
译者注:Babylon主要尝试解决的是Cosmos等PoS区块链的长程攻击问题,而短程攻击可通过Cosmos的链间安全性解决方案解决,两者可以是互补的。
一、比特币作为信任的来源
比特币是世界上最安全的区块链,它由比特币矿工网络的巨大算力保护。目前,这种安全性主要用于支持一种加密货币:BTC。而Babylon项目的愿景是利用比特币网络作为信任来源,使更广泛生态系统中的其他区块链受益。这种信任来源的价值可以进一步细分为两个方面:
比特币基于工作量证明,而目前绝大多数的区块链都基于权益证明。PoS链与PoW链相比具有一定的安全限制,而利用比特币网络设计合理的架构可能会消除这些限制。事实上,PoS和PoW优势可以互补,一个设计合理的架构可以两全其美。
区块链的安全性在很大程度上取决于支持它的资源的价值。在PoW链中,它是算力的成本。而在PoS链中,成本则是质押的加密货币价值。从这个角度来看,不同安全级别的区块链种类繁多。在比特币矿工网络巨大的算力支持下,比特币处于区块链安全频谱的一个极端,而较小的区块链,则位于区块链安全频谱的另一端。利用比特币设计合理的架构,可以在不损害其自主性的情况下增强这些PoS链的安全性。
1、1比特币作为可靠的时间戳服务
在中本聪的白皮书?中,比特币区块链引入了一种由工作量证明提供支持的时间戳服务器。它为事件提供了不可逆的时间顺序。在其原生应用中,事件是在比特币账本上执行各种交易。在目前增强其他区块链安全性的应用中,比特币也可用于对其他区块链中发生的事件添加时间戳。每个此类事件都会触发发送给矿工的交易,矿工随后将其插入比特币账本,从而为事件添加时间戳。比特币上的这些时间戳可用于解决区块链的各种安全问题。在父链上为子链中的事件加时间戳的一般概念称为?checkpointing,而为事件加时间戳的交易称为检查点。
1、2Babylon架构
图1:Babylon架构
Babylon的架构如上图所示。它由三个部分组成,然后具有两级检查点:
比特币,作为时间戳服务层;
Babylon链,作为中间层;
作为安全消费者的PoS区块链;
一个重要的设计考虑是,比特币能够承载的数据能力是非常有限的。在这种情况下,Babylon链具有多种功能:
它聚合了很多PoS消费链的检查点流,因此只需要将一个检查点流插入比特币网络中,即可同时为所有消费者PoS链中的事件加上时间戳。
它在比特币网络中的检查点可以使用密码学技术变得紧凑。
它通过IBC协议从消费者PoS链接收检查点。
它检查PoS消费者链的检查点的数据可用性,以便攻击者无法为不可用的数据加时间戳。
1、3用例
快速的质押解锁:权益证明链需要社会共识来阻止长程攻击,这带来了长时间的质押解锁期。例如,在Cosmoshub的例子中,这需要21天的时间。而比特币的安全性取代了社会共识,从而将PoS质押的解锁期缩短至1天之内。
引导新链:比特币安全性可用于引导代币估值较低的新链。
保护重要交易:比特币安全性可用于保护重要交易,而普通交易可以快速完成。
提高审查抗性:被审查的交易可以使用Babylon作为备份进入账本。
Adventure Gold DAO推出基于OP Stack构建的新L2网络Loot Chain:6月28日消息,Loot生态项目Adventure Gold(AGLD) DAO宣布推出Loot社区专用的新以太坊L2网络Loot Chain。Loot Chain是一个EVM兼容L2,由Web3基础设施提供商Caldera使用OP Stack构建,AGLD将用作Gas Token。
Adventure Gold DAO表示以太坊L1并不是Lootverse发展的最佳场所,其高昂的Gas费限制了Lootverse的增长,特别是对于较便宜的NFT持有者。[2023/6/28 22:05:24]
二、为什么PoS链的质押解锁这么慢?
Cosmoszone等采用权益证明共识机制的区块链允许快速确认交易,但它们的质押解锁却非常缓慢,这显然对用户体验以及区块链的流动性会产生影响。那为什么会这样?
2、1权益证明链和质押解锁期
权益证明(PoS)区块链因其能源效率而受到了广泛关注。为了保护系统,PoS链要求区块链的验证者在提议或对区块进行投票之前质押代币。这使PoS协议能够追究违反协议的人的责任,并罚没他们质押的代币来作为惩罚。除了区块奖励之外,这为诚实参与提供了另一种激励。
除了能源效率之外,PoS链的一个重要优势是快速确定性:交易被快速确认,大约几秒钟。但随之而来的问题是,质押解锁会非常缓慢,多数PoS链的质押解锁需要数周的时间,如下表所示。
表1:Cosmoszone、PoS以太坊、Avalanche、Algorand以及Cardano等不同PoS区块链的质押解锁期。
很多PoS协议需要很长的质押解锁期,然后退出的验证者才能收回其质押的资金。在解锁期间,验证者不能参与PoS协议,也不会产生任何区块奖励或权益利息。他们也无法移动质押的资金并将其用于其他目的。长时间的质押解锁,不仅会降低用户体验并造成财务摩擦,而且还会降低PoS系统中代币的流动性。有趣的是,工作量证明链却完全相反:交易确认缓慢,但算力可以随意离开网络。
2、2流动质押方案可以帮忙吗?
流动质押解决方案旨在缓解权益被锁定在PoS链中的问题。为了进行流动质押,用户需要将他们的资金存到托管机构,然后托管机构代表用户质押这些资金。作为回报,用户会收到代表质押权益的对应token,然后他们可以在市场上自由交易这种token。例如,通过在流动质押合约中质押ETH,用户可以获得一个“stEth”,它可以作为借贷和流动性挖矿的抵押品。
尽管流动质押方案在DeFi中创造了新的机会,但它也有自己的缺点:
由于网络问题或负责保管质押权益的验证者的对抗性行动,这可能会造成罚没的情况。然而,这种超出流动代币所有者控制范围的事件可能会降低发生概率,在最糟糕的情况下,会完全破坏代币的价值。
如果通过智能合约处理流动质押,则可能存在导致质押资金被盗的漏洞。
上述风险可能反映在实际质押权益与相应代币之间的价差上。例如,Lido提供的stEth代币与ETH之间最近有了8%的价差。
将存入大型流动质押服务的权益集中起来会损害PoS链的去中心化,并降低用户对其资金的主权。例如,最大的流动质押池Lido目前拥有以太坊信标链中所有质押ETH的32.1%的市场份额,该值略低于足以让对手双花或停止区块链的33%质押比例。这种质押卡特尔化对以太坊意味着的风险,这仍然是社区担忧的根源。
2、3为什么PoS链质押解锁期那么长?
流动质押解决方案的风险凸显了缩短质押解锁期的重要性,而不是为流动性问题找到解决办法。为了实现这个目标,我们必须首先了解质押解锁期的目的是什么,以及为什么它会这么长。因此,我们首先要了解长程攻击,这也是Cosmoszone等PoS链采用长时间质押解锁期的原因。
对权益证明链的长程攻击
流动性协议Tokemak即将推出V2,将引入动态流动性管理池:5月18日消息,流动性协议 Tokemak 宣布即将推出 Tokemak V2,将引入动态流动性管理池(LMP),审计计划会于本月底开始。新系统包括两个独立的产品,第一个为动态池分配器 Autopilot,可优化不同池和 DEX 的 LP 的收益率,第二个为流动性订单簿,使 DAO 能够根据透明的市场利率租用流动性。Tokemak V2 将按次序启动,Autopilot 是第一个产品,其次将推出 DAO 流动性市场。Tokemak V2 为 DAO 和 LP 提供流动性管理池,最初的重点是 ETH 流动性质押代币,为 LP 提供 ETH 的动态敞口,并为 LST(Liquid Staking Token)协议提供新的流动性管理工具。之后,Tokemak V2 会将其产品范围扩展到稳定币、其他稳定池以及波动性资产对。[2023/5/18 15:11:43]
图2:规范链。旧的验证者显示为深绿色,新的验证者显示为蓝色。在提取他们的质押权益后,旧的深绿色验证者将被新的蓝色验证者取代。
图3:对规范链的长程攻击。在提取他们的质押权益后,旧的深绿色验证者遭遇对手攻击,然后攻击者创建了一条冲突链,其从过去的一个区块处分叉规范链。在冲突链上,他们启动了一组新的紫色验证者,这些验证者处于攻击者的控制之下。对于稍后观察系统的客户端来说,这两条链看起来同样有效。
Cosmoszone的安全性依赖于它们是否有能力追究协议违反者的责任,并罚没他们的质押权益作为惩罚。例如,如果验证者对两个冲突区块进行签名并最终确定,从而在客户端之间造成混淆,则可以通过将冲突的签名作为证据来将其识别为协议违反者,并随后对其罚没。然而,一旦验证者解除质押,即从链中提取他们的权益,他们就不再因违反协议而受到惩罚。因此,攻击者可以激励这些旧验证者进行长程攻击。长程攻击的一个突出例子是下面描述的创始人攻击。
在攻击开始之前,区块链的创始人,提取他们的权益。然后,使用他们的旧密钥,他们构建了一条与现有规范链冲突的新区块链。冲突链从过去的一个区块处分叉规范链,其中创始人构成了验证者集的大部分。在冲突链上,这些创始人再次退出,并将他们的投票权转移给具有不同密钥的新验证者,而这些验证者实际上是由攻击者控制。这使攻击者能够在假设的创始人退出后继续在冲突链上进行构建。
长程攻击对区块链的安全构成了严重威胁,因为它们会混淆后来的客户端,使其采用与早期客户端采用的规范链不同的链。不幸的是,这些攻击是PoS所固有的,因而存在?nothing-at-stake问题。当可以多次使用相同的权益来产生多个冲突的区块时,就会出现这个问题,就像长程攻击的情况一样。相比之下,比特币等工作量证明链不易受到nothing-at-stake或长程攻击,因为攻击者无法使用“相同”的计算来构建多个单独的区块。
减轻长程攻击:社会共识?
为了防止长程攻击,很多PoS链要求新加入的客户端和验证者在可信源的帮助下识别规范链上的检查点区块。例如,引导Cosmos轻客户端的建议来源包括受信任的网站、包含检查点区块列表的Discord通道或用于下载客户端代码的受信任对等节点。收到检查点区块后,客户端可以安全地忽略旧验证者构建的冲突链。
图4:新加入的客户端向其对等节点询问规范链上的弱主观性检查点。通过观察检查点,客户端可以区分冲突的攻击链和规范链。
客户端对外部可信来源的依赖称为社会共识,以强调识别规范、正确链过程的主观性。事实上,不同的对等节点可能很容易对规范链产生分歧,因为链的“正确性”没有基本事实,而比特币则总是选择计算量最大的链作为“正确”链。
尽管社会共识是减轻长程攻击的第一步,但它也有其自身的问题:
社会共识没有具体说明如何识别受信任的对等方。由于这些对等方对于不同的验证者可能不同,因此通常很难量化对它们的信任。
对于网站等公共信任源,社会共识会将单点故障暴露给潜在的攻击者。例如列出检查点的网站被黑了怎么办?
欧盟委员会公开招标DeFi对以太坊的嵌入式监管研究:10月10日消息,Circle欧盟战略与政策总监Patrick Hansen表示,欧盟委员会已经公开招标对以太坊的DeFi进行嵌入式监管研究,旨在研究实时DeFi活动的自动监控技术,招标金额25万欧元。[2022/10/10 10:29:41]
社会共识引入了围绕透明度的问题,并可能导致围绕区块链生态系统的强大参与者的区块链决策中心化。
质押解锁如何适应这一切?
在社会共识方法的缺点中,最大的问题就是会引入令人沮丧的延迟:所有受信任的对等节点可能需要数天或数周才能就检查点达成一致。这是由于协议过程的主观和社会方面。例如,对等方可能通过Telegram进行通信,其中链上的协商将花费比共识协议的确认延迟更长的时间。这就是为什么图4中规范链上的最后一个检查点比链的顶端要老得多。
如果旧验证者可以在社会共识仍在进行时提取权益并创建冲突链,则应作为可信来源的对等方可能无法就检查点达成一致。这就是为什么包括Cosmoszone在内的很多PoS链会采用一个很长的质押解锁期。较长的质押解锁期意味着旧的验证者必须等到社会共识终止,并在规范链上检查一个区块,然后才能收回他们的质押资金。这反过来又可以防止恶意验证者混淆客户端,因为客户端会立即将冲突的恶意链识别为没有检查点的链。旧的验证者当然可以选择在收回他们的质押权益之前建立一个冲突链,但在这种情况下,由于双重签名,他们的权益可能会被罚没,并且在实践中极不可能发生这种攻击。
2、4小结
设置长时间的质押解锁期会降低用户体验以及PoS系统的流动性。尽管缓解长程攻击需要一段时间的质押解锁期,但如果社会共识可以更快地做出决策,那么时间就可以大大缩短。因此,在下一节中,我们将研究是否可以通过用更快的信任来源来取代社会共识,以实现更短的质押解锁期。
三、使用Babylon实现更快的PoS链质押解锁
3、1使用比特币作为检查点的来源
幸运的是,通过使用比特币作为关于提款请求的确定性协议,我们可以加快和自动化社会共识的过程。为此,PoS区块上的弱主观性检查点会被比特币上这些区块的实际检查点所取代。这些检查点的顺序决定了规范的PoS链。
一旦PoS区块的检查点在比特币中变得足够深,该检查点就无法被回滚,这意味着任何攻击链的检查点都会稍后出现在比特币上,并且随后可以被忽略。因此,要批准提款请求,包含请求的PoS区块的检查点出现早于比特币上的冲突检查点就足够了,并且确保K值要足够大。由于这需要数小时而不是数周,因此使用比特币作为检查点,可以将质押解锁延迟从数周减少到数小时。
图5:顶部PoS链是规范的PoS链。带提款请求的顶部链上的PoS区块在比特币上具有一个较早的检查点。一旦这个检查点变得足够深,提款就会被批准。此时,如果提款验证者进行长程攻击,则底部长程攻击链的检查点必然晚于顶部规范链的检查点,因为比特币上的k深度检查点无法被回滚。冲突的检查点可以被识别为来自攻击链,随后可以被忽略。
3、2我们可以直接向比特币发送检查点吗?
让我们考虑一个Cosmoszone向比特币发送检查点,以减轻长程攻击并减少其提款延迟。检查点可以通过使用比特币的?OP_RETURN?操作码来实现,该操作码允许在不可花费的比特币交易中发布80字节的任意数据。
每个检查点必须至少包含要检查的PoS区块的哈希以及最终确定该区块的签名。在这里,哈希用于识别被检查点的PoS区块。需要签名来防止对手发送任意哈希并假装其正在比特币上检查Cosmos区块。
由于每个Cosmos区块都可能包含一个提款请求,因此该Cosmoszone可能必须为每个新的Cosmos区块发送一个新的检查点。通常Cosmoszone每10秒就有一个新区块,但比特币大约每10分钟才有一个新区块,这意味着每个比特币区块至少要检查60个Cosmoszone区块的数据。
然后,即使该Cosmoszone由单个验证者运行,这意味着在每个新的比特币区块上至少要检查3840字节的总大小,每个区块至少需要48笔?OP_RETURN?交易,仅仅用于检查单个Cosmoszone!在这一点上,我们甚至没有考虑由多个验证者运行的Cosmoszone,或者为多条PoS链提供检查点服务。
Yuga Labs元宇宙项目Otherside已完成第二次负载测试:7月10日,据官方消息,Yuga Labs 元宇宙项目 Otherside 已顺利完成第二次负载测试,近 2000 名玩家参与本次测试。
此前报道,Otherside 将于美国东部时间 7 月 6 日和 7 月 9 日进行两次负载测试,其目的是让 Improbable 团队了解平台极限并找到潜在断点问题。[2022/7/10 2:02:46]
总的来说,由于三个主要原因,直接在比特币上检查Cosmoszone可能是不可行的:
有必要检查每个包含提款请求的PoS区块,这可能是Cosmoszone中的所有区块。
有必要在每个检查点发布足够多的签名,以防止弱对手发送任意哈希并假装它正在检查比特币上的Cosmos区块。不幸的是,Cosmoszone所使用的Tendermint签名是不可聚合的,并且占用了大量空间。
可能有很多Cosmoszone或其他PoS链发送检查点。在这种情况下,比特币有限的区块空间意味着检查点解决方案会面临基本的可扩展性问题。
为了减少检查点的占用空间,并开发可同时支持多个Cosmoszone的可扩展检查点解决方案,我们需要聚合检查点以适应每个比特币区块提供的有限空间。此外,我们需要使这些检查点尽可能紧凑。
而这就是Babylon要做的事。
3、3Babylon的架构
Babylon是一个PoSCosmoszone区块链,它接收来自多条PoS链的检查点流作为交易数据,并代表它们将单个检查点流发布到比特币。通过使用Babylon验证者的聚合签名来最小化检查点大小,并且这些检查点的频率通过允许Babylon验证者在很多区块时间的每个epoch仅更改一次来控制。
例如,完整的Babylon架构由三条区块链组成:消费者PoS链、Babylon以及比特币。
为了尽量减少对Babylon的信任以准确检查PoS区块,各个PoS链的验证者下载Babylon区块,并观察其PoS检查点是否包含在比特币检查的Babylon区块中。这使PoS链能够检测到差异,例如,如果Babylon验证者创建了一个由比特币检查的不可用区块,并对不可用区块中包含的PoS检查点撒谎。协议的主要组成部分描述如下:
1)Checkpointing:只有Babylonepoch的最后一个区块被比特币检查。检查点由区块的哈希以及单个聚合BLS签名?组成,该签名对应于已签署区块以进行最终确定的2/3验证者集的签名。Babylon检查点也包含epoch编号。
PoS区块可通过Babylon检查点分配比特币区块的时间戳。例如,图6中的前两个PoS区块由Babylon区块设置检查点,而Babylon区块又由时间戳为?t_3?的比特币区块设置检查点。因此,这些PoS区块被分配了比特币时间戳?t_3。
2)规范PoS链:当PoS链上出现分叉时,第一个区块具有较早比特币时间戳的链就被视作规范PoS链。如果两个分叉具有相同的时间戳,则平局被打破,有利于具有Babylon上较早检查点的PoS区块。
图7:使用Babylon从PoS链中提取质押权益。提款的k深度规则防止提款验证者进行成功的长程安全攻击。
3)提款规则:要提款,验证者向PoS链发送提款请求。包含提款请求的PoS区块由Babylon检查,然后再由比特币检查,并分配时间戳?t_1。一旦时间戳为?t_1?的比特币区块深度变为k,就在PoS链上授予提款。此时,如果已提取质押权益的验证者进行长程攻击,则攻击链上的区块只能被分配一个晚于?t_1的比特币时间戳。这是因为,一旦时间戳为t_1的比特币区块变为k深度,它就无法回滚。然后,观察比特币上这些检查点的顺序,PoS客户端可以区分出规范链和攻击链,随后可以将攻击链忽略掉。
OperaWeb3浏览器Opera Crypto Browser新增支持BNBChain:5月5日消息,Opera的Web3浏览器Opera Crypto Browser宣布新增支持BNBChain,允许用户用法定货币购买BNB代币,以及使用内置的Opera加密钱包发送和接收代币,并可访问BNBChain上的DApp,包括PancakeSwap、1inch等。
上月中旬,Opera Crypto Browser上线iOS应用市场,此前已支持以太坊、Polygon与Celo。[2022/5/5 2:52:16]
图8:一种短程安全攻击,导致在圈内对冲突的PoS区块进行双重签名的对抗性PoS验证者的权益被罚没。
4)罚没规则:如果验证者在检测到攻击时没有撤回其质押,则可以对具有双重签名冲突PoS区块的验证者进行罚没。恶意的PoS验证者知道,如果他们等到提款请求被批准后再进行长程安全攻击,他们将无法迷惑客户端,客户端可以查看比特币来识别规范链。因此,他们可能会在为规范PoS链上的区块分配比特币时间戳时分叉PoS链。
然后,这些PoS验证者与恶意Babylon验证者以及比特币矿工合作,将Babylon和比特币分叉,并将时间戳?t_2?的比特币区块替换为另一个时间戳?t_3的区块。在后来的PoS客户端看来,这将规范PoS链从顶部链更改为底部链。虽然这是一次成功的安全攻击,但它会导致恶意PoS验证者的权益被罚没,因为他们有双重签名的冲突区块,但尚未提取其质押权益。
图9:Babylon上不可用PoS检查点的停止规则。
5)不可用PoS检查点的停止规则:PoS验证者在观察到Babylon上不可用的PoS检查点时必须暂停他们的PoS链。在这里,一个不可用的PoS检查点是由2/3的PoS验证者签名的哈希,其假定对应于无法观察到的PoS区块。
如果PoS验证者在观察到不可用的检查点时没有停止PoS链,那么攻击者可以揭示以前不可用的攻击链,并在后来的客户端视图中更改规范链。这是因为稍后显示的阴影链的检查点出现在Babylon的早期。
上面的暂停规则揭示了我们要求作为检查点发送的PoS区块哈希由PoS验证者集签名的原因。如果这些检查点没有签名,那么任何攻击者都可以发送任意哈希,并声称它是Babylon上不可用的PoS区块检查点的哈希。然后,PoS验证者将不得不暂停检查点。请注意,创建不可用的PoS链是困难的:它需要破坏至少2/3的PoS验证者,以便它们用签名完成PoS区块,但不向诚实的验证者提供数据。
然而,在上面假设的攻击中,恶意对手在没有攻击任何一个验证者的情况下,就停止了PoS链。为了防止此类攻击,我们要求PoS检查点由2/3的PoS验证者验证。因此,只有当2/3的PoS验证者确实被攻击者控制时,Babylon才会有不可用的PoS检查点。由于破坏PoS验证者的成本,这种攻击极不可能发生,并且不会影响其他PoS链或Babylon本身。
图10:比特币上不可用Babylon检查点的暂停规则。
6)不可用Babylon检查点的暂停规则:PoS和Babylon验证者必须在观察到比特币上不可用的Babylon检查点时暂停区块链。在这里,不可用的Babylon检查点是具有2/3Babylon验证者的聚合BLS签名的哈希,据推测它对应于无法观察到的一个Babylon区块。
如果Babylon验证者没有停止Babylon区块链,那么攻击者可以揭示一条以前不可用的Babylon链,从而在后期客户端的视图中更改规范的Babylin链。类似地,如果PoS验证者没有停止PoS链,那么攻击者可以揭示以前不可用的PoS攻击链以及以前不可用的Babylon链,从而在后期客户端的视图中规范PoS链。这是因为后来揭示的深色Babylon链在比特币上具有较早的时间戳,并且包含后来揭示的PoS攻击链的检查点。
就像不可用PoS检查点的暂停规则一样,上述规则揭示了为什么我们要求作为检查点发送的Babylon区块哈希必须附有一个聚合BLS签名,以证明2/3的Babylon验证者的签名。如果Babylon检查点没有签名,那么任意对手都可以发送任意哈希,并声称它是比特币上不可用Babylon区块检查点的哈希。
然后,PoS验证者和Babylon验证者将不得不等待一个在其原像中没有任何不可用Babylon或PoS链的检查点!创建不可用的Babylon链需要破坏至少2/3的Babylon验证者。然而,在上述假设的攻击中,攻击者停止了系统中的所有链,甚至没有破坏单个Babylon或PoS验证者。
为防止此类攻击,我们要求Babylon检查点通过聚合签名进行证明;因此只有当确实有2/3的验证者被损坏时,才会有不可用的Babylon检查点。由于破坏Babylon验证者的成本,这种数据可用性攻击极不可能发生。不幸的是,一旦发生这种情况,它就会通过迫使它们停止来影响所有PoS链。
3、4小结
通过使PoS链能够使用比特币作为时间戳服务,Babylon将PoS链的质押解锁时间从几周缩短到几个小时。由于比特币区块内空间不足,无法直接在比特币上对PoS区块进行检查,Babylon作为单独的PoS链聚合PoS链所发送的检查点,并代表它们发布到比特币。Babylon架构通过其针对未绑定验证者的K深度提取规则防止长程攻击,并保证在发生短程安全攻击的情况下罚没攻击者的质押权益。
四、通过Babylon提高审查抗性
4、1审查抗性
Cosmoszone等PoS区块链通常要求持有超过2/3的质押权益的验证者诚实地遵循协议,以便在链中包含新交易。当持有超过1/3质押权益的验证者变得恶意时,他们可以任意阻止区块的最终确定,从而选择性地审查交易。例如,恶意验证者可以进行勒索攻击,他们通过向时间敏感的交易用户索取贿赂。
不幸的是,1/3审查攻击并不是Cosmoszone设计的缺点,而是?PoS协议的基本限制?,它能够罚没行为不端的验证者。这个可罚没保证阻止攻击者创建冲突链,然而,这导致审查抗性从比特币的1/2下降到Cosmoszone的1/3。
4、2Babylon如何提升PoS链的审查抗性
Babylon可以帮助具有可罚没保证的PoS链实现1/2的审查抗性。为了实现这一目标,Babylon将PoS链连接到比特币,使它们能够以rollup的模式运行,其中比特币被用作PoS交易的排序服务。在rollup模式下,PoS验证者只负责验证PoS区块内数据的可用性,而区块的规范顺序由它们在Babylon上的检查点的顺序决定。规范的Babylon链依次使用比特币上Babylon区块的检查点构建,因而比特币是PoS区块排序的最终权威。
进入Rollup模式
图11:Babylon的审查投诉
如果PoS链的一个用户认为某笔交易tx被PoS链审查,可以通过向Babylon发送审查投诉来提示该链进入rollup模式。审查投诉是一笔Babylon交易,其中包含审查交易tx的哈希。
图12:审查投诉的检查点在比特币的深度变为K,此时,验证者停止执行PoS协议。
在观察到关于Babylon的审查投诉后,PoS验证者会等到投诉的检查点在比特币中达到k深度。此时,如果一名验证者尚未看到tx在PoS链中最终确定,它将停止提出新的PoS区块或签署新的提案。相反,它会向Babylon发送一个用于查看PoS链的检查点。
图13:审查投诉的检查点在比特币的深度变为了2k。验证者和用户进入rollup模式。
一旦审查投诉的检查点在比特币的深度达到了2k,如果比特币上的所有检查点都没有证明PoS区块在其前缀中包含tx,则验证者进入rollup模式。
在rollup模式期间
图14:在rollup模式下,验证者创建捆绑包并签署他们视图中可用的捆绑包。具有足够多签名的捆绑包在Babylon上通过发布它们的哈希以及相关签名进行检查。
在rollup模式中,任何验证者都可以提出一个PoS交易捆绑包。在收到一个bundle时,进入rollup模式的每个验证者都会对bundle的哈希进行签名,如果其事务在验证者视图中可用。从拥有超过1/2质押权益的验证者那里收集签名的捆绑哈希被发布到Babylon。这些哈希和相关联的签名称为捆绑检查点。如果捆绑检查点附有持有超过1/2质押权益的验证者的签名,则捆绑检查点有效。
捆绑包签名需要防止对手向比特币发布任意哈希,并假装它们是不可用PoS交易的检查点。回想一下,当观察到不可用的检查点时,验证者会停止输出新的PoS区块,以防止数据可用性攻击。因此,在没有签名的情况下,攻击者可以发布类似于不可用检查点的任意哈希,并阻止PoS链。有了签名,攻击者必须按比例破坏一半以上的验证者,以获得由这些验证者签名的不可用检查点。
为了在rollup模式下构建PoS链,链的用户首先识别时间戳在比特币审查投诉检查点2k区块内的PoS检查点。他们随后确定了这些检查点证明的最长PoS链。最后,他们按照检查点出现在Babylon上的顺序,将带有有效检查点的bundle捆绑包附加到该链的顶端。
退出Rollup模式
验证者在观察到建立在比特币审查投诉检查点上的T>2k区块后退出Rollup模式。这里,T是一个协议参数,表示Rollup模式的持续时间。在观察这些T区块后,PoS链的验证者和用户都将添加到他们的链视图中的最后一个捆绑包视为新的创世区块,该区块用作PoS协议的锚点重启或引导。
4、3抗审查的限制
通过rollup模式,只要有足够的诚实验证者签署捆绑哈希,PoS链就可以减轻审查攻击。这意味着审查抗性为1/2,与比特币的抗性百分比相当。不幸的是,即使在比特币的帮助下,也不可能设计出一个审查抗性超过1/2的协议,除非所有PoS区块数据都发布到比特币,然而这是不可行的。鉴于这种不可能的结果,Babylon的设计实现了针对Cosmoszone的审查攻击的最佳抗性。
五、共享安全性
Cosmoszones等PoS链可以使用具有缓慢确定性规则的Babylon来实现比特币级别的交易安全。为了通过慢速确定性规则确认交易,PoS链的客户端等到包含该交易的PoS区块的时间戳在比特币上变为k深度。
通过这种方式,客户端可以保护高价值交易的安全性,防止双花攻击。使用比特币保护高价值交易的可能性,使得Cosmoszone即使在代币估值较低的情况下也能支持高价值交易,从而促进新zone用于NFT转移等高价值用例。通过聚合多个Cosmoszone的比特币时间戳,Babylon使这些zone能够同时享受慢确定性规则提供的比特币级别的安全性。
5、1比特币慢确定性带来的安全性
图15:时间戳变为k深度的PoS区块用绿色复选标记表示。这些区块通过慢确定性规则确认。任何与这些区块冲突的PoS链都将被识别为攻击链并被拒绝,因为它的时间戳将出现在通过慢确定性规则确认的PoS区块的时间戳之后。
在上文中,我们已经看到Babylon如何通过在比特币上为PoS链的质押解锁请求加时间戳来帮助缩短解锁时间。一旦为解锁请求加时间戳的比特币区块被确认,即在比特币最长链中的深度变为k,攻击者就无法通过分叉比特币来覆盖携带质押解锁请求的PoS区块的时间戳。因此,PoS链一旦在比特币上得到确认,就可以授予解锁请求,而不会使其遭受攻击。
将上述观察推广到所有PoS区块以及交易,我们就可以得到一种更强的PoS交易确定性概念:如果客户端等到PoS区块的时间戳在比特币上的深度变为k,则该时间戳不能被任何冲突区块取代。这一概念使客户端能够在此类区块内获得比特币级别的交易安全,但代价是更长的延迟,因此被称为慢确定性。这种延迟来自于对PoS交易加时间戳的比特币区块的确认延迟。
5、2慢确定性的用例
1、保护重要交易
Cosmoszone的客户端可选择使用慢确定性来为关键的高价值交易实现比特币级别的安全性。考虑购买一辆昂贵的汽车。如果商家在发货前等到付款被比特币上的k深度区块打上时间戳,这可以避免买家的任何双花风险。这是因为这种攻击不仅要求买方分叉底层Tendermint链,而且还要分叉比特币本身,以移除包含支付交易的Tendermint区块的时间戳。
2、引导新的区块链
缓慢确定性的一个重要用例,是支持具有低代币估值的新Cosmoszone进行高价值交易。在上面的双花示例中,恶意买家可能会毫不犹豫地贿赂验证者以分叉该Cosmoszone,由于代币估值较低时,罚没的财务影响会很小,这导致了自举困境:由于安全攻击风险,区块链的低初始估值阻碍了用户进行高价值交易,这反过来又因交易量低而阻碍了代币价值的任何增长。而有了Babylon以及缓慢确定性,进行双花交易的攻击者还需要支付攻击比特币的费用,而这需要购买大量的算力。因此,通过阻止恶意者进行双花攻击,缓慢确定性可通过确保链上的高价值资产来打破引导困境,进而推高代币的价值。
5、3为Cosmos生态分享比特币的安全性
通过缓慢的最终确定性,Cosmoszone可以为重要交易提供比特币级别的安全性。然而,如果这些链选择直接向比特币发送时间戳,则带宽要求会非常高。在这种情况下,通过代表多个Cosmoszone聚集和发送检查点,Babylon可以使整个Cosmos生态能够受益于比特币提供的安全性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。