对话 Orbiter Finance:跨链攻击事件频发,如何评估不同的桥接方案?_区块链:BitcoinVend

来源:ETH中文

本期的访谈内容围绕跨链相关话题进行。跨链安全其实一直在社区中备受关注,跨链攻击事件频繁发生,因此对于跨链安全性质疑的声音也难免越来越多。当然,不同的跨链解决方案采用的技术不一样,这样他们的安全系数也分高低。

随着多链生态以及以太坊L2逐渐成熟起来,跨L1和跨L2交易的需求也越来越大。对于用户和开发者来说,了解如何评估一个跨链方案的安全性无比重要,因为这涉及自身资产的安全性。

本期节目邀请了来自OrbiterFinance?技术团队的Eric,为我们介绍跨链以及OrbiterFinance。OrbiterFinance是一个专注于以太坊跨rollup的去中心化桥接解决方案,基于“提前信任+争议仲裁”的这样一个解决方案,并且依赖于以太坊网络自身的安全性能。OrbiterFinance表示很快将推出其流动性提供机制和Maker合约的测试。

涉及的话题有:

跨链攻击事件以及其根本安全限制的探讨

跨链的基本原理以及不同的跨链类型

OrbiterFinance的实现方式和项目介绍

????????????-OrbiterFinance的仲裁机制如何保护用户资产安全?

????????????-Maker流动性提供合约的介绍和开放计划

????????????-数据服务L2data的介绍

对跨链生态的未来展望

为什么说跨链具有根本的安全限制?

Franci:说到跨链。大家可能会有一个不好的印象就是,好像很多黑客攻击都是针对跨链协议的,而且被盗金额都非常庞大。比如去年ChainSwap和PolyNetwork攻击事件,还有今年Multichain、Wormhole、RoninNetwork、Nomad等等,我就不一一列举了,这些攻击事件中,损失达到数百万甚至数亿美元。

赵长鹏:行业需要适合其跨境性质的稳健、全面和全球一致的加密监管:1月24日消息,赵长鹏发推表示,IMF的BoLi和Nobuyasu Sugimoto 的加密法规的好方法。加强金融监管和制定全球标准,可以帮助解决对加密资产的许多担忧,需要尽快明确监管。我们的行业需要适合其跨境性质的稳健、全面和全球一致的加密监管。对于全球运作方式,它必须适应不断变化的行业格局。[2023/1/24 11:27:25]

而且跨链交易还会有一个反网络效应,就是当交易活动不多时,网络就会非常安全,因为黑客攻击的激励不足以覆盖他的攻击成本;而当交易多了起来,攻击风险就会越大。也就是说,跨链生态越繁荣,就越容易受到攻击。这对资产大的用户以及跨链应用来说,是一个致命的隐患。那为什么会这样呢?跨链桥为什么那么容易被hack?

Vitalik在以太坊基金会第七次RedditAMA中曾表示,他之所以对多链的区块链生态系统保持积极态度,而对跨链应用保持消极态度,一个关键原因就是桥接具有根本性的安全限制。你怎么看这一点?

Eric:其实这个例子里面有很多是因为是合约里面的逻辑代码,以及验证证明上的一些缺陷造成的,但是我觉得这些都会随着技术的一些发展和成长都就会得到解决。

但是确实在跨链协议上会有一个最根本的一个安全限制。我认为其实就是链的安全性。因为跨链协议安全限制,我觉得是符合水桶理论的。也就是跨链的话,会涉及到多条链。而这个跨链协议的安全性能的上限呢,对我们某一条链的安全性能下限来决定的。就是如果你的跨链协议中涉及到的某一条链,它的安全性能不佳,极易遭受到攻击。那么你这个跨链协议的安全性能就无法得到保障,那么你用户呢,在这个跨链的过程中,资产就很容易损失。

声音 | 赵长鹏:更多交易即将到来,资金是安全的:刚刚有若干ERC20代币的大额转账从币安交易所地址转出,其中包括BNB、LINK、BAT、ZRX等。币安创始人赵长鹏随后在推特上回应称:“更多交易即将到来,资金是安全的。”[2019/7/10]

比如说有两条链,这两条链是异构的链。然后其中的一条链的安全性能比较差,那么你从A链往B链去转移资金,或者去进行跨链协议运行的时候,但后来如果在B链,因为某些安全问题需要回滚的话,对于A链上是没有办法进行处理的。像这种情况下,就可能因为B链的安全性能的一个瓶颈,就造成了整个跨链协议的一个安全性,不能够得到保证。

Franci:那么延续你说的这个话题,Vitalik其实后来有基于这个话题,继续写了一篇文章。他提出了一个概念,叫做共享安全性。那我看完这篇文章之后,大概的一个理解就是:这个共享安全区域指的是,当我在某条链比如说链A跨到另一条链,链B使用该链的资产时,我是否能共享来源链的安全性?那根据这个划分方式,其实cross-L1s和cross-l2s是两种不同的情况,跨L2要比跨L1安全得多,因为他们的安全性都像rollup一样,是由以太坊提供安全保障的。那么Orbiter其实是专注于跨L2的解决方案,针对vitalik说的共享安全性,Eric你是怎么理解的呢?你觉得跨L2比跨L1安全的同时,它会不会也有很明显的安全隐患呢?

Eric:我觉得cross-L2因为共享了L1的安全的机制,继承了L1网络的安全性。所以我认为它其实并没有什么明显的安全的隐患,但是它会有一个很明确很明显的一个缺点。Rollup具有一个退出时间的问题,就是我们平常会说到提现时间。这个是rollup它本身的一个技术特点所决定的,有效性证明可能需要大约四个小时,而欺诈证明需要七天的时间。这样就会大大地限制了资产的流动性,限制rollup的发展。

声音 | 赵长鹏:在各个国家开设法币交易所就像做实验一样:据华尔街见闻消息,赵长鹏近期在专访中谈及法币交易所,他表示在各个国家开设法币交易所就像做实验一样;谈及未来计划,他表示将在今年底明年初上线去中心化交易所;谈及慈善,他表示区块链可以改变慈善事业,慈善也可以进行区块链教育普及,是双赢;谈及市场,他表示对行业很有信心,过去八年币价上涨200万倍,未来再涨1000倍很容易;谈及稳定币,他表示对一部分希望发行法定数字货币的国家和地区会很有启发;谈及总部,他表示币安没有总部,“我在哪儿那里就是总部”。[2018/9/26]

跨链的基本逻辑

Franci:跨链的基本逻辑是什么?一般来说,用户是怎么在两条不同的链之间实现跨链活动的呢?

Eric:了解以太坊和区块链生态的人会知道,我们现在区块链系统里面是有很多异构的,就是不能够进行相互关联的。一些链和链之间没有办法去直接地进行价值以及信息的交流。这在很大的程度上会限制区块链的功能的发展。

我们平时所指的跨链,其实指的就是在这些不同的区块链网络之间进行信息的一个交换。而且对这些交换的信息加以利用,实现我们在不同的区块链之间的一个互通,以及价值的转移。

如果一个用户使用跨链的话,它在实现的基本逻辑就是这样的:现在有A和B两条链,从源网络A链发起一个跨链信息,这个信息可能会经过某一些被信任的一些安全的方式,然后被发送到目标链B链上。而在这个过程中,可能会需要去验证这个信息的有效性,即这条跨链信息是保证真实的;并且当这条消息发送到B链上时,在B链上可能也会对这个这个消息的有效证明之类的去进行一些确认。然后在B链上会根据A链上的这条消息进行某些处理。处理之后,我们可以在A链上得到一个处理的结果。这个其实就是跨链的基本逻辑。

不同的跨链类型介绍

Franci:我注意到你刚才说的一些点,当用户他进行跨链时候,目标链会需要去验证那个来源链交易的一个有效性,在验证的技术选择方面可能会有不同的方式,可以列举一下一些比较主流的方式吗?我们是不是可以通过这些方式了解跨链的不同方案的基本的架构。

消息传递者的类型

Eric:跨链的一个基本逻辑里面,其实我们会发现有一个比较重要的角色。这个角色就是要把发起链上的交易信息发送到目标网络上。这样一个角色必须要是可信任的,因为我们要保证它要发送的是正确的交易。它属于消息的一个传递者。基本上在跨链协议里面,它都是一个链下的角色。然后这个relayer,它通过不同的实现方式,它可能是单节点的;也可能是多节点的;还有可能是一些像chainlink这种第三方机构。

最基础的一个就是完全受信任的relayer模式。我们在正常的消息传递中,这个跨链协议里面链下会有relayer的角色。这个角色是通过不同的方式筛选出来的。有的可能是通过投票,有的可能是通过资金的质押筛选出来的。而且这个角色有可能是一个,也有可能是多个。然后这些角色会在练下对这个发起链上的一些跨链信息进行验证、打包。这个验证的过程中可能是多签的,也可能是分布式签名的方式,去保证安全性。但是这种方式会有一个问题,需要大多数签名的成员都是诚实的。

然后第二种的话就是可以着重讲一下LayerZero。它是在这种受信任的中继者模式的基础上又增加了一个角色,添加了一个叫做oracle的角色。它把oracle的角色和relayer的角色做了一个区分。Oracle是用来提交发起链的区块头的一些信息,而ralyer只是用来发送一些交易的验证的证明。然后在线下会对这两者去进行匹配,并且通过算法进行证明,证明出区块的头验证。

最后一种就是乐观验证模式。这个模式上也是有链下的relayer角色,还会有一个watcher和updater这两种角色。其中updater是要质押资金的,通过质押资金他会拥有负责打包这个发起链上的跨链信息的权利。然后relayer就只是单纯把updater的签名信息发送到目标链上去。其中还有watcher的角色,他负责监督负责签名交易信息的updater。如果updater作恶的话,watcher能够及时响应,然后使用其他证明方式阻止updater作恶。而这种方式在安全性上来说的话,它是最高的,因为它假设只要有一个诚实的updater运行。但是因为它使用了欺诈证明的方式,所以它可能在时间成本上会有有一点高,和前面两种来相比的话。

消息有效性的验证方式

Eric:然后当这些消息传递到了目标网络之后,它的有效性是如何的,对于它的有效性的验证方式也不同。

第一种就是目标网络上的一个合约验证。这个合约验证又可以分为两个方面,一个就是共识的验证,还有一种就是有效性的验证。然后有效性验证比较好理解,我们现在的rollup其实使用的都是这样的。它会通过欺诈证明和有效性证明的方式在L1的rollup合约去进行验证L2的状态。然后对于共识验证,它就是在目标链上要去验证来源链的一个共识这样的一个功能,而这个验证的功能可能就会涉及到它来源链,它使用的是什么样的一个共识的机制。嗯用的是Pow还是说PoS协议这样一种方式。第二种,其实就是放在链下去操作的,也就是一些外部的验证。而我们说了这些外部的验证者,他们都是通过某种方式选举出来这些可信的验证者,然后使这些可信的验证者通过多签或者是运行共识算法的方式去统一。在链下进行验证之后,然后才会提交到我们的目标网络上。然后第三种就是前面提到的乐观验证模式。只有在作恶的时候,watcher才会负责在目标网络上提交欺诈证明。所以这个就是三种可能不同的验证方式。

Orbiter就是使用了我们现在这种提前信任,加上争议仲裁的这样一个解决方案,然后就把我们的安全性完全于依赖于以太坊网络自身的安全性能。然后我们在保证这个安全性能的前提下,专注于cross-L2的开发。

OrbiterFinance的实现方式

介绍Orbiter的架构

Eric:从角色层面上来说,可能会分为两个,一个是sender角色,一个是maker角色。也可以说一个是使用跨链服务的角色,还有一个是提供流动资金来帮助跨链的角色。

我可以先简单地讲一下用户使用OrbiterFinance跨链时的流程。比如说用户想从zkSync网络上把自己的以太坊资金转移到以太坊网络上。那么它就可以在Orbiter网页的前端进行操作,然后把他的资金从zkSync他自己的EOA地址转到我们提供服务的Maker地址里面去。

然后Maker在收到资金之后就会在目标网络上将计算后的代币,发送到用户的地址里面。这里面涉及的都是EOA之间的转账逻辑。在这个过程中呢,针对于maker,Orbiter会给他提供一个客户端。然后Maker也可以自己去部署一个客户端,然后自动化地实现后端,就是回款的一个流程。然后这个客户端里面,会去对用户跨链的金额、币种、网络状态之类的数据去进行一个监听。这是一个正常的流程,但如果是出现作恶的话,会有另外的逻辑。

Orbiter采用的是提前信任的模式,就是我们默认了这些maker会正确的处理资产,正确地给用户返回这些资金。但是在整个的过程当中,maker是存在作恶可能的,有可能他在发起网络上收到了用户的资产,之后把这个资产给扣留下了。

图片来源:OrbiterFinance

我们采用了一套去中心化的机制来防止作恶。主要是由三个合约,MDC、EBC和SPV去实现这个功能。

而其中MDC合约其实就是一个maker,就是maker注册的一个合约。然后在这个合约里面,会负责创建它的跨链规则服务,然后还要存放一些maker保证金,还有就是后续为sender和maker提供一个仲裁处理的规则。

然后EBC合约就是一个事件绑定合约。现在我们主要的运用其实还只是在资产转移方面,所以这个EBC合约里面其实会对发起链,就是sender给予maker的这笔交易,通过来源链交易去推算出目标链交易。

而SPV合约就是一个简单的交易验证合约,就是用于证明用户提供的某条链上的一个交易是否真实的在这条链上。

然后通过这三个合约会运行一套机制,我们可以确保当maker作恶的时候,用户不会遭受到资产的损失。可以通过整个申诉仲裁的这样一个流程,到最后去得到资产的赔付,甚至是一个超额的赔付。

彩蛋

Franci:OrbiterFinance创立以来有没有发生过什么有趣的故事呢?

Eric:有趣的故事的话,应该就是去年年底的时候,当时Vitalik在Gitcoin上发布一个cross-rollupbounty。当时看到这个觉得挺有意思的,当时有一些自己的想法,然后当时我和我的同事,我们两个人就用了二十多天搞出了一个pizza合约,当时去参加了。而且最终的话就是从中获胜,然后得到了那个Vitalik的16个ETH的奖励。这个对我们其实也是一个很大的一个鼓舞。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

XMR了解区块链延迟和吞吐量_TPS:TERN

作者:LefterisKokoris-Kogias来源:paradigm.xyz 编译:ETH中文 大家鲜少提到如何正确地测量一个系统,但它却是系统设计和评估过程中最重要的步骤.

[0:31ms0-4:498ms