Skip to content
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

[Discussion] ECIP-1105: Ancestor Hash Appended Type Transactions #422

Open
meowsbits opened this issue Apr 28, 2021 · 1 comment
Open

[Discussion] ECIP-1105: Ancestor Hash Appended Type Transactions #422

meowsbits opened this issue Apr 28, 2021 · 1 comment
Assignees
Labels
editor:6 enhancement This contribution is a new feature or request. status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus.

Comments

@meowsbits
Copy link
Member

meowsbits commented Apr 28, 2021

Discussions-To for #421

Simple Summary

Defines a new transaction type with constraints on ancestor block hash, block author, and/or block timestamp maximum.

@meowsbits
Copy link
Member Author

meowsbits commented Apr 29, 2021

cc @bobsummerwill re: #421 (comment)

The general intention/big idea behind this proposal comes from a few ideas happening together.

  • Transactions (and their fees) are going to get more important for miner revenues and the whole economy as block reward revenues systematically fall (per the ECIP-1017 schedule). Developing the sophistication of transaction capacities seems meaningful in this context. And EIP-2718, via ECIP-1103, proposes a tidy, generic way for us to do just this.
  • Transactions are unilaterally agnostic about chain state; they depend on and modify chain state intrinsically (a posteriori), but have no way of describing any dependencies on chain state as parameters for their validity (a priori). (Indeed, contracts have access to certain state values, but their use demands gas and on-chain logic).
    To offer an example, we might consider a transaction interacting with a DeFi contract. The transaction author saw a whale buy an asset at price X in the latest block N. The transaction author subsequently wants to get in on the action and buys at X+1, which gets mined at block N+1. Two blocks are reorged and the whale's transaction has been replaced with a buy at a lower price Z (or omitted entirely), but our victim's buy still stands at X+1. With a restrictive chain context on ancestorId, our author can specify that her transaction is only valid if the original block remains canonical. The proposed expiry field fits in here obviously, too.
  • Currently, miners are almost entirely homogeneous from the perspective of a transaction author; there is no capacity to identify or articulate preference. Want a transaction Made in the USA ®️? At this point, this effectively requires sending your preferred miner an email (and hoping they don't turn around and sell it). In other words, chain provenance is a black box for transaction authors.
  • Miner omniscience and unchecked arbitration coupled with transaction passivity enable potentially malicious MEV (Miner Extracted Value) schemes. The capacity for transaction authors to spurn a miner (or reward an honest one) is a potentially significant tool in leveling this playing field.

It's been a long day, and I'm pooped, so I'm going to leave this at that for starters.
I hope you have questions, and look forward to tackling them together.

@gitr0n1n gitr0n1n changed the title [Discussion] ECIP-Restricted Chain Context Type Transactions [Discussion] ECIP-1105: Restricted Chain Context Type Transactions Jul 13, 2022
@gitr0n1n gitr0n1n changed the title [Discussion] ECIP-1105: Restricted Chain Context Type Transactions [Discussion] ECIP-1105: Ancestor Hash Appended Type Transactions Jul 15, 2022
@gitr0n1n gitr0n1n added editor:6 enhancement This contribution is a new feature or request. status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus. labels Jul 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editor:6 enhancement This contribution is a new feature or request. status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus.
Projects
None yet
Development

No branches or pull requests

3 participants
@meowsbits @gitr0n1n and others