AC发布新跨链概念,未来几周推出跨链产品
对于那些在Twitter上关注我的人,您会注意到我已经发布了一些跨链产品,今天我们达到了一个相当大的产品里程碑,我们将在接下来的几周内推出该产品,因此我想最后暂停一下 ,并花一些时间来解释这些东西实际上是什么。
让我们从封装BTC(wBTC)开始。 wBTC是跨链BTC。 您将比特币区块链上的BTC存入wBTC托管人,一旦wBTC托管人收到您的资金,他们便可以铸造wBTC并将其发送给您。 这么简单。 将比特币链上的BTC发送给甲方。甲方在以太坊上铸造wBTC。 这可以被视为中心化保管人解决方案,但它仍然是跨链的。
让我们看一下上面的要点:
BTC被转移到比特币链上的一个指定钱包。
A方具有某种机制来了解先前的交易,并具有某种机制来确认该交易是有效的。 通常,这涉及查询比特币全节点。
在确认步骤2之后,A方在以太坊上铸造wBTC。
如果A方被攻破,会发生什么? 攻击者可以在以太坊上无限铸造wBTC,或者可以吸干所有已存入的BTC。 一个直截了当的解决方案是,将这些比特币放到一个多重签名钱包,假设总共有5位多签持有者,并且至少需要3位持有者才能使铸币交易有效。 处理流程仍然完全相同,您将比特币链上的BTC发送到这个多签地址。 当3/5 多签持有者同意接收BTC时,他们将铸造wBTC。
通过上述设计,这个多签地址仍然像是一个蜜罐一样,因为它拥有很多BTC。
接下来,让我们快速查看一下像Sushiswap这样的AMM的工作方式。 在像Sushiswap这样的AMM中,您在一个交易对中有两种代币,比方说ETH / BTC。 如果添加ETH,则可以提取等价值的BTC,反之亦然,你可以添加BTC,然后取出等价值的ETH 。 为什么这不能创建与上述多签相同的蜜罐? 因为这个交易对的所有者对资产没有控制权。
那么我们如何将以上用于跨链? 一个AMM代币对由代币A,代币B和基于A与B的关系的报价三部分组成。因此,要使AMM有效,它需要知道代币A和B的数量。但是,这意味着A和B不一定必须存在同一链上。
因此,LP可以以ETH(以太坊链上)和FTM(Fantom链上)的形式提供流动性。 以太坊链上的代币对持有的都是ETH,没有FTM,但知道在Fantom链上持有多少FTM。 Fantom链上的代币对持有FTM,没有ETH,但是知道以太坊链上持有多少ETH。
Fantom上的代币对如何知道以太坊上有多少ETH?从本质上讲,这是一个预言机问题。可以这么说,无论是现有的预言机解决方案还是新的解决方案,任何预言机都可以解决此问题。这里的问题陈述是:链B如何知道链A上发生了一个事件。在理想情况下,链A和链B会说相同的“语言”或p2p协议,而我确实认为这将变得更加标准化,并且我们将看到更多的链间轻客户端,目前这通常是通过某些第三方网络来实现的。
当前最简单的解决方案是让多个节点/服务器/参与者都监听以太坊/ Fantom / BSC等等上的合约事件。当绝大多数节点/服务器/参与者都同意他们已看到该事件时,他们可以触发序列中的下一个事件。这里要注意的关键是,如何达成共识,对于协议的执行实际上并不重要。这可以是权限证明,股权证明,保管,多重签名等。从本质上讲,这是一个共识问题(这是预言机问题下面的一个问题)。
总结:
简述一下,我们为链A上的代币A和链B上的代币B部署了一个新的跨链交叉资产AMM,让我们假设以太坊上的ETH和Fantom上的FTM。池中注入了100 ETH和200,000 FTM。任何人都可以增加流动性,任何增加了流动性的人都可以赎回流动性。
Alice随即向池中添加了1 ETH,并提取了2,000个虚拟FTM(vFTM)。假设我们的预言机网络正在运行约10个节点,达成共识的要求为2n / 3。这些节点中的每一个要么运行自己的完整节点,要么订阅infura / alchemy / pokt API。当7(2n / 3)个节点知道Alice添加了1个ETH时,它们将创建一个新事件,该事件将更新Fantom上的AMM以添加1个虚拟ETH(vETH),并向Alice发送2,000 FTM。
请注意,以上内容简化了所有这些组件之间的交互方式,但它应能很好地表明跨链跨资产交换。我在本文中省略的很大一部分,包括预言机网络的经济保证,也就是这10个节点有什么风险,因此,如果它们行为不当,将受到严重影响。在上述设计中,他们可以通过相互勾结来“偷走”所有100 ETH和200,000 FTM,以耗尽系统资金。这些经济保证对于诸如此类的系统的安全性至关重要,在以后的文章中将对此进行更多详细介绍,将来我们会对此提出一些有趣的建议。