Files
rippled/src/ripple/validators
Vinnie Falco df54b47cd0 Tidy up includes and add modules to the classic build:
An alternative to the unity build, the classic build compiles each
translation unit individually. This adds more modules to the classic build:

* Remove unity header app.h
* Add missing includes as needed
* Remove obsolete NodeStore backend code
* Add app/, core/, crypto/, json/, net/, overlay/, peerfinder/ to classic build
2015-01-05 13:35:57 -08:00
..
2014-12-19 11:00:23 -08:00
2014-12-19 11:00:23 -08:00
2013-11-15 11:29:45 -08:00

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.