Difference between revisions of "Pyth Network"

Jump to navigation Jump to search
55 bytes added ,  17:34, 5 May 2022
m
Logo added and typos changed
m (Headings changed)
m (Logo added and typos changed)
Line 1: Line 1:
[[File:Pyth Network Logo.jpg|thumb|Pyth Network Logo]]
Pyth Network is a first-party financial oracle network designed to publish continuous real-world data on-chain in a tamper-resistant, decentralized, and self-sustainable environment.  
Pyth Network is a first-party financial oracle network designed to publish continuous real-world data on-chain in a tamper-resistant, decentralized, and self-sustainable environment.  


Line 13: Line 14:




On April 7, 2021, Dave Olsen, the President and Chief Investment Officer of [[wikipedia:Jump_Trading|Jump Trading]], announced on [https://podcast.jumpcap.com/public/88/The-Jump-Off-Point-8c500774/b546fd6a The Jump Off Point podcast] that Jump Trading is “collaborating on a world oracle project called Pyth”.<ref>https://podcast.jumpcap.com/public/88/The-Jump-Off-Point-8c500774/b546fd6a</ref> Pyth then revealed its live devnet prices [https://pythnetwork.medium.com/bf6877f8ece3 in mid-May] and showcased its live streaming and sub-second price update capabilities. In June 2021, Pyth released its [https://pyth.network/developers/publishers/migrating_to_version_2 v2 upgrade] smart contract, improving its aggregation method and space for up to 32 data publishers for a single asset. Finally, on August 26, the Pyth network officially launched on the [[Solana]] [https://pythnetwork.medium.com/the-pyth-network-mainnet-a3d45d2c0f58 mainnet].  
On April 7, 2021, Dave Olsen, the President and Chief Investment Officer of [[wikipedia:Jump_Trading|Jump Trading]], announced on [https://podcast.jumpcap.com/public/88/The-Jump-Off-Point-8c500774/b546fd6a The Jump Off Point podcast] that Jump Trading is “collaborating on a world oracle project called Pyth”.<ref>https://podcast.jumpcap.com/public/88/The-Jump-Off-Point-8c500774/b546fd6a</ref> Pyth then revealed its live devnet prices [https://pythnetwork.medium.com/bf6877f8ece3 in mid-May] and showcased its live streaming and sub-second price update capabilities. In June 2021, Pyth released its [https://pyth.network/developers/publishers/migrating_to_version_2 v2 upgrade] smart contract, improving its aggregation method and space for up to 32 data publishers for a single asset. Finally, on August 26, the Pyth Network officially launched on the [[Solana]] [https://pythnetwork.medium.com/the-pyth-network-mainnet-a3d45d2c0f58 mainnet].  


Pyth finished 2021 with over $1B in Total Value Secured (TVS)*, and facilitated over $7B in trading (including perpetual and synthetics platforms), with 38 announced mainnet integration partners and 41 data publishers.<ref>https://pythnetwork.medium.com/pythiad-6-2021-in-review-2022-in-sight-5e1f4c1743cc</ref> Since then, Pyth TVS reached about $2B spread over 50 integrations and welcomed more than 15 new data publishers.<ref>https://pythnetwork.medium.com/pythiad-6-2021-in-review-2022-in-sight-5e1f4c1743cc</ref>  
Pyth finished 2021 with over $1B in Total Value Secured (TVS)*, and facilitated over $7B in trading (including perpetual and synthetics platforms), with 38 announced mainnet integration partners and 41 data publishers.<ref>https://pythnetwork.medium.com/pythiad-6-2021-in-review-2022-in-sight-5e1f4c1743cc</ref> Since then, Pyth TVS reached about $2B spread over 50 integrations and welcomed more than 15 new data publishers.<ref>https://pythnetwork.medium.com/pythiad-6-2021-in-review-2022-in-sight-5e1f4c1743cc</ref>  


In January 2022, the [https://pythdataassociation.com/ Pyth Data Association] released the [https://pythnetwork.mypinata.cloud/ipfs/QmZyXccxUfhHjqHevkhWXKw5zWcnFj3NY4JvnrXbkeAEhw Pyth Network whitepaper]. It outlined the design and mechanics around the PYTH token and its role in making the Pyth network self-sustaining and decentralized. The Pyth Data Association was created to support the Pyth Network. A board of directors oversees the Pyth Data Association.
In January 2022, the [https://pythdataassociation.com/ Pyth Data Association] released the [https://pythnetwork.mypinata.cloud/ipfs/QmZyXccxUfhHjqHevkhWXKw5zWcnFj3NY4JvnrXbkeAEhw Pyth Network whitepaper]. It outlined the design and mechanics around the PYTH token and its role in making the Pyth Network self-sustaining and decentralized. The Pyth Data Association was created to support the Pyth Network. A board of directors oversees the Pyth Data Association.


The Pyth Network has also been involved in several public events within the Solana ecosystem and DeFi. Pyth was a sponsor for the [https://solana.com/solanaszn Solana Season Hackathon] (May 15-June 7, 2020) and the [https://serum-wormhole-hackathon.devpost.com/ Convergence - Serum x Wormhole Hackathon] (January 7-31, 2021). Pyth also held its first own [https://www.youtube.com/playlist?list=PLilwLeBwGuK6TE5QuMos8a8B9uOfS2cm1 workshop] in Chicago for developers looking to learn more about Pyth and building on top of it (January 17-21, 2022). Outside of DeFi, Pyth was a platinum sponsor at the 2022 [https://www.fia.org/events/international-futures-industry-conference?utm_source=FIAWeb&utm_medium=Top FIA Boca Conference] in Florida (Mar 15-17).
The Pyth Network has also been involved in several public events within the Solana ecosystem and DeFi. Pyth was a sponsor for the [https://solana.com/solanaszn Solana Season Hackathon] (May 15-June 7, 2020) and the [https://serum-wormhole-hackathon.devpost.com/ Convergence - Serum x Wormhole Hackathon] (January 7-31, 2021). Pyth also held its first own [https://www.youtube.com/playlist?list=PLilwLeBwGuK6TE5QuMos8a8B9uOfS2cm1 workshop] in Chicago for developers looking to learn more about Pyth and building on top of it (January 17-21, 2022). Outside of DeFi, Pyth was a platinum sponsor at the 2022 [https://www.fia.org/events/international-futures-industry-conference?utm_source=FIAWeb&utm_medium=Top FIA Boca Conference] in Florida (Mar 15-17).
Line 94: Line 95:
The claim will be successful if (1) the price feed published an aggregate price during the claim interval, and if (2) the published aggregate price, incorporating any uncertainty provided by the confidence interval, disagrees with the reference prices.  
The claim will be successful if (1) the price feed published an aggregate price during the claim interval, and if (2) the published aggregate price, incorporating any uncertainty provided by the confidence interval, disagrees with the reference prices.  


The algorithm for comparing the prices constructs two ranges. The Pyth network price range extends from the minimum aggregate price minus 3 confidence intervals to the maximum aggregate price plus 3 confidence intervals. The Human price range extends from the reference exchange with the lowest reported price to the one with the highest reported price. The claim is successful if these two ranges do not overlap – this indicates that the Pyth aggregate price and confidence are highly improbable according to these reference exchange.
The algorithm for comparing the prices constructs two ranges. The Pyth Network price range extends from the minimum aggregate price minus 3 confidence intervals to the maximum aggregate price plus 3 confidence intervals. The Human price range extends from the reference exchange with the lowest reported price to the one with the highest reported price. The claim is successful if these two ranges do not overlap – this indicates that the Pyth aggregate price and confidence are highly improbable according to these reference exchange.


If the claim is successful, the algorithm will then additionally identify a set of at-fault publishers, slash their stake, and then redistribute it to paying end-users according to the share of fees they paid. The algorithm identifies at-fault publishers using the same algorithm applied to the publisher’s price and confidence instead of the aggregate price and confidence.
If the claim is successful, the algorithm will then additionally identify a set of at-fault publishers, slash their stake, and then redistribute it to paying end-users according to the share of fees they paid. The algorithm identifies at-fault publishers using the same algorithm applied to the publisher’s price and confidence instead of the aggregate price and confidence.
Line 149: Line 150:


==== Data Feeds ====
==== Data Feeds ====
Pyth’s ‘main product’ is its set of live price feeds. Find all the price feeds available on the Pyth network website.
Pyth’s ‘main product’ is its set of live price feeds. Find all the price feeds available on the Pyth Network website.


Each feed admits to the following features:
Each feed admits to the following features:
Line 155: Line 156:
* '''Continuous Streaming:''' Thanks to Solana, Pyth is able to stream data at a sub-second latency and at affordable costs. The network’s publishers can update prices at every Solana slot — currently once every 400ms.
* '''Continuous Streaming:''' Thanks to Solana, Pyth is able to stream data at a sub-second latency and at affordable costs. The network’s publishers can update prices at every Solana slot — currently once every 400ms.
* '''Sophisticated Aggregation:''' As a reminder, the Pyth program computes this price on-chain by aggregating individual publishers' prices and confidence intervals. The first step of the algorithm computes the aggregate price by giving each publisher three votes — one vote at their price and one vote at each of their price +/- their confidence interval — and by then taking the median of all the votes.  The second step computes the distance from the aggregate price to the 25th and 75th percentiles of the votes, then selects the larger of the two as the aggregate confidence interval.  Overall, the aggregate price will always lie within the 25th-75th percentile of the publisher’s prices. In addition, Pyth is working on a staking system for publishers that incentivizes them to provide accurate data. In that system, each publisher will have a varying amount of stake. All of the results also hold for stake weights if Pyth replaces the percentage of publishers with the percentage of stake controlled. In the future, the weight calculation can be extended to include other non-price factors such as publisher’s stake, historical publisher’s performance, and other relevant metrics. For more information, please visit the Pyth [https://docs.pyth.network/how-pyth-works/price-aggregation docs].
* '''Sophisticated Aggregation:''' As a reminder, the Pyth program computes this price on-chain by aggregating individual publishers' prices and confidence intervals. The first step of the algorithm computes the aggregate price by giving each publisher three votes — one vote at their price and one vote at each of their price +/- their confidence interval — and by then taking the median of all the votes.  The second step computes the distance from the aggregate price to the 25th and 75th percentiles of the votes, then selects the larger of the two as the aggregate confidence interval.  Overall, the aggregate price will always lie within the 25th-75th percentile of the publisher’s prices. In addition, Pyth is working on a staking system for publishers that incentivizes them to provide accurate data. In that system, each publisher will have a varying amount of stake. All of the results also hold for stake weights if Pyth replaces the percentage of publishers with the percentage of stake controlled. In the future, the weight calculation can be extended to include other non-price factors such as publisher’s stake, historical publisher’s performance, and other relevant metrics. For more information, please visit the Pyth [https://docs.pyth.network/how-pyth-works/price-aggregation docs].
* '''Confidence Interval:''' Each Pyth publisher reports both a price estimate and confidence interval (for that estimate) to be aggregated, and the aggregated price will have its own aggregated confidence interval value.  The confidence interval represents the width around their price estimate in which they believe the true price probably lies. Different publishers have access to different sorts of data and may have [https://docs.pyth.network/how-pyth-works/price-aggregation different methods] of calculating their price estimate and confidence.<ref>https://docs.pyth.network/how-pyth-works/price-aggregation</ref> This confidence value will inform users of the data of the perceived strength of the output. Publishers can acknowledge the low liquidity environment on the traded venue and choose to adjust their confidence accordingly. Applications using Pyth network prices can respond to this extra information accordingly for greater flexibility and security. Synthetic asset platforms, for example, could choose to scale liquidity at a price with the confidence reported rather than allow infinite liquidity for mints/redeems on every price (and confidence level).  The Pyth Network empowers data consumers by continuously publishing a consolidated estimate of these important price reporting dislocations.
* '''Confidence Interval:''' Each Pyth publisher reports both a price estimate and confidence interval (for that estimate) to be aggregated, and the aggregated price will have its own aggregated confidence interval value.  The confidence interval represents the width around their price estimate in which they believe the true price probably lies. Different publishers have access to different sorts of data and may have [https://docs.pyth.network/how-pyth-works/price-aggregation different methods] of calculating their price estimate and confidence.<ref>https://docs.pyth.network/how-pyth-works/price-aggregation</ref> This confidence value will inform users of the data of the perceived strength of the output. Publishers can acknowledge the low liquidity environment on the traded venue and choose to adjust their confidence accordingly. Applications using Pyth Network prices can respond to this extra information accordingly for greater flexibility and security. Synthetic asset platforms, for example, could choose to scale liquidity at a price with the confidence reported rather than allow infinite liquidity for mints/redeems on every price (and confidence level).  The Pyth Network empowers data consumers by continuously publishing a consolidated estimate of these important price reporting dislocations.
* '''Price and Confidence EMA:''' Pyth Network also offers an exponentially-weighted moving average (EMA) price and exponentially-weighted moving average (EMA) confidence. These values are time-weighted averages of the aggregate price and confidence. Both the EMA price and confidence are natively available from Pyth price accounts.<ref>https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1</ref>[[File:Pyth EMA Chart.png|thumb|Pyth EMA Chart]]While conceptually not as simple as an SMA (Simple Moving Average), the EMA has a particularly simple implementation for streaming applications such as Pyth. The exponential weighting method allows the entire history of prices and weights to be represented by a single number.  Anyone can find more details about Pyth EMA [https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1 here] and the implementation in Pyth’s [https://github.com/pyth-network/pyth-client/blob/852b991fb4403dcf23043752e3a799a40ed0133b/program/src/oracle/upd_aggregate.h GitHub]
* '''Price and Confidence EMA:''' Pyth Network also offers an exponentially-weighted moving average (EMA) price and exponentially-weighted moving average (EMA) confidence. These values are time-weighted averages of the aggregate price and confidence. Both the EMA price and confidence are natively available from Pyth price accounts.<ref>https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1</ref>[[File:Pyth EMA Chart.png|thumb|Pyth EMA Chart]]While conceptually not as simple as an SMA (Simple Moving Average), the EMA has a particularly simple implementation for streaming applications such as Pyth. The exponential weighting method allows the entire history of prices and weights to be represented by a single number.  Anyone can find more details about Pyth EMA [https://pythnetwork.medium.com/whats-in-a-name-302a03e6c3e1 here] and the implementation in Pyth’s [https://github.com/pyth-network/pyth-client/blob/852b991fb4403dcf23043752e3a799a40ed0133b/program/src/oracle/upd_aggregate.h GitHub]


Line 161: Line 162:


==== Publishers ====
==== Publishers ====
The Pyth Network is made up of proprietary (first-party) data providers that contribute their data (inputs) on-chain to the Pyth program and create derived outputs. By having a diverse group of data publishers, ranging from exchanges (US accredited or Crypto) to trading firms and other financial services providers, the Pyth network creates a completely new composite market data stream at quality levels previously inaccessible.
The Pyth Network is made up of proprietary (first-party) data providers that contribute their data (inputs) on-chain to the Pyth program and create derived outputs. By having a diverse group of data publishers, ranging from exchanges (US accredited or Crypto) to trading firms and other financial services providers, the Pyth Network creates a completely new composite market data stream at quality levels previously inaccessible.


There are more than 55 publicly announced data providers. The full list of publishers can be found on the Pyth website [https://pyth.network/publishers/ here].
There are more than 55 publicly announced data providers. The full list of publishers can be found on the Pyth website [https://pyth.network/publishers/ here].
49

edits

Navigation menu