-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
qosIntended to improve quality of serviceIntended to improve quality of service
Milestone
Description
Objective
Implement consensus-based verification for critical RPC calls in Portal to ensure data reliability across multiple nodes.
Origin Document
In Pocket's decentralized environment, node quality varies.
For critical operations (e.g. wallet balances, block heights), data accuracy needs verification through multi-node consensus.
Request verification could be enabled via HTTP headers, requiring exact response matches across specified number of nodes.
Goals
- Ensure data reliability for critical RPC operations
- Allow configurable consensus requirements
- Maintain reasonable response times while verifying data
Deliverables
- Design & implement consensus verification mechanism in PATH repo
- Add HTTP header support for enabling consensus checks
- Allow configuration of required number of matching responses
- Implement response comparison logic (byte-by-byte)
- Add failure responses when consensus isn't reached
- Add metrics for verification attempts and consensus rates
Non-goals / Non-deliverables
- Implementing consensus for non-critical endpoints
- Building complex voting mechanisms
- Adding verification for non-RPC calls
General deliverables
- Comments: Document verification logic and configuration
- Testing: Add unit tests for consensus mechanism
- Documentation: Update Portal docs with verification details
- Makefile: Add targets for testing consensus functionality
Creator: @bulutcambazi
Co-owner: @Olshansk @fredteumer
Metadata
Metadata
Assignees
Labels
qosIntended to improve quality of serviceIntended to improve quality of service