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

Extended Block Metadata #350

Open
hai-rise opened this issue Sep 14, 2024 · 2 comments
Open

Extended Block Metadata #350

hai-rise opened this issue Sep 14, 2024 · 2 comments
Assignees

Comments

@hai-rise
Copy link
Contributor

hai-rise commented Sep 14, 2024

Block builders and executors can inspect each transaction's final read and write set for valuable metadata that
improves downstream execution speed.

  • Transaction Dependency Graph: Syncing nodes can fork-join block execution according to a transaction
    dependency graph. Each parallel fork executes a chain of dependent transactions sequentially. All forks join at the end
    for post-processing. This optimal process yields no state conflict and re-execution. A single full-block validation at
    the end confirms the execution result.

  • Read Memory Locations: Syncing nodes can concurrently preload to-be-read memory locations to avoid blocking
    I/O during transaction execution.

  • Blacklisting: Malicious metadata like enormous read memory locations can significantly slow down or even crash
    syncing nodes. Therefore, syncing nodes must have strict bounds while parsing and blacklist nodes that provide bad
    metadata, either to not receive more blocks or to not process extended metadata from them. Sensitive nodes can go
    further by only whitelisting trusted nodes. Nevertheless, if the full-block validation fails after executing with a dependency graph, the syncing node can still fall back to optimistic execution.

Before committing to a full implementation & RISE Stack integration, we should do a quick PoC and benchmark how much speedup we gain when executing blocks with a pre-provided dependency graph.

@galaio
Copy link

galaio commented Nov 4, 2024

Hi @hai-rise , the BEP-396 from BSC has introduced a "TxDAG" for PEVM to accelerate block execution, maybe it can give some inspiration to rise.😁

bnb-chain/BEPs#396

@hai-rise
Copy link
Contributor Author

hai-rise commented Nov 4, 2024

@galaio Looks awesome, thank you for sharing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants