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

🔷 Prototype stateless validation #9292

Closed
6 of 9 tasks
robin-near opened this issue Jul 12, 2023 · 4 comments
Closed
6 of 9 tasks

🔷 Prototype stateless validation #9292

robin-near opened this issue Jul 12, 2023 · 4 comments
Assignees
Labels
A-stateless-validation Area: stateless validation C-tracking-issue Category: a tracking issue Epic Near Core

Comments

@robin-near
Copy link
Contributor

robin-near commented Jul 12, 2023

Tasks

Preview Give feedback
  1. 0 of 5
    Longarithm pugachAG
  2. A-chain A-stateless-validation Near Core
    Longarithm
  3. 5 of 5
    Near Core
    robin-near
@walnut-the-cat
Copy link
Contributor

@walnut-the-cat
Copy link
Contributor

Sept 14th

  • Overall project timeline/roadmap is shared: link

  • Came up with several proposal to address storage performance issues before e2e implementation of stateless validation

  • Moving forward with prototyping short term solution for now while evaluating feasibility/necessity of midterm solutions

  • Requirement gathering for NEP is in progress

  • Post state root:

    • prototyping in progress (No major progress this week due to Anton’s OOO). Alex will start contributing towards this effort
  • In-memory trie:

    • Several options have been discussed to minimize additional RAM requirement for validators. Dynamic memory allocation for in-memory trie with mmap is being prototyped

@Sarah-NEAR Sarah-NEAR changed the title Prototype stateless validation 🔷 Prototype stateless validation Sep 19, 2023
@walnut-the-cat
Copy link
Contributor

[Note] The issue will stay open until stage 0 of stateless validation is complete

Sep 28th

  • Please refer to post state root project and in memory trie project for more details
  • Synced up with Jakob to get knowledge transfer for limiting state witness size

Overall October roadmap is as follows:

  • Target end state: Successful run of stateless validation MVP in localnet (without optimization)
  • Post state root: #9450
    • Code complete to unblock e2e MVP implementation of stateless validation stage 0
      • Out of scope: optimization, full test coverage
  • In memory trie: #9511
    • Complete implementation of in-memory trie
    • partial in-memory trie (ref)
  • State witness implementation for MVP (ref)
    • Generation by chunk proposer
    • Delivery over network
    • Witness validation by validator
    • Chunk endorsement by validator
    • Chunk endorsement collection by block producer
    • Out of scope: optimistic block production
  • Finalize NEP draft for post state root and schedule for SME review: ref
  • Finalize NEP draft for stateless validation stage 0: ref

Network related

  • Target end state: Robust plans for stateless validation related network projects and execution start
    • [Stretch] Complete implementation
  • Adding new message types for stateless validation
  • Data dependency bomb, including slow distribution of large chinks (ref)
  • Limiting state witness size (ref)

github-merge-queue bot pushed a commit that referenced this issue Jan 10, 2024
…alidation logic (#10381)

This fills in the ChunkStateWitness struct with real data that would be
included in a chunk state witness.

It also includes a prototype implementation for validating the
ChunkStateWitness against the chain, which includes a pre-validation
part where the ChainStore is used to retrieve necessary blocks and chunk
headers (to verify receipts and transactions against), as well as the
main validation part where transactions and receipts are applied with
the runtime.

This verification logic is untested right now because the state witness
production part is not implemented.

#9292
@tayfunelmas tayfunelmas added the A-stateless-validation Area: stateless validation label Apr 1, 2024
@Longarithm
Copy link
Member

Completed couple months ago, see near/near-one-project-tracking#5 for further progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-stateless-validation Area: stateless validation C-tracking-issue Category: a tracking issue Epic Near Core
Projects
None yet
Development

No branches or pull requests

6 participants