-
Notifications
You must be signed in to change notification settings - Fork 142
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
Auction for future chunk space #476
Comments
@ilblackdragon a few questions on this:
|
I worked out some more details on how auction for chunk space could work: Prioritized Chunk Space Auction Overview A bid for auction is in the following form pub struct AuctionAction {
price: Balance,
block_height: BlockHeight,
duration: u64,
} It means that the signer wants to bid for the chunk space in [block_height, block_height + duration) and the price means the auction price per chunk space. An auction either wins an entire chunk or does not win anything, i.e, the priority space of a chunk is not further dividable. This allows us to push auctions on the transaction level offchain and simplify the protocol level implementation. There is a protocol constant T which specifies the auction window, i.e, at every block h, chunk spaces in [h + 1, h + T] are auctionable. At the start of block h (or the end of block h-1), the auction winner for block h is computed based on the maximum bid. Note that even though the Economics Implementation
|
I may not have a full understanding of Bowen's proposal, but there can be some sub-optimal user experiences.
|
@walnut-the-cat it is not users who will care about this. Entities participate in auctions should be service providers with sophisticated setup that allows them to track the chain very closely and they will then auction the space off to regular users. That experience can just be built into wallets. |
When you say service providers, do you refer to contract developers? |
No they are service providers who specialize in running auctions and they provide this as a service to developers and users. How exactly they do it is their own concern. |
I see. so this is somewhat of an add-on feature that can be leveraged by developers. Then do we expect these service providers to naturally emerge once we start supporting this usecase? Or should we look for potential partners? |
I think it will be a combination of both. |
Closing this and replacing it with #532. This is too complex and requires additional actors, complex mapping logic which shards are going to be touched in the future. |
This is idea on building prioritization for multi-shard transactions.
TLDR: auction off chunk space in the future, allowing a single party that won auction to prioritize across multiple shards in the near future
Motivation
Transactions which are all touch multiple different shards don't have a very effective way to be prioritized across multiple different shards.
Proposal
There is a constant auction running for (T; T + K] blocks in the future, where T is current block number and K is auction window.
Third parties (off-chain) can bid on a set of {(blocknumber, shard_id, price)} tuple, where each individual (blocknumber, shard_id) tuple has individual auction.
On auction completion, it's known which account id has won which set of future chunks. This account's submitted (
signer_id
) receipts are getting prioritized in the given chunks.Pros:
Open Questions
The text was updated successfully, but these errors were encountered: