原文作者:Frankie、Dan Robinson、Dave White
原文编译:Amber,Foresight News
本文介绍了渐进式荷兰拍卖(Gradual Dutch Auction,以下简称为 GDA),一种能够有效地帮助欠缺流动性的资产完成公开销售的拍卖机制。
GDA 与此前已经被提出的「时间加权平均做市商(TWAMM)」机制意在解决的问题类似,都是可以让资产在不依赖于市场已有流动性的基础上进行有效流通和销售。
GDA 的工作原理是将一笔拍卖分解为一系列荷兰拍卖(注:荷兰拍卖是一种常见的拍卖形式,会从高要价开始,然后逐渐降低,直到买家出价)。GDA 允许你便捷地方式同时参与多个这样的拍卖。
本文会提供更适用于 NFT 销售的非连续型 GDA 和更适用于代币拍卖的连续型 GDA 两种模型,以供读者理解这个新的拍卖机制。
非连续型 GDA
假设 Alice 想卖出 1 万件 NFT。她不确定这些 NFT 的公允价格,所以她不想以固定的价格出售。
相反,她可能会选择进行荷兰拍卖 —— 从一个很高的要价开始,然后逐渐降低价格,直到所有的 NFT 都被卖掉。不过这种方式并不一定是最优解,因为市场上的买家可能并不足以一次性消化所有的 NFT 作品。
相反,如果 Alice 一次拍卖一个 NFT。例如,她可能会每分钟都开始一场新的荷兰拍卖,拍卖她的一件新作品。这将给市场更多的时间来为她的 NFT 艺术品找到一个公允的价格。
非连续型 GDA 其实就是这一想法的延伸。
机制
非连续型 GDA 适用于销售 NFT,因为这些资产必须以整数数量出售。工作原理是为每一个 NFT 举办一个虚拟的荷兰拍卖。在一个非连续型 GDA 中,每个拍卖都在同一时间开始,每个虚拟的独立拍卖都有一个更高的起价。每次拍卖的价格由价格函数给出,该函数的参数包含该拍卖在系列拍卖中的排序,以及正常拍卖开始以来的时间等。
经过测算得出的一个较优的函数如下:
其中,每次拍卖的价格根据衰减常数 λ 呈指数衰减,每次拍卖的起价都增加了固定的比例因素 α,第一次拍卖的起价则由初始价格 k 决定。
批量拍卖的价格计算
根据上述价格函数,我们可以计算出批量拍卖的总价。
假定 Bob 想购买数量为 q 的待拍卖资产。为了做到这一点,他会购买在每一个独立荷兰拍卖中总量为 q 的最便宜的资产。而目前时间为拍卖开始后 T 时刻,迄今为止共计售出总量为 m,则 Bob 购买 q 数量资产的总价格 P 为:
把价格函数代入之后,我们可以得到最终的价格计算公式:
如果假定一些具体的数值之后,我们可以得到如下的一个结果案例:
连续型 GDA
在完成 NFT 销售之后,Alice 现在想卖掉一些标准代币。当然她也可以使用上述非连续型 GDA 机制,打包「分段」售出她手中的代币。
然而 Alice 可能不想让她所有的代币都能立即出售,例如她希望代币按照每天 360 枚的恒定速度释放。那么她就可以选择用一系列标准的荷兰拍卖中出售自己的代币,而不是使用一次 GDA 进行所有的销售。比如她可以每小时进行一次 15 代币拍卖,或者每分钟进行一次 0.25 代币拍卖等等。
连续型 GDA 的工作原理就是将这个过程限制到极限,即拍卖之间的时间间隔接近于 0。这意味着销售被分成无限的拍卖序列,每个拍卖出售无限小数量的代币。
机制
持续的工作原理是以恒定的排放速率逐步提供更多可供出售的资产。整个拍卖流程会在一系列的虚拟拍卖中被分解。这些拍卖随着时间的推移,以均匀的速度开始,每次拍卖都以相同的价格开始。
每次拍卖的价格由某个价格函数给出,其中为自拍卖开始以来的时间。价格模型与非连续型 GDA 类似,价格根据衰减常数 λ 呈指数衰减,同时拍卖的起拍价为 k:
参与拍卖的价格计算
假如 Bob 想购买数量为 q 的代币,为了购入对应数量的代币,他需要参与 q/T 次拍卖,由于拍卖的价格是持续下降的,所以说他需要对当前所有可报价的独立虚拟拍卖中最早开始的那些进行报价。
假设目前最早开始的拍卖的持续时间为 T,那么数量 q 的代币的总价格 P 为:
在不考虑链上交互成本的前提下,代入价格计算公式后,完整的价格公式为:
代入一些假定的参数之后,可以得到如下的示例结果:
代码
Paradigm 还公开分享了 GDA 模型的 Python 模型以及可行性测试。
结论
GDA 可以用于同质或非同质资产的公开销售,且对于缺乏基础流动性的资产来说更具价值,这一拍卖机制的使用场景并不限于文中提及的简单案例,未来有望在更多应用场景中落地。