BTCBot Runes 技术方案:零成本自动归集,提高卖单成交率
本文转载自 https://medium.com/btcbotcn/btcbot-runes-技术方案-零成本自动归集-提高卖单成交率-e8fa1e017699
最近 Runes 市场热度较高,但是很多参与者发现很多交易平台上的卖单是一张一张的,而不是 5 张或者 10 张这种相对大的卖单。我们今天来讲解这种现象的影响,产生原因以及 BTCBot 的技术解决方案。
单张卖单的影响
市场上出现的大量单张卖单, 非常影响交易者的体验。因为假如一张 token mint 费用是 10U,当前市场有挂单也是 10U,只有一张 Runes,而当前 gas price 为 100sat/vB,那么,购买者去买这一张 token 的价格将略大于 20U,也就是说,综合购买成本增加到 200%(20U)。
而如果是一笔 20 张的卖单,那么,则可以一笔交易 20 张,即 200U,购买方 gas fee 依然要付出约 10U,这时候,gas fee 的影响就只有 10/200=5%,综合购入成本为:(200+10)÷ 20 = 10.5U。
购入 gas fee 影响大,综合购买成本的大幅上升 — — 这是大量单张 Runes token 卖单无人购买的原因。
购入 gas fee 影响小,综合购买成本的大幅下降 — — 这是合并后的 Runes token 大订单甚至可以以高于 floor price 10%-20% 的价格成交的原因。
单张卖单的产生原因
假如参与者只打 1 张 Runes,那当然是 1 张去挂单,真正的问题当用户提交 5 张,10 张或者 20 张,结果 mint 出来后,还是只能 list 一张一张独立的卖单。这种情况为什么会发生?因为市场上很多 mint Runes 的平台采用了“并联 mint”(先拆分 UTXO,然后进行 mint Runes)的方案。详细讲解如下:
以打 20 张为例。
先把一个大 UTXO 拆分成 20 个小 UTXO,然后用这 20 个小 UTXO 各打一张,最后在钱包里会留下 20 个 1 张的符文,在交易所挂单时,只能一张一张挂单出去。假设币价和 mint 价格一样,这意味这买方买一张要支付的 gas 已经和这一张的价格相当,滑点接近 100%,价格不暴涨很难卖出。
另外,在成本上,这样打 20 张会产生 21 笔交易,第一笔为分拆 UTXO 的交易,这笔交易并不 mint 任何符文,却产生了相当于 7 张 mint 的费用,如下所示,
所以不考虑 gas 变化的情况下,采用这种方式 mint 20 张,相当于花费了 27 张的 mint 成本。
BTCBot 技术解决方案:串联 mint
BTCBot 会首先创建一个为这次批量 mint 生成的临时地址,将可用的 UTXO 转入这个账户顺带打一张,然后这个临时地址使用收到 UTXO 串联组织 18 笔交易,然后最后一笔把剩余的 UTXO 转回用户原地址并顺带打最后一张。
这样的串联打法,无需提前拆分 UTXO,上一笔 UTXO 里包含 2 个符文,串联下一笔交易产生的新 UTXO 里面就包含 3 个符文,在串联的交易中自动就完成了归集,最后用户钱包里会有一个 UTXO 包含 20 个符文,可以一次挂到交易市场,买方可以出一笔 gas 买 20 张,滑点不足 5%。
值得一提的是:在成本上,这种打法只产生了 20 笔交易,打 20 张符文,相当于花费了约 20 张的成本,几乎所有的 gas fee 都用于真正的 mint,没有浪费。举例,在 BTCBot 中,用户打 50 张 Runes,最后会自动归集为 2 个 20 张和 1 个10 张,省钱的同时,方便挂单卖出。
简化理解上述技术内容:边打边归集,节省 gas 费,方便挂单售卖。
总结
本文简单讲述了 Runes 市场,大量单张卖单出现的原因,影响以及 BTCBot 的技术解决方案。希望对大家有所帮助!