DeFiGeek-Community / yamato

A keeperless autonomous money maker.
2 stars 1 forks source link

Oracle feed - liaise with Chainlink to get ETH/JPY added #9

Closed 0xsomewherecat closed 3 years ago

0xsomewherecat commented 3 years ago

完了条件:Yamatoとして適切なETH/JPYフィードがChainlinkから取得可能となること。

8/5追記:下記コメントの通り、ChainlinkからはETH/USD及びUSD/JPYを取得してETH/JPY価格を計算するものとする。

Artefact: https://docs.google.com/spreadsheets/d/1_jTu6PaU1dGSBtLCAptFMWe9b7wRP_r_LI_bSzQ6bjI/edit?usp=sharing

0xsomewherecat commented 3 years ago

Chainlink first inputメモ

Chainlinkのヒアリングが進みましたので内容共有します(長文となり失礼します)。

先方メンバ:CL_StephenK(BizDev窓口), CL_yeongin(APAC担当), Robert(アーキテクト)

  1. Bitflyer, BitfinexのETH/JPYを足す案を打診したが、Chainlinkの意見としてはETH/USDとETH/JPYを使う方が堅牢。 ・Chainlinkは、最低5つのprice aggregatorから価格を構築する。Price aggregatorは、最低5つのソースから生データを取得し、外れ値を取り除いて、aggregated medianを提出する。 ・フラッシュクラッシュやシステム障害のリスクがあるため、単一のDEX or CEXからの価格をフィードとして扱うことはない。 ・ETH/USDは、9つのソースがある(Coingecko, CryptoCompare, Amberdata, Nomics, CoinPaparika, Tiingo, CMC, Kaiko, BraveNewCoin) ・USD/JPYは、8種類のソースがある(alphavantage, polygon, openexchangerates, 1forge, tradermade, metalsapi, currencylayer, fixer)※polygonのUSD/JPYて何だ?とやや気になりましたが、細かいのでつっこまず。

  2. 価格更新のトリガーである乖離率(deviation threshold)について。ETHメインネットはガス代が高いので、2%をデフォルトとしている。ユーザの要望に基づいて、そこから下げていく。 ・他のチェーンでは、0.5%がデフォ。 ・Arbitrumでは、ETH/USDの乖離率は0.05%。Arbitrumメインネット稼働は1~2週間を予定。

  3. 対応チェーンと銘柄一覧は、Doc > Contract Addressesが最新(https://docs.chain.link/docs/reference-contracts/ )。Websiteの方(https://data.chain.link/ )は更新が遅れるので、基本Docをみてほしい。

  4. Chainlinkのフィード利用にはfeeがかかる。Feeの見積り(quotes)は相対で提示するため、ウェブサイトには記載していない。 ・Feeは、参照する銘柄数とその銘柄の変動率による。 ・Data.chain.linkの各銘柄ページには"Sponsors"というユーザ一覧のようなものがあるが、これは「client/user」と同義。(ETH/USDを例にとると、Synthetix, Liquity含む43サービスが掲載されている。https://data.chain.link/ethereum/mainnet/crypto-usd/eth-usd

ここまでの議論で、ChainLinkは無料という想定をしていたのですが、違う様子です。(ふっかけられてるわけではないと思いますが、どうでしょうか?w) 9月にコード監査を目指しており、Oracleの選択は早めに済ませたいので見積りは早めにくださいと依頼しました。 →週明けのできれば早い段階で準備します、とのこと。

ETH/JPY追加の件は、5種類のソースを出して交渉するのもアリですが、時間とお金がかかりそうな印象を受けました。Tellorに提出済みのTIPのフィードバックを横目にみつつ、Chainlink側はETH/USDとUSD/JPYの組合せを用いるのが良いのではないかと考えます。

上記をふまえたYamatoのprice feed handler構成案: ・mainはChainlink。ETH/USDとUSD/JPYで計算。 ・backupはTellor。TIPが通れば、Chainlinkにないソースがとれるので冗長性が高くなる。通らなければ、対案としてUSD/JPYフィードを足してもらうよう依頼。 →この点、設計として妥当か皆さんのご意見・フィードバックをいただきたいです。

0xsomewherecat commented 3 years ago

Chainlinkから数字がでてきたので内容共有します。

・見積るといっていたコストは、やはりsponsorship feeでした。払ったユーザのサービスを、Chainlinkのwebsiteやtwitterで宣伝する。

・提示された金額は月額$752。内訳下記の通りです。 Product Nodes Price Per Node Expected Daily Updates Expected 30 day Client Cost ETH-USD 31 $0.015 47 $656 JPY-USD 16 $0.050 4 $96

・繰り返し"usage fee"であると主張してきたので、言い方は悪いですが数打って当てようとしている様子でした。

・yamatoには現状sponsorship feeを払う意向はないし、そのような段階でもないので、状況が変わったらこちらから連絡します、と伝えました。

この見積り云々はあまり実りがありませんでしたが、各チェーンの対応状況・計画やプライス更新仕様の差異をヒアリングできたことは収穫だったかなと思います。

0xsomewherecat commented 3 years ago

Moving the issue to Done, as no further action is required with Chainlink.

0xMotoko commented 3 years ago

本番環境でJPY/USD, USD/ETHフィードを読み出す限りは特段feeを取られることはないという理解で大丈夫ですかね?

ネクストアクションとしては、PriceFeed部分を実装して #12 のモックも用意して、 デモをやるという感じですかね。

0xsomewherecat commented 3 years ago

はい、現状はフィードを読むことに関わるフィーはない認識です。 ※将来的に、Chainlinkがcontractを変更してfeeを徴求するようになったりしたら別ですが、さしあたっては大丈夫かと。

ネクストアクション、認識あっています。

0xMotoko commented 3 years ago

完了確認につきクローズします