在博弈平局时,预言机会根据双方愿意取得胜利而能够付出的$NAP数量来裁定胜利的一方。能付出更多数量$NAP的一方将获得胜利,胜利的一方将得到正常胜利的$ETH或者$BNB(取决于在哪一条链上),同时,获得胜利的一方也将自动把能付出的$NAP自动转给输掉的一方。

具体说明参考:报价预言机

正常报价逻辑

同策略下,报价高者胜利.webm视频中,预言机创建者玩家A出价2000$NAP兑换1$ETH,而预言机加入者玩家B出价2001$NAP兑换1$ETH。在双方策略都为👊的情况下,B玩家取得胜利。此时,会将玩家B钱包中2001$NAP自动划转给玩家A,并将0.95 *2 = 1.9 $ETH的奖金划转给玩家B。这个过程中便实现了对$NAP的链上概率性报价。

平局的情况下: 2001$NAP / 0.95 $ETH => 2106.316 $NAP / 1 $ETH
image.png


此次交易明细:https://kovan.etherscan.io/tx/0xd7d4c71169e1b9f997b04b1ce645ecf86fd13aacc13f08bd4564212198db8c92
image.png
可以看到因为Gas优化机制,仅仅消耗了一笔ERC20转账的Gas量就完成了仲裁和转账以太坊和$NAP的系列操作。

特殊的报价姿势

看了前面的操作,可能有人会问了。如果我在加入预言机并报价之后,自身的$NAP余额发生变化使得不足以支付我的报价怎么办?
机智的你如机智的开发者,早就想到了。这一点,反而提升了预言机报价的准确性,同时还引入了博弈的刺激性。
image.png

合约中处理仲裁的函数中用于处理报价参数的逻辑部分。_initBid为先手创建者报价,_goteBid为后手创建者报价。

  1. 如果创建者的余额低于其报价,则按照其报价为零进行处理。
    1. 因为加入者的策略是明文,创建者可以观察到。如果降低自身报价只比加入者报价高0.00000001之类,则损害了加入者的利益。
  2. 如果加入者的钱包余额低于其报价,则按照其余额进行报价。
    1. 加入者可以通过当前外部$NAP价格,及时调整自身钱包中$NAP的余额。
      1. 来使得预言机报价相对拟合外部价格。
      2. 在平局情况下为自身争取最大利益。