1

分析 | NEST 新构想:动态参数设计

 3 years ago
source link: https://learnblockchain.cn/article/2599
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

分析 | NEST 新构想:动态参数设计

关于 NEST Protocol 报价佣金动态参数设计的构思。

撰文 | Danny

出品 | NEST爱好者(nestfans.com)获作者授权发布

引言: NEST预言机是一个链上博弈模型:报价者提供一个双向期权,由套利者来进行验证。这套机制保证了链上生成的价格和市场均衡价格接近,并通过一轮轮的报价——验证博弈,最终输出一个链上价格信息流。该信息流与市场均衡价格的偏差尽可能小,信息密度(价格生效密度)尽可能高。

价格偏差与参数

仔细研究该博弈(https://cofix.io/doc/CoFiX_White_Paper.pdf)会发现,决定 NEST 价格和市场价格偏差的主要变量有:交易费用、对冲成本和双向期权成本(跟报价佣金没有关系)。 我们用bias来表示NEST价格和市场价格的偏差:
_20210607102945.jpg

交易费用按比例记为 g/E,其中 g 为每次报价的 gas fee,E 为报价的规模,对冲成本记为 h,可以理解为交易所交易产生的交易费率(加上冲击成本比例,对于高流动性资产,该成本可忽略),单位规模报价的双向期权成本记为 c,该成本是秒级波动率 σ 的函数,根据链接中的计算,基本和 σ 值相当。以套利的思想来看待偏差的话,当 bias 超过了验证者的套利成本时,该价格就会被验证,从而在有效套利的假设下,可以认为bias < g/E+h+2c ,其中 2c 是因为验证者需要双倍报价,近似可以表示成bias<g/E+h+2σ

根据实际数据来看,专业验证者的h应该较小,如果报价规模不大,没有冲击成本,该 h 在0.05% 以内,σ 一般在 0.02% 到 0.2%(极高波动可能达到 1%,如 312,519 行情),因此一般后两项的成本大约在 0.1% 到 0.5%。

但 g/E 这一项波动极大,gas 消耗是以太坊生态拥堵情况决定的。 按照以太坊生态当前的繁荣程度,在网络非常流畅的情况下,消耗 10 gwei,燃烧 50000 gas limit,可被交易成功,即消耗
122.png

根据 NEST 报价所消耗的 gas limit 在 8 - 10 万的数据,我们假设将燃烧值设定为 100000 作为参考,那么当 gas price 为 1gwei 时,该 gas fee 为0.0001 ETH,按照 30 ETH 报价,这一比例 g/E 为0.00033%,可以忽略不计,如果是 20 gwei,则为 0.0067%,如果报价规模按照10 ETH,则为 0.02%,是一个需要考虑的值。一旦 gas price 上升到 200 gwei,在 30ETH 的基础报价规模下,g/E 就会造成 0.067% 的影响,2000 gwei 甚至造成 0.67% 的影响(当然,此时链上各种交易都失灵)。因此综合考虑,价格的波动率在极端情况下对价格偏差会造成 0.2% 的影响,而拥堵可能造成 0.67% 的偏差,甚至更高,因为极端拥堵时,以太坊生态其他交易者可能会将 gas limit(燃烧值)设的更高。

假设 gas limit = 100000,如图:
.png

分析以上变量会发现,波动率影响的期权成本是外生变量,而拥堵造成的偏差比例,却可以通过提高报价规模来降低。 比如用 300ETH 报价时,即使是 2000gwei ,对价格偏差的影响也不过是 0.067%,而 3000ETH 则可忽略不计。但这里整个矿工报价的门槛提升了,同时在流动性并不高的标的里,h 成本反而会因为规模上升而急剧增加。因此报价规模在 ETH/USDT 轨道设计成 300ETH,或许还能接受(矿工变成矿池),对其它交易对,显然是不太合适的,这也是为何我们选择 10-30 这样一个报价规模的原因。换个角度,如果一个资产的流动性很低,则验证上的偏差可能稍微大一些,因为价格本身就并非那么有效。因此 1ETH 下,偏差 1%-5% 都能接受。如果我们设计一个动态的报价参数,则需要针对交易对的流动性进行设定:1ETH-100ETH。问题是,流动性参数并不是一个内生变量,我们也不能根据平均波动率来反映流动性的高低,这种设定只能通过某种约定(比如新资产可以用更低的报价规模,常用资产更高)或者 DAO 投票来修订。

价格密度与参数

价格密度是一个区块数量的参数,用平均多少区块生效产生一个链上价格来度量。区块数量越小,报价密度越高。因此影响 NEST 价格密度的主要有两个指标:NEST 挖矿成本和报价对的价格波动率。这是因为,挖矿成本决定报价密度,而价格波动率决定生存概率,二者的乘积才是价格密度(注意报价密度和价格密度的差异)。

NEST 挖矿成本主要取决于 NEST 价格和报价手续费。矿工基于 NEST 价格来确定挖矿的成本,我们可以近似认为二者是线性关系,NEST 价格越高,挖矿成本越高,或者说单位成本=NEST 价格 ,而 挖矿的成本=(报价手续费+g)/(报价区块间隔 * 单位区块出矿量) ,也即报价区块间隔=(报价手续费+g)/(NEST 价格 * 单位区块出矿量) ,由于单位区块出矿量相对固定,240W 区块才衰减一次,因此近似为常数,NEST 价格则为动态变量,一旦价格较低,则报价区块间隔就越高,报价密度越低。在公式里,NEST 价格是由市场决定,报价手续费可以由合约确定,g 是由 ETH 拥堵程度确定,一般来说,手续费是 g 的高一个数量级,为此,我们可以通过降低报价手续费来提高报价密度,从而提升价格密度。

一种更加动态的思路是,根据 NEST 价格来确定报价手续费,从而使得报价密度始终动态维持在一个高可用的范围内,这种方案可以写成,报价区块间隔=k/单位区块出矿量,而报价手续费/NEST价格=K,这种设计可以按照每天触发一次修正(矿工到了某个区块高度报价即触发),每次触发时给予一定 NEST 挖矿加成。这种方案可以保证 NEST 在大部分情况下稳定报价,也避免了冗余。

但是有一种情况可能锁定了这种调整,即当 NEST 价格极低,报价手续费为 0,但 g/NEST 价格>K,这会使得报价区块间隔增加,如果 NEST 价格极低,可能在 0 手续费的情况下依然报价区块间隔极大,这时候,NEST 处于“底部旋涡”。要走出旋涡,只有 NEST 价格上涨。

根据链接中的计算,当资产价格波动率上升时,一些正常的报价也会被吃掉,被吃掉的价格比率被称之为验证概率。一般来说,验证概率的极限为 50%,即波动率再大,正常报价下也会有一半的价格留下来,而在常规情况下,波动率为 0.01%-0.02% ,验证概率为 5%-7% 。大家可以根据链接 1 的数据来计算验证概率。报价区块间隔/(1-验证概率)=生效区块间隔 ,即价格密度。因此极端情况可以进一步将波动率引入到 K 值,即*动态 K=K0 (1-验证概率) ,这样对报价密度进行修正,使其等于价格密度。

1.png

2.png

最后,也需要对极端的 NEST 价格进行设计,即极端情况下,不再使用这一 K 值,而是直接使得报价手续费等于 0,这一处理也需要反映在算法里。

总结

根据以上分析,我们提出了一个基于流动性的动态规模调整模型,和一个基于 NEST 价格与报价对波动率的动态手续费模型,从而提升 NEST 的价格密度和质量。需要注意的是,这种动态调整是有其成本的:部分原本属于回购的价值,将按照比例耗散给 ETH 矿工,降低了回购价值,要求下游应用贡献更多调用才能达到 NEST 增值。这一部分可以做更精细的分析。

注:未充分了解项目的情况下,不构成投资建议。

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 2天前
  • 阅读 ( 40 )
  • 学分 ( 0 )
  • 分类:NEST

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK