[QoS Feature] Consensus/quorum based auto-validation of RPC requests (customizable by # of nodes)
@fredteumer is already working on this.
Since Mar 12, 2025.
Assessment
This issue has not been assessed yet.
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
- Dominant language
- Go
- Stars
- 12
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pokt-network/path
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
pokt-network/path#509 ·
-
bug gateway
Difficulty 4/5 3-5 days Newbie friendliness 45/100
pokt-network/path#477 ·
-
config documentation evm portal-db portal-ui qos
Difficulty 4/5 3-5 days Newbie friendliness 48/100
pokt-network/path#475 · 1 comment ·
-
[RADIX][TRON][SUPPLIER] Suppliers should not have to append additional API paths in their RM configMay be free again @adshmh claimed this 382 days ago, and no pull request is open. Openqos
pokt-network/path#443 · 1 comment · 3 assignees ·
-
[PORTALDB][CONFIG] Surface sanctions settings and thresholds as configurables in both the Config files and Portal DBMay be free again @commoddity claimed this 405 days ago, and no pull request is open. Openconfig documentation portal-ui qos
pokt-network/path#409 · 1 assignee ·
All issues in pokt-network/path
Similar issues
-
bug needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
netdata/netdata#24062 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
meshery/meshery#22119 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
automation documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day