区块链Bancor 算法,参数测算公式宝典

eos ram在经过了价格大幅度波动后,其背后的bancor定价机制也越来越为人所熟知。继《【火线视点8】没有免费的午餐——从eos ram价格看公链通证经济体系设计》后,火币区块链研究院继续对这一算法研究,分析其后背的数学和经济学原理,并通过公式,我们计算对比了不同参数下ram价格,主要得到以下研究结果:
bancor公式中隐藏价格函数与经济学上的价格弹性曲线的概念相通。
由于是根据供需量来得出价格,bancor经过微积分计算得出购买ram时所需eos的等效价格,防止产生购买价格误差。
在不同的曲线参数下,价格会有不同。我们以北京时间7月10日18点40分的情况为例,使用matlab r2015a进行测算:付出10 eos以上,参数取值改为0.5会比0.0005的商品“性价比”更高。
报告正文
1.引言
eos ram在经过了价格大幅度波动后,其背后的bancor定价机制也越来越为人所熟知。继《【火线视点8】没有免费的午餐——从eos ram价格看公链通证经济体系设计》后,火币区块链研究院继续对这一算法研究,分析其后背的数学和经济学原理。通过公式,我们计算对比了不同参数下ram价格,可看到参数的确会产生一定程度上的影响。
另外需要注意的是:测算得到的数据结果不是也不应被视为是对eos ram未来价格走势等情况的证明或确认。特此声明。
2.主要结论
经过研究与测试分析,我们得到以下主要结论及技术建议:
bancor公式中隐藏价格函数与经济学上的价格弹性曲线的概念相通。
由于是根据供需量来得出价格,bancor经过微积分计算得出购买ram时所需eos的等效价格,防止产生购买价格误差。
在不同的曲线参数下,价格会有不同。我们以北京时间7月10日18点40分的情况为例,使用matlab r2015a进行测算:付出10 eos以上,参数取值改为0.5会比0.0005的商品“性价比”更高。
3.什么是bancor
bancor算法的本质我们在此前的《【火线视点8】没有免费的午餐——从eos ram价格看公链通证经济体系设计》报告中有过介绍:它是在1940年-1942年间由凯恩斯、舒马赫提出的一个超主权货币的概念,可作为一种账户单位用于国际贸易中,并由英国在二战后正式提出。然而,由于美国实力在二战后一枝独秀,bancor 方案并没有在布雷顿森林会议上被采纳使用。但应用这一思想的 bancor 算法则继续延续了其生命力。bancor 算法由 bancor network 项目提出应用,旨在采用公式来设定好数字资产间的兑换价格。其联合创始人 eyal hertzog 近期也被bm邀请一起来探讨 eos 中 bancor 算法的应用。
虽然bancor network近期也经历被盗风波,但这不妨碍我们继续研究这一算法。既然是原本要用于国际贸易的模型,那必然涉及到不同实体间如何兑换。bancor 白皮书中对定价模型有着十分严谨和详细的说明。它定义了两类token:一种是通常会流通使用的 connector token(即储备金,例如:btc、eth、eos等),而另一种是作为“超平台”中间媒介的 smart token。为了使得兑换价格满足刚才提到的供需关系,设计的公式中的价格为 connector 的可流通余量(balance)除以 按照一定系数的smart token 供应量:
其中,cw 的英文是 connector weight,表示设计出来的 smart token 的总价值与实际在使用中的 connector 余量间的关系,设计好后为一个固定参数:
总体上来说,就是 smart token 的供应量越少或者 connector 的余量越多,那么使用 connector 来兑换 smart token 的价格就越高。
虽然很不严谨,但这也就能理解了为什么 eos 的 ram 越少,价格越高了。至于不严谨的原因,我们将在下文继续解释。
4.公式设计思路
回到 ram 价格上,那么无疑在 eos 主网刚上线的时候,ram 供应量最多。可以看到最低价格是 0.017 eos/kb 。按照这个价格,也就是买 1mb 需要 0.017 * 1024 = 17.408 eos。那么,全部 64gb ram 在这个时候值 1140850.688 eos,是不是这个时候花费这些 eos 就可以把 64 gb一次性都买下?答案显然是否定的。
实际上,有多种方式可以限制这种做法。最简单的一种就是限制每次买卖的数量:只要设置每次只能购买 32gb,那么第二次买 ram 的价格就会提高很多,买的总成本就会变的很高。再循环细分下去为 16gb、8gb …… 总的价格就会越来越合理。这在数学上是有相应的工具可以使用的。
是的,就是微积分。在 bancor network 白皮书中引用的另外一个资料中,可以看到这个推导过程。
定义r为当前connector的余量、s为当前smart token的供应量、f为系数(即上文中的cw)、p为当前smart token的价格,那么有:
smart token的市场总量 = sp
当要购买ds 的smart token时,用户需要付出p ds 的成本,也等于剩余connector的变化量,即dr = p ds
又因为r = fsp,同时微分可得到:dr = d(fsp) = f d(sp) = f(s dp + p ds),所以综合上述两个等式可得:
然后我们可以看到,这个微分方程的结果和经济学上的一个概念是一样的。
是的,就是经济学上的价格弹性曲线:
当 cw 或者 f 为 1 时,提供100%的流动性,因此价格毫无弹性,一直维持在某一水平线上
当 cw 大于 0 小于 1 时,即上述正常供需情况下的价格曲线
有了这个价格函数后,再对其进行积分,即可得到不同量的 connector 可换购的 smart token 数量。
定义用户要购买smart token的数量为t,那么可得到需要付出的connector的数量e为:
如果用付出的connector 除以兑换到的smart token 数量,即可得到等效价格(effective price),即只要付出的connector总量一样,不管分多少次购买,所获得的smart token总量是一样的,因此也就不需要限制单次购买量了。但相应的,如果单次付出不同数量的connector,折算得到的单价也会不一样,所以不会存在上文假设的“套利”情况。
5.eos ram的公式更复杂
eos 应用 bancor 算法过程中,并不是将 eos 和 ram 直接用价格曲线进行兑换,而是引入了中间 token——ramcore,对应于 bancor 中的 smart token。
eos 和 ram 兑换逻辑的代码主要在:
https://github.com/eosio/eos/blob/v1.0.8/contracts/eosio.system/exchange_state.cpp
eos 到 ram 的兑换过程就涉及了两个公式,所以上文中用一个公式来举例就很不严谨,只是为了定性的说明价格特性。
从代码中可看到eos与ramcore的兑换公式为:
其中,e为eos到ramcore所能兑换的数量,r是ramcore的初始发行总量,c1为当前eos余量,t1为用于购买的eos数量,f为常量参数
将上述公式的进行反向整理设计,即可得到ramcore与ram的兑换公式为:
其中,t2是准备购入的ram数量;c2为可分配的ram余量。将中间变量e代入即可得出用于购买的eos数量(t1)与可兑换到的ram数量(t2)之间的关系。
为方便直观的理解,可以对公式进行简化,得到:
可以看到随着可买ram余量(c2)的降低或者eos数量(c1)的增多,ram的价格会加速增长(即同样付出t1的eos下,可换取到的ram数量t2变少了)
6.不同参数下的价格偏差计算
根据简化公式,f 应该对价格影响很小。那么 bm 之前说的把 0.5 多除了1000,变成0.0005,对价格是否有很大影响?我们可以直接通过公式计算来验证。
按照公式,要计算先确定好公式中的参数。参数的获取可通过网络渠道来获得(参考https://github.com/eoshackathon/eos_dapp_development_cn/blob/master/docs/ram_price.md):
由于c1和c2的参数会时刻根据行情进行变化,我们选取上述时间作为示例计算参数。下一步,我们使用matlab(r2015a 8.5.0.197613)进行公式的计算。
当要付出不同量 eos 时,分别计算出f=0.0005和f=0.5的 ram 价格结果,可购买到的ram之差(f=0.0005-f=0.5)以及两个价格之间的差值:
可以看到,当f取值变化的时候,不同购买量下的结果的确不同:当一次付出10000 eos时,f=0.0005能购买到的ram比f=0.5少了 20 kb,相应的ram单价高了 4.0412e-04 eos/kb;而当一次付出100000 eos时,会少近 2mb,同时单价高 0.0040 eos/kb。
根据结果,在购买量大的时候,确实会有区别,而且改为f=0.5后ram的“性价比”反而会更高,这很可能也是bm及eos社区在调整参数时所考虑的问题。

LGD砸重金豪赌OLED面板,要靠其重拿市场主动权?
从设计、代工、封装、投资等几个方面来展望下2019年
强强联合,势不可挡 -英特尔携手紫光展锐启动5G战略合作
专访TI宋浩然:AFE4300模拟前端让消费医疗更智能
关于ESD204对HDMI接口的浪涌保护
区块链Bancor 算法,参数测算公式宝典
视频上妆,实现上镜自由,OPPO Reno6系列带来周冬雨视频日记
英特尔与生态伙伴齐聚 Bilibili World 2023,多款PC闪亮全场
卡依插头是什么意思
充电器小知识一则
MR6450系列RISC-V核心板究竟有哪些过人之处?
浅析超级电容器的工作原理及特性
你准备好接受人工智能和机器人正在改变的一切吗?
VL813集线器控制器的功能特点及关键特性
麒麟9000s属于什么档次 麒麟9000s相当于骁龙多少
LG Display大尺寸OLED及可伸缩显示技术备受全球关注
智能加湿器方案开发与加湿器的原理
两个月时间,无锡高新区700亿新项目签约花落谁家?
浅谈光电倍增管和雪崩光电二极管的区别
ISO发布全球首个无人机使用标准草案