The entire market has been fairly uncertain throughout the past week, though one event stands out from the rest. On September 20th, Bitcoin’s price crashed to around $5,400 on Pyth Network oracle’s BTC/USD feed.
Pyth is an oracle network based on Solana and it aims to bridge blockchains and real-world data. This is highly needed in the field of cryptocurrencies to provide relevancy, accuracy, and interoperability.
However, on September 20th, between 12:21 and 12:23 UTC, the Pyth BTC/USD aggregate price “had several sharp dips below $40,000, reaching as low as $5,402 and the confidence intervals became extremely wide.”
This became clear following multiple reports and an official blog post on behalf of the team.
BTC/USD Price and Confidence, Pyth Network.This caused issues to applications that rely on Pyth price feeds without using the confidence interval price.
This allowed liquidations to occur even though the published price was highly uncertain.” – the Pyth team explained.
The community behind Ethereum-based competitor and veteran in the oracle feed, Chainlink, took note of the incident, criticizing Pyth for the inaccuracies in its oracle data.
While one o Pyth’s primary selling points is “data accuracy,” this is clearly one of their weakest design points in reality.
Their aggregation weights sources by their “confidence threshold,” but the oracles can report any confidence trheshold value they want.
In a detailed blog post, Pyth Network’s team explained the reasons for the flash-crash, giving two main points.
One of them was that two different publishers published a near-zero price for BTC/USD. Both of thee “encountered problems related to the handling of decimal numbers.”
The second issue was that the network’s aggregation logic overweighted the contributions of these publishers.
To handle the issues, developers are taking certain steps. first, they will be making changes “that reduce the probability that publishers produce incorrect prices due to software errors.”
Going forward, the “developers are adjusting the aggregation logic to properly weight prices that span a large range of values.”
And last but not least, developers are also creating enhanced documentation, example code, and best practices for protocols that wish to in
tegrate with Pyth.