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

Add SkipBlockchain protocol to support skip blocks #182

Open
naterush opened this issue Apr 30, 2018 · 1 comment
Open

Add SkipBlockchain protocol to support skip blocks #182

naterush opened this issue Apr 30, 2018 · 1 comment

Comments

@naterush
Copy link
Collaborator

Issue

Checking if one block is "in the blockchain" (in the prev block pointer chain) of another is linear in the length of the chain. Ideally, we could check it sublinearly!

Right now we follow prevblock pointers from the higher-sequence-number-block until we hit the other block (or not). Skipblocks would make checking agreement between blocks more efficient (sublinear instead of linear)

Proposed Implementation

Add a new protocol SkipBlockchain, where messages have pointers to more than just their previous block. A block has pointers to every 2^n blocks for blocks with sequence h, such that h % 2^n == 0, then we could do it in sublinear time.

Furthermore, implement all other functions with these skip blocks in mind, taking advantage of the efficiencies they provide!

@staccDOTsol
Copy link

The proposed implementation of the SkipBlockchain protocol sounds interesting. By adding additional pointers to blocks, specifically to blocks with sequence numbers that are multiples of 2^n, we can potentially achieve sublinear time complexity when checking if one block is in the blockchain of another.

This approach would allow us to skip over a certain number of blocks in the chain, reducing the number of steps required to reach the desired block. By leveraging these skip blocks, we can improve the efficiency of various functions that rely on block agreement.

Implementing the SkipBlockchain protocol would require modifying the existing block structure to include the additional pointers. Additionally, all relevant functions would need to be updated to take advantage of the efficiencies provided by the skip blocks.

Overall, this proposal has the potential to enhance the performance of blockchain operations by reducing the time complexity of certain operations. However, it would require careful implementation and testing to ensure its effectiveness and compatibility with the existing Ethereum ecosystem.

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

No branches or pull requests

2 participants