0

I'm trying to determine a safe number of blocks to wait for events emitted from a transaction. With proof of stake, it seems the answer would be when two-thirds of the validators have attested to the validity of the block that includes those events.

The event data will go to a database, and the front end will pull the data from the database. It terms of user experience, it is ideal to minimize the waiting time to display event data. Yet if the wait is too short there is a risk that the data will come from a block that ultimately does not get finalized.

The question is this: how many blocks should pass before a targeted block can be considered reliable for providing data to a database and front end?

1 Answer 1

1

You want to have approximately 64-95 slots (~15 mins) to have passed before a targeted slot can be considered finalized.

See:

https://notes.ethereum.org/@vbuterin/single_slot_finality

https://www.alchemy.com/overviews/ethereum-commitment-levels

2
  • Thanks for the links--those are what prompted my question. If a user has to wait 15 minutes to have reliable data from a transaction presented on a front end, it would not make for a good experience. I am curious to know if that time period can be reduced without sacrificing reliability. Oct 28, 2022 at 3:06
  • I don’t believe so for PoS Ethereum. If the time period is reduced, the slots may not have been finalized. This is enforced based on this blockchain protocol. If you want a shorter time period, you may have to look for another blockchain protocol that uses epochs because blockchain protocols that utilize epochs vary in what time period defines an epoch. Oct 28, 2022 at 3:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.