You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There will be some deadline $\Delta$ before $T_{proposal}$ at which the last preconfirmation can be made. This is because we need to allow some time in the block construction pipeline for everything to work smoothly, especially with PBS.
This results in a period of $\Delta$ where no preconfirmations can be accepted. One could forward them to the next preconfirmer, but because we don't know what their pre-state is going to be until the full previous block has been proposed, this is quite risky (unless they can agree on some "unsafe" state), and they can be at risk of equivocation due to assuming a wrong pre-state.
Consistent reads on preconfirmed state
When we do state preconfirmations, we effectively create the equivalent of rollup "unsafe" state that doesn't really have a consistent read primitive until the associated block is proposed (https://x.com/gakonst/status/1802513917845061632)
As mentioned above, there could be a large time gap between the preconfirmations and their block, which might require us to switch preconfirmers at deadline time instead of at proposal time
For that, multiple parties need to be up-to-date on the latest committed-to state in order to know their pre-state
Can initially probably be solved by a custom RPC node, but might need to be more decentralized & fault-tolerant in the future
Something like Raft should work, leader just broadcasts their commitment log to followers & everyone agrees on resulting state
We want to penalize proportional to impact, and unfortunately with preconfirmations, the impact of a liveness fault can be the same as the impact of a safety fault: a broken promise that could have a lot of negative downstream effects
If a preconf is a private contract backed by some stake of a single proposer, how do we ensure the proposer isn't making 1000s of promises way exceeding their economic security and then equivocating on them all?
Is this a real problem?
Somewhat solved by broadcasting the preconfs publicly
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Clean transition between subsequent preconfirmers
Consistent reads on preconfirmed state
Slashing for liveness faults
Runaway faults (double spending economic security)
Beta Was this translation helpful? Give feedback.
All reactions