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

SIMD-0052: Add Receipt Root to Bankhash #52

Open
wants to merge 71 commits into
base: main
Choose a base branch
from

Conversation

anoushk1234
Copy link
Member

This SIMD is the first step towards implementing a light/diet client for Solana as described in #10 and
and also completes the implementation of SPV. This would ensure that users don't have to trust their RPCs and can instead directly trust the staked nodes.

@anoushk1234 anoushk1234 changed the title SIMD-0052: Add Transaction Proof and Block Merkle for Light Clients SIMD-0052: Add Receipt Root to Bankhash Aug 5, 2023
@aeyakovenko
Copy link

aeyakovenko commented Aug 8, 2023

If we want a succinct proof that the majority computed an invalid output we need the receipt to contain the input account version for all the accounts. read and write.

Account version is the number of txs that had this account with a write. Then it would be easy to prove if the majority used a old version, or if the output was incorrectly computed.

@anoushk1234
Copy link
Member Author

anoushk1234 commented Aug 9, 2023

If we want a succinct proof that the majority computed an invalid output we need the receipt to contain the input account version for all the accounts. read and write.

Account version is the number of txs that had this account with a write. Then it would be easy to prove if the majority used a old version, or if the output was incorrectly computed.

@aeyakovenko I like the idea of having a succinct proof but as discussed, this should be a separate proposal and change.

@aeyakovenko
Copy link

@anoushk1234 what is the performance impact of adding the status code into the current labs merkel tree computation for the bank hash?

@anoushk1234
Copy link
Member Author

@anoushk1234 what is the performance impact of adding the status code into the current labs merkle tree computation for the bank hash?

@aeyakovenko We did some benchmarks, so calculating a root for 1 million receipts using the labs merkle tree takes ~ 344ms - 397ms depending on the machine.

Given that we will see other parts of the client bottleneck before we reach 1 million txns and leaves this seems reasonable, in the future we can do a rust implementation of fd_bmtree to further optimize this if necessary.

@aeyakovenko
Copy link

should this be closed since #64 is merged? @anoushk1234

@anoushk1234
Copy link
Member Author

should this be closed since #64 is merged? @anoushk1234

@aeyakovenko 64 only defines the receipt data structure, 52 adds it to the bankhash.

@0xSol 0xSol added the stagnant label May 23, 2024
@0xSol
Copy link

0xSol commented May 23, 2024

Per current SIMD process, If a proposal reaches 6 months without activity, the proposal will be marked as stale to be closed. A new proposal can be opened if the proposal is closed and has a chance of reaching consensus. Will wait until next week to close if no additional updates.

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

Successfully merging this pull request may close these issues.

None yet

8 participants