介绍Rosen Bridge:用于跨链结算的分布式网络
2 022年后 的跨链桥接故障
当我们说我们正在建造一座跨链桥时,最初的反应是,“我听说跨链桥非常不安全。”
过往历史对跨链桥并不友善,但事后剖析发现,由于产品设计不佳、安全假设不佳和实现不当,导致了故障和被利用。
基本上任何产品都可能出现这种情况。我可以用一座房子举例。你可以考虑时间和工程质量,了解故障点并避免某些错误,然后对弱点进行设计整改或加强处理,或者你可以尽快扔房子,因为市场很热。
加密货币行业通常具有潜在的革命性想法和设计,但它们往往伴随着复杂性。 由于项目之间存在“率先上市”和在最佳市场条件下上线的自然竞争,赛马往往会导致忽视。
互操作性是一个好主意,但是需要仔细检查复杂性和潜在的设计漏洞。
在一段时间内,这是热门的营销主题,且在实施这一想法时出现了“淘金热”。
急于上市并不是构建稳健软件的可靠方法。
我们可能会看到同样的问题,未来某些零知识技术会出现相同的条件和市场竞争。
涉及到巨大的复杂性。这并不是要诋毁零知识,它是一个可以彻底改变这个行业的高级想法,但是这需要良好的工程设计、时间和实战考验。
强大的设计 最终会 得到 时间 的 证明 。
互操作性的好处
互操作性是在生态系统之间转移价值和进入新市场的能力。这不仅在如何以及在何处使用其资产方面为用户提供了更大的灵活性,而且大大降低了项目的进入门槛。
主要好处与加密货币的核心第一原则一致。主要是透明的信任假设、开源框架、可审计性、无许可活动,旨在消除中介并赋予个人权力。
透明的跨链结算系统可以为用户提供的可审计性好处很大,因为所有中心化交换机制(Swapping Mechanism)都是在不透明的情况下发生的。有一些伪去中心化的交换机制也遵循这种精神。这是所有用户都应该知道的事情,因为它信任一个很容易以看不见的方式利用用户的一方。
互操作性的目标之一应该是创建一个具有明确故障点的环境,以便用户可以在已知假设的环境中操作。
在项目端,它降低了获取流动性的流动性成本壁垒。与交易所合作具有高上所成本和法律障碍,这会增加成本并占用开发资源。
加密货币行业的流动性之路并不是很多人都能理解的。您可以带着一部分配额进入市场以购买使用权,也可以走有机增长的道路,这会带来自身的挑战。
真正的互操作性应该旨在消除加密行业中的中介。人们认为他们控制着流动性的通道。这不完全正确。他们控制着入金(on ramp)和出金(off ramp)通道。
桥接(Bridging)可以方便所有主要区块链上的生态系统进入市场,这鼓励了跨多个市场的广泛传播,并为交易者提供了套利机会,这反过来又增加了流动性和交易量。
如果你是项目方。在我看来,您需要做出的第一个初步决定是您进入市场的途径之一。 你是想生存在链上去中心化金融的世界里,还是想与交易所合作。
对于Ergo来说,开发去中心化生态系统的最大成本就是这一支出类别。交易所上线成本是最大的支出。这笔费用的唯一目的是获得流动性。
去中心化互操作性的想法有助于解决这个问题。 它使技术人员能够专注于技术。 我们需要消除交易所对项目成功的重要性。
通过去中心化网络降低获得流动性的壁垒是去中心化金融的基本原则。
我们需要为用户和项目提供相同的原则和消除当前交易所在交易中的中介角色。
让它们成为出入金平台,但在易于访问和已知假设的开放环境中进行交易。
Rosen —— 一种用于跨链结算的分布式网络
Rosen充当链上链下基础设施,以促进链间交易,同时最大限度地减少潜在的攻击向量。它的设计旨在创建区块链之间的分布式清算和结算方式。
在传统金融中,支付转账涉及两步过程,从清算开始。在去中心化网络中,用户充当银行的角色并通过Rosen用户界面提交支付指令。Rosen系统使用一组称为观察者(Watcher)的参与者来为全球支付委托单重新创建主要的SWIFT消息传递系统。这些观察者购买并抵押Rosen代币以参与和运行开源软件机器人,这些机器人监控守卫银行(Guard Bank)并在发送消息和存入资金时通知系统。
值得注意的是,区块链本身作为清算和结算的独立形式。清算决定了资金的承诺,而结算是银行如何对彼此或账户进行最终调准。区块链中的最终性概念确保形成好的区块一旦提交到区块链或账本的历史记录中就不会被撤销。
Rosen在其跨链支付系统中利用这种最终性概念来促进跨链清算或“资金承诺”。
观察者(Watcher)充当分布式消息传递服务来通知守卫(Guard),守卫充当跨链结算的手段。在执行结算并在新链上释放资金之前,守卫会仔细检查清算过程并检查发送链上的最终性。
Rosen被设计为以Ergo为中心,具有透明且可审计的消息传递和链上逻辑。它的目标是最小化攻击的逻辑和向量。
Rosen Bridge(罗森桥)可以充当任何两个受支持链之间桥接的后端,且不需要Ergo区块链作为最终目的地。它作为链间传输的透明消息传递系统。它在Ergo区块链上提供链上透明度。
各种跨链桥的挑战之一是每个目标链上都需要新的逻辑,这增加了攻击向量和扩展挑战。
Rosen Bridge旨在通过使用所有守卫银行都依赖的单一后端来解决这个问题,类似于SWIFT网络。结算执行只能在最终确定过程发生后发生,因此速度不是优先事项。
观察者
观察者充当预言机的替代者。观察者充当分布式消息传递服务(Distributed Messaging Service),通知守卫已提交交易以进行跨链结算。
参与者可以独立且无需许可地运行的分布式消息传递服务优于区块链中的单个预言机,原因如下:
去中心化:分布式消息传递服务是去中心化的,这意味着它不受单个实体或节点的控制。这降低了单点故障的风险并提高了系统的整体安全性。
可信度:分布式消息传递服务通常比单个预言机更可信,因为它涉及多个参与者或节点负责验证数据。这使得作恶者更难操纵或伪造数据。
透明度:分布式消息传递服务是透明的,因为网络中的每个节点都可以看到并验证数据。这提高了系统的整体透明度并降低了欺诈或腐败的风险。
灵活性:分布式消息传递服务比单个预言机更灵活,因为它可以适应不断变化的网络条件或要求。可以根据需要在网络中添加或删除节点,且系统可以更轻松地扩展。
激励措施是去中心化的关键因素。在去中心化系统中,没有中央机构控制网络或其参与者。相反,参与者被激励为整个网络的最大利益行事。
激励措施还可以在鼓励参与和采用去中心化网络方面发挥作用。
Rosen Guard ( 罗森守卫 )
当代币被桥接时,很容易想象一辆汽车从一个岛到另一个岛穿过一座桥。 这实际上是对正在发生的事情的糟糕描述。
为了更好地理解正在发生的事情,我们可以探索世界上最古老的链下p2p分布式支付系统之一 哈瓦拉(Hawala),以了解正在发生的事情。哈瓦拉是一种非正式的转账方式,无需实际流动任何实物货币。它实际上是没有资金流动的汇款。 这是一个建立在信任基础上的古老支付网络。区块链上的桥接有一些相似之处,因为代币实际上并没有被桥接。
Hawala和区块链之间的桥接代币在其目的和功能方面有一些相似之处。
哈瓦拉是一种非正式的汇款方式,它依赖于个人和中介网络之间的信任。它允许人们在没有正式银行关系或访问已建立的金融网络的情况下向他人汇款。这是通过彼此建立关系的中介之间的价值转移过程来实现的。中介在不需要中央机构或金融机构来促进交易的情况下,在他们之间结算转移的价值。
区块链之间的桥接代币也涉及价值的转移,但在这种情况下,它是在不同的区块链网络之间进行。桥接代币代表一个区块链上的一种资产,并用于代表另一个区块链上的相同资产。这使得不同区块链网络之间的价值和信息转移成为可能,否则这些网络将彼此隔离运行。原始资产锁定在原始链上,并以桥接代币的抵押形式保存。如果桥接代币被发送回原始链,则可以随时赎回。
Hawala和桥接代币都旨在促进各方之间的价值转移,而无需中心化中介。对于 Hawala,信任是在中介之间建立的,而对于桥接代币,信任是由一组分布式 守卫通过使用底层区块链技术达成共识来建立的。
多签
多签(Multisig)(“多重签名”的缩写)是区块链技术的一项功能,允许多个用户共同控制钱包中持有的资金或资产。在跨链转账的背景下,多签可用于通过要求多方批准转移才能执行转账来提高对中介的信任。
这降低了任何一个中介作恶或犯错误的风险,因为需要多方对转账进行签字。
总之,使用多签来提高区块链上跨链转账时对中介的信任涉及创建多重签名钱包并邀请受信任方加入。然后,转账要一定数量的各方批准才能执行,从而创建一个无需信任的系统,可以降低任何一方作恶或犯错的风险。
多签和 罚没(Slashing)
罚没和多签是两种不同的机制,可以一起使用来防止作恶者滥用区块链网络中的系统。
罚没是一种惩罚网络上恶意或疏忽行为的验证者或质押者的机制。当验证者或质押者被发现有恶意或疏忽行为时,他们的部分权益或奖励可能会被“罚没”,这意味着他们会失去一些代币作为惩罚。
正如我们之前讨论的,多签是一种需要多方批准才能执行交易的机制。这对于防止作恶者单独行动很有用,因为他们需要多方批准才能执行交易。
如要一起使用这些机制,您可以要求验证者或质押者在网络上进行交易时使用多签。
通过这样做,您可以创建一个系统,在该系统中,须多方批准验证者或质押者进行的任何交易。如果验证者或质押者有恶意或疏忽行为,其他方可以拒绝批准他们的交易。当多签组可以访问作恶者的资金时,这些资金可以按M of N阈值没收。
验证者将需要使用多重签名钱包在网络上进行交易,在执行交易之前需要多方批准。如果验证者被发现有恶意行为,其他方可以拒绝批准他们的交易,有效地没收他们的权益并阻止他们参与网络。
冷钱包安全 性
考虑到安全性,交易所保管储备金时,通常将资金分散存储在热钱包和冷钱包当中。当需要释放资金以覆盖超出冷钱包容量的数据库提款时,这需要人工干预。 这种热/冷安全机制内置于Rosen Bridge中,因为它是一种很好的安全实践。 它通过为储备金增加额外的安全性来最小化收益。
跨链桥 为什么/如何 发生故障 :如何设计具有明确 故障点 的 跨链桥
“黑客最近将这些跨链桥作为目标的一个原因是因为创建此类服务所涉及的技术非常复杂,”
- Covalent 首席执行官 Ganesh Swami
Rosen的基本设计是创建一个可扩展的框架,同时最大限度地减少攻击面的增长。
设计参数旨在最大限度地减少假设的复杂性和复杂程度。
Rosen 可能会以两种方式 发生故障 。
故障场景 #1 阈值签名利用。
Rosen使用Binance的TSS库来提供阈值EcDSA和EdDSA签名。
如果这个库中存在零日漏洞,那么加密行业就会有更大的问题,因为它被广泛使用。
故障场景#2 大多数守卫作恶
Rosen依靠一组分布式的守卫来结算转账和释放资金。
在第一纪元(Era),这个守卫组(Guard Set)估计有10个。
随着跨链桥规模的扩大,它将增长到30个签名方案。
(注:Chainlink使用 4-of-9 签名方案保护数百个应用程序和数十亿美元的价值。)
Rosen设计原则:保持简单并增加冗余
一系列链下验证和链上动作
直接验证
链下(而不是基于智能合约的验证)
单独且独立
多通道
多数共识
有延迟
再次发生
去中心化观察组;向所有人开放
去中心化守卫集,中等规模且被许可
Ergo上的开源智能合约:
不需要其他链上的智能合约(SC); 必要时可能需要
其他链上的阈值/多签钱包
最小化攻击向量
线性扩展复杂性(以Ergo为中心)
无状态
冷存储,减少激励/收益
游戏中的皮肤,对善意/恶意行为的奖励和惩罚
我们避免的设计选择
锁定证明(在源链中)的基于扩展智能合约的验证(目标链)。此方法通过在每次添加新链时添加新漏洞来扩展。
“如果你试图在N种不同的加密货币之间建立一座 跨链桥 ,那么它的复杂性是 N 的平方,”
- CertiK 创始人 Ronghui Gu
智能合约利用( 目标 链 )x(源链)
要求:目标链中源链的状态和验证机制。
在大多数情况下,这种状态是由去中心化的中继提供的。
在实践中,这种方法在去年已经多次遭到破坏。
一个主要问题:只验证一次证明。容易出现分叉、伪造证据、智能合约漏洞……
间接验证
验证者验证其他验证者所做的证明 ,而不是事件本身。
例如,在Gravity和Wormhole中,源链中的守卫创建一个证明,而目标链上的守卫验证该证明,而不是事件本身。
乐观桥接 (Optimistic Bridging)
预言机更新发布在目标链上,如果在一段时间内没有人提醒欺诈更新,则该更新将有效。
在Nomad中使用,结合上面的方法。
为什么? 减少Gas费。
易受活性影响。
来自过去 故障 的攻击向量
智能合约
虚假验证
证明/签名制作
分叉和重组
加密库和实现。
网络攻击、秘密曝光、DoS攻击、……
安全假设薄弱、多重签名集小、密钥分配不当、中心化。