* Rename unity files * Move some modules to new subdirectories * Remove obsolete Visual Studio project files * Remove obsolete coding style and TODO list
Validators
The Validators module has these responsibilities:
- Provide an administrative interface for maintaining the list Source locations.
- Report performance statistics on Source locations
- Report performance statistics on validators provided by Source locations.
- Choose a suitable random subset of observed Validators to become the Chosen Validators set.
- Update the Chosen Validators set as needed to meet performance requirements.
Description
The consensus process used by the Ripple payment protocol requires that ledger hashes be signed by Validators, producing a Validation. The integrity of the process is mathematically assured when each node chooses a random subset of Validators to trust, where each Validator is a public verifiable entity that is independent. Or more specifically, no entity should be in control of any significant number of validators chosen by each node.
The list of Validators a node chooses to trust is called the Chosen Validators. The Validators module implements business logic to automate the selection of Chosen Validators by allowing the administrator to provide one or more trusted Sources, from which Validators are learned. Performance statistics are tracked for these Validators, and the module chooses a suitable subset from which to form the Chosen Validators list.
The module looks for these criteria to determine suitability:
- Different validators are not controlled by the same entity.
- Each validator participates in a majority of ledgers.
- A validator does not sign ledgers that fail the consensus process.
Terms
| Chosen Validators | A set of validators chosen by the Validators module. This is the new term for what was formerly known as the Unique Node List. |
| Source | A trusted source of validator descriptors. Examples: the rippled configuration file, a local text file, or a trusted URL such as https://ripple.com/validators.txt. |
| Validation | A closed ledger hash signed by a validator. |
| Validator | A publicly verifiable entity which signs ledger hashes with its private key, and makes its public key available through out of band means. |