-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: ADR-023 DA Fee Market #2780
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2780 +/- ##
==========================================
- Coverage 21.55% 19.70% -1.86%
==========================================
Files 128 139 +11
Lines 14346 17005 +2659
==========================================
+ Hits 3092 3350 +258
- Misses 10949 13333 +2384
- Partials 305 322 +17 |
@@ -0,0 +1,60 @@ | |||
# ADR 023: DA Fee Market |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[uber nit] can the ADR title and the filename match? Since DA != data, I got tripped up.
Either:
# ADR 023: DA Fee Market | |
# ADR 023: Data Fee Market |
or rename file to adr-023-da-fee-market.md
|
||
## Changelog | ||
|
||
- 2023/06/28: Initial draft |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[question] is this date correct? June 28th seems like a long time ago. Perhaps it meant to say October 27th?
- 2023/06/28: Initial draft | |
- 2023/10/27: Initial draft |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lol I actually started writing this in June so it is somewhat correct but I'll update the date to now
- **Bounded Supply**: The supply of block space can be seen as a bounded commodity. At a point, buyers begin to compete for space as they hit the upper bound on what the network can provide. Crossing this line could result in price wars with rollups bidding against each other. Before that point, all data could be published so long as they are seen by the validators to cover the costs. Improvements in scaling of the protocol can naturally shift that upper bound. | ||
- **Different Denominations**: The denomination of the transaction between the buyer and seller, TIA, differs to the denomination of the costs that the seller incurs (i.e. USD, EUR which server providers like AWS or Hetzner charge in). The buyer may also need to bridge price differences between TIA and the currency that they receive from their users. As the relative prices may fluctuate due to market forces beyond the purview of the Celestia network, Celestia in turn may incorrectly price the cost of publishing data. | ||
- **Secondary Markets and MEV**: If Celestia is able to offer value to it's users but is not able to correctly capture that value, it risks being captured on secondary markets that auction block space off chain and use other currencies. Moving payment offchain reduces the utility of the TIA token that secures the network. Actors such as validators who wish to extract as much value as possible (MEV) may make selfish decisions that harm the integrity of the network as a whole. | ||
- **Price Elasticity and Competition**: Price elasticity refers to how much a buyers demand for a commodity changes as the price changes. Given a Rollups strong dependence on Celestia for liveness (their service stops if they are unable to submit data), the commodity is rather inelastic. The eventual increase in competition and fallback methods that allow a rollup to switch providers may reduce the elasticity. Inelastic goods generally gives greater power to the seller. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- **Price Elasticity and Competition**: Price elasticity refers to how much a buyers demand for a commodity changes as the price changes. Given a Rollups strong dependence on Celestia for liveness (their service stops if they are unable to submit data), the commodity is rather inelastic. The eventual increase in competition and fallback methods that allow a rollup to switch providers may reduce the elasticity. Inelastic goods generally gives greater power to the seller. | |
- **Price Elasticity and Competition**: Price elasticity refers to how much a buyer's demand for a commodity changes as the price changes. Given a Rollups strong dependence on Celestia for liveness (their service stops if they are unable to submit data), the commodity is rather inelastic. The eventual increase in competition and fallback methods that allow a rollup to switch providers may reduce the elasticity. Inelastic goods generally give greater power to the seller. |
|
||
Celestia's fee market should fall between the bounds of being cost-effective for both suppliers (validators) and buyers (rollups). It should endeavour to provide the greatest price certainty and use the resource of the network in the most efficient manner. To this extent the following decisions were made: | ||
|
||
- **Global Min Gas Price**: A new block validity rule has been introduced constraining the minimum gas price (in other words the fee divided by the gas limit) that a transaction can have. This is designed to mitigate the ability for payment to be settled off-chain. It also resolves the incongruence of nodes with different minimum limits. This value can be modified via on-chain governance. This therefore means there is a dependency on the community interested in the value of TIA to ensure that a minimum price does not lead to an uncompetitive price. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[optional] the tense here makes it sound like a block validity rule has already been added but I don't think that's the case yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically ADRs should be written in the past tense because it is supposed to document a decision that has happened however since we use the same format as proposals people often write with future tense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh that's confusing. Down to adopt either past or future tense as long as ADRs are consistent.
My fuzzy feeling is that ADRs should use future tense when in the Proposed state and then past tense if moved from Proposed to Accepted. If the ADR never gets accepted, it can remain in future tense. But that may be too much overhead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I get that although it might be cumbersome to have to go through and change the tense (unless chatGPT can do that for us)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where the fees go might be outside the scope of this discussion, however it might be worth mentioning that explicitly just because the most famous instance of a min fee also burn the fee which has a lot of externalities
|
||
## Introduction | ||
|
||
At it's core, the Celestia network can be described as a market for the commodity of published data. By outsourcing the publication of data to Celestia, a rollup can mitigate the possibility of equivocation that may cause different machines to execute on a different set and order of transactions resulting in different states. In the field of distributed systems, this is known as split-brain. Thus, the market encompasses buyers who are willing to pay various amounts on the publication of their data, and sellers who are willing to supply the machines to perform the computation, storage and networking as defined by the protocol. This document explores the various dynamics of this market and makes some preliminary decisions on how to best design the fee market. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is known as split-brain.
sounds like a good place for a reference!
|
||
## Introduction | ||
|
||
At it's core, the Celestia network can be described as a market for the commodity of published data. By outsourcing the publication of data to Celestia, a rollup can mitigate the possibility of equivocation that may cause different machines to execute on a different set and order of transactions resulting in different states. In the field of distributed systems, this is known as split-brain. Thus, the market encompasses buyers who are willing to pay various amounts on the publication of their data, and sellers who are willing to supply the machines to perform the computation, storage and networking as defined by the protocol. This document explores the various dynamics of this market and makes some preliminary decisions on how to best design the fee market. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
definitely not blocking, but I do think we could get away with distilling this
At it's core, the Celestia network can be described as a market for the commodity of published data. By outsourcing the publication of data to Celestia, a rollup can mitigate the possibility of equivocation that may cause different machines to execute on a different set and order of transactions resulting in different states. In the field of distributed systems, this is known as split-brain. Thus, the market encompasses buyers who are willing to pay various amounts on the publication of their data, and sellers who are willing to supply the machines to perform the computation, storage and networking as defined by the protocol. This document explores the various dynamics of this market and makes some preliminary decisions on how to best design the fee market. | |
At it's core, the Celestia network can be described as a market for the commodity of published data. This document explores the various dynamics of this market and makes some preliminary decisions on how to best design the fee market. |
|
||
Celestia's fee market should fall between the bounds of being cost-effective for both suppliers (validators) and buyers (rollups). It should endeavour to provide the greatest price certainty and use the resource of the network in the most efficient manner. To this extent the following decisions were made: | ||
|
||
- **Global Min Gas Price**: A new block validity rule has been introduced constraining the minimum gas price (in other words the fee divided by the gas limit) that a transaction can have. This is designed to mitigate the ability for payment to be settled off-chain. It also resolves the incongruence of nodes with different minimum limits. This value can be modified via on-chain governance. This therefore means there is a dependency on the community interested in the value of TIA to ensure that a minimum price does not lead to an uncompetitive price. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could we elaborate on how using a min gas price would help with the items listed above that were described as important? or discuss how it would make the gas price more consistent? or is the discussion section supposed to be here?
we could also link some of the research and retros of the min fee in other networks such as ETH.
|
||
There are several imporant considerations regarding Celestia's fee market model: | ||
|
||
- **A Single Decentralized Seller**: While there are multiple competing buyers, the group of "validators" acting as sellers must collectively perform the computation, storage and networking that is required to produce the service. They may incur different costs in running their machines and receive different slices of the overall revenue generated (see non-linear distribution) but nonetheless must perform mostly the equivalent service. More importantly, the quality of the service is proportional to the level of decentralization of the network. More evenly weighted nodes makes the network more resilient to attacks and censorship and improves the reliability to accessing the published data. In summary, the force to continually lower costs to buyers and to remain a competitive market may reduce the amount of sellers, yet counter to this, the security and thus the quality of the service is dependent on a healthy amount of sellers. The market needs to balance this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More evenly weighted nodes makes the network more resilient to attacks and censorship and improves the reliability to accessing the published data.
we might want to distinguish between per block censorship resistance and more medium term censorship reistance. The reason being that having an even distribution of stake doesn't increase per block censorship resistance.
will give this another review soon as well after chewing and discussing it further |
I think this should be a CIP (when CIPs are implemented), as this concerns high level protocol mechanics rather than celestia-app implementation details. |
Closing this in favour of: celestiaorg/CIPs#24 |
This ADR tries to capture some of the problems and the general dynamic of Celestia's fee market between buyers (rollups) and sellers (validators).
It puts forward a preliminary design based on a global min gas price.
I have added a discussion section around extending the design with more dynamic pricing schemes
Rendered