みなさんはビットコイン価格を知りたいとき、どのように調べていますか?
一般的な調べ方として以下のような方法が考えられると思います:
・取引所のウェブサイトやアプリ、APIから確認する
・TradingViewのようなトレードツールから確認する
・Googleなどで検索する
これらはどれも何らかの主体にデータ提供を依存しています。よくこの主体のことを「オラクル」と呼び、オラクルなしでは市場価格がわからない問題、ひいてはオラクルが嘘をつくことで市場を操作できる可能性を指して「オラクル問題」と呼んだりします。
イーサリアム上のDefiで数年前に普及し始めたAMMという取引所のようなスマートコントラクトでは預けられた資産の割合によって価格が決定するという斬新なアプローチを取っています。仮に「BTC・USDTペア」に1 BTCと1万USDTが預けられていれば現在のBTC価格は10,000 / 1 = 10,000 USDT、というふうに、そのスマートコントラクトに預けられている資産だけで価格が計算できます。つまりオラクルを使用しません。
それでも実際には安全性の面でオラクルを利用していたり、取引所の市場価格を参考にトレードされていますが。
さて、ビットコインにはAMMはありませんし、ビットコインのスマートコントラクトから利用できる形で実現する見込みもありません。設計が違うためです。DLCといったビットコイン上のP2P取引のためのプロトコルもオラクルに依存することを受け入れています。(複数のオラクルを使うこともできますが)
ところが最近、ビットコインノードのデータ分析を行っているUTXO.liveの開発者がビットコイントランザクションの分析だけでその日のビットコイン価格を誤差1%の精度で求めることができると発表しました。
今日はその仕組みと、ビットコインで活用できる見込みがあるのかについて検討してみます。
・「ドル建てと思われる」ビットコイン送金の抽出
・現状ではビットコインのスマートコントラクトから参照できない
・「BitVM」と呼ばれる新しいテクニックで参照できるようになる可能性は?