UTXOracle is a simple script developed using the Python programming language that estimates the daily average price of Bitcoin (BTC) in U.S. dollars. The code works by parsing data from the Bitcoin blockchain, making it possible to derive an approximate price for the cryptocurrency.
The price oracle is based on Bitcoin’s historical Unspent Transaction Output (UTXO) data. UTXO can be defined as the point at which each transaction on a blockchain starts and comes to an end, and is regarded as the fundamental element of all cryptocurrencies.
What Is A UTXO?
Cryptocurrency transactions are made of inputs and outputs, and anytime a transaction is made on the blockchain, a user takes one or more UTXOs to serve as the transaction input and confirms ownership of the input by providing their digital signature, which then gives the output.
Used UTXOs are considered “spent” by the network and can no longer function, while the outputs are carried on to become input UTXOs that can be spent in a new transaction.
UTXOracle Determines The Price Of Bitcoin In USD By Calculating Its UTXO Data
The UTXOracle is based on a graph that shows fiat and BTC denominations of Bitcoin UTXOs over the years. On the left-hand side of the chart is a set of straight lines that show the creation of UTXOs in exact round BTC denominations, and on the right-hand side are wavy lines that represent UTXOs being created with rounded fiat denominations.
Over 15% of all Bitcoin transactions create outputs with round denominations in fiat currencies. This allows the software to make derivative assumptions on the economic activity the blockchain represents.
Users can determine the specific point in time when the fiat price of BTC was a round figure by looking for regions where the wavy and straight lines intersect.
The highly technical system helps users who run a full Bitcoin node on their computers figure out the price of the cryptocurrency without relying on data provided by third-party exchanges.
The Code Uses On-Chain Data To Provide Bitcoin Prices
According to its developers, UTXOracle allows users to track the fiat price average of Bitcoin by only using on-chain data, giving newfound abilities not just to Bitcoiners but also to other product developers involved with the blockchain.
UTXOracle founder and developer Steve Jeffress was speaking to crypto news outlet Bitcoin Magazine after the software’s launch, where he explained how the BTC price charting oracle came to be.
His experience rendering UTXO heat map sets for 8 years gave him a clear idea of Bitcoin’s USD price, which was a “clear emergent property of output patterns”.
When asked what are the limitations of the oracle’s accuracy, Jeffress said the limits are currently between $1,000 and $100,000 for BTC price tested back to July 26, 2020. He added that the limits can also be dependent on people continuing to make Bitcoin transactions in rounded USD figures.
The System’s Accuracy Could Be Disrupted When Transactions Are Delayed
The founder also warned of possible scenarios where the UTXO model could be manipulated but said such a task would be expensive to execute. Jeffress claims that users will even be able to estimate the price of manipulation as it is with the case of settling contracts, where the contracts would need to be priced far less than the estimated cost of manipulation.
He pointed out that delayed withdrawal transactions could disrupt the model’s accuracy to a certain degree. For instance, if a user purchases BTC from an exchange but waits a week until withdrawing it, then the price of the token will be different than when they purchased it.
This means the on-chain UTXO output that was created for the transaction will not accurately reflect the round amount in fiat when it was first purchased.
This can heavily disrupt the model’s accuracy, especially during a high-fee environment when most investors tend to wait before moving their purchases. The only way the model could adapt to the changes is if larger value transfers occurred in round fiat amounts on the blockchain at the same time.
UTXOracle’s algorithm can properly distinguish between the transactions that throw off its price model and weigh in the larger value transactions much higher than the lower value transactions to account for the price distortion.
When asked if the model could be extended or made more accurate using other on-chain data, Jeffress replied saying he wrote the code to maximize “understandability over efficiency”, and chose not to import libraries to make the system more efficient.