BRC20上可能实现原生swap的可能路径。
原文作者:JingLee
原文来源:Twitter@0xjingle
BRC20 Swap - BTC原链上的UniSwap ?
昨天 @unisat_wallet 抛出了公告,宣布不久将要推出BRC20 Swap。根据公告的内容,BRC20 Swap不同于桥、二层、侧链,是基于BTC和Ordinals原生的Swap,瞬间点燃BRC20生态的热情并得到了中西方ordinals社区的广泛好评。
看上去,BRC20 SWAP的推出,将为BTC一层代币的自由流通提供了重要的支持。但是推特上对于技术上如何实现这个问题,本文将常识着去探讨如何在技术上实现BTC一层上的UniSwap。
就在不久前在某个space讨论过这个问题,记得当时挺多嘉宾觉得不可行。而我的观点是技术上是可行的,无非是以何种方式实现,是否去中心化,是否安全,用户体验是否舒适,Swap效率是否高效等等。早期方案不一定完美精巧。我不是技术专家,但是达到SWAP的目的的方案其实有很多种,我这里就算抛砖引玉,尝试描述一下可能的BRC20上的Uniswap的实现路径,也欢迎更多的技术大咖给Ordinals社区做一些基础的技术普及。
Uniswap是建立在独特的AMM 自动做市机制之上,其核心是由两个ERC20 token组成池子成为LP即流动性提供商。交易获得的费用则成为流动性提供的奖励来源,也称为流动性挖矿。因为交互在链上进行,因此每次在swap的时候会产生交互Gas,因此uniswap也称为ETH gas的最大贡献者。
以此思路类推,我们看看BRC20上可能实现原生swap的可能路径。
来看一下BRC20生态最为核心的构成要素
1,BRC20标准(包括原生和后续衍生的标准)
2,索引器indexer
未来BRC20所有产品的开发,恐怕都离不开上面两个核心要素。因此BTC SWAP应该也不例外,必须需要上述两个基本要素的配合和改进才可以实现。
路径一、Uniswap的BTC版本?
假如和Uniswap一样,有LP池子,当下BRC21 (MAPO @MapProtocol 最近和trustwallet合作集成跨链桥包含brc20系列)、 BRC20S(OKX)大致都支持组LP的Jason语法.
1,用户将钱包里的BRC20Token 比如 ordi - punk 组对 ,通过铸造新铭文在链上记录 LP:20 ordi -1 punk;
2,铸造成功后indexer 将用户钱包 brc20 余额ordi -20 ,punk -1,增加 ordi-punk LP 1个;
3,组LP完成;Indexer 会在ordi-punk LP下记账 ordi+20 punk +1 ;
解开LP实际上也是同样的过程,将ordi-punk pair 下面池子的比例,返回余额度。按照固定乘积公式决定价格,按照比例计算出indexer下计算的两种资产数量然后解开LP。
这里indexer既要计算钱包地址的所有余额,也要计算新代币LP下面的流动池余下额度。理论上,indexer也可以实现两种资产间的定价。
这种AMM依赖LP池子的大小,价格波动剧烈时产生无常损失Impermanent Loss,同时交易时候将产生滑点。
按照BRC20交易市场的逻辑,为了防止双花抢跑,转账/组LP铭文需要等待3个区块确认后才可以交易,因此按照传统的AMM逻辑似乎效率极低:用户组和indexer通讯确认需要10*3 min,收到swap后10min,一笔swap起码40min。组拆LP也是如此。几乎是uniswap慢动作版。
所以如果是Uniswap的BTC版本,那么:
1,大概率是需要更新BRC20协议,在brc20s和brc21的基础上,推出支持brc20swap的协议;
2,会更新unisats开源版本的indexer以支持pairing;
可能存在的问题:
1,效率问题,一次完整的SWAP可能需要半小时到一小时时间;
2,其他交易所如果不同步更新,就可能存在在A交易所组队的token可以在B交易所仍然可以交易的情况;
3,其他可能存在的安全隐患和问题,譬如双花等;
4,复杂程度比较高
路径二 、基于PSBT的自动化撮合交易?
brc20swap有没有可能是订单簿的自动化撮合形式?
似乎也有可能,这样只需要在现行的brc20 market place上改进bidding功能,和卖方的psbt撮合,这样既不需要更新brc20协议,也不需要在indexer上做更多的改进,完全可以实现交易的撮合。
用户创建transfer inscription给出brc20转账权限,用psbt以一定价格挂单卖出,买方创建买入价格psbt挂单买入(bidding),在价格范围内(滑点)撮合完成交易。
这里的价格就是根据市场交易情况决定的。在现有的brc20市场增加买家bidding功能,对现有的brc20似乎改动最小。这种方式本质上并未创建流动性挖矿的机会,因此更像是brc20市场的改进版。
能力所限,只能想到两个可能实现的路径,甚至不一定对。有没有其他路径 ?围绕BRC20建设的技术路径有无限可能,欢迎头脑风暴,转发讨论!
再问个开放式的问题:如果BRC20的 Defi Summer,你觉得最可能的brc20的本位币是什么呢?对我而言,原生satoshi就是本位币,一切围绕satoshi的建设才是有意义的。不会是ordi,也不会是btc稳定币。那么,你同意我的观点吗?