mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Check consensus hash consistency (RIPD-1456):
These changes use the hash of the consensus transaction set when characterizing the mismatch between a locally built ledger and fully validated network ledger. This allows detection of non-determinism in transaction process, in which consensus succeeded, but a node somehow generated a different subsequent ledger.
This commit is contained in:
@@ -88,6 +88,7 @@ public:
|
||||
signed before sharing with other nodes.
|
||||
|
||||
@param ledgerHash The hash of the validated ledger
|
||||
@param consensusHash The hash of the consensus transaction set
|
||||
@param signTime When the validation is signed
|
||||
@param publicKey The current signing public key
|
||||
@param nodeID ID corresponding to node's public master key
|
||||
@@ -97,6 +98,7 @@ public:
|
||||
|
||||
STValidation(
|
||||
uint256 const& ledgerHash,
|
||||
uint256 const& consensusHash,
|
||||
NetClock::time_point signTime,
|
||||
PublicKey const& publicKey,
|
||||
NodeID const& nodeID,
|
||||
@@ -114,9 +116,14 @@ public:
|
||||
return emplace(n, buf, std::move(*this));
|
||||
}
|
||||
|
||||
// Hash of the validated ledger
|
||||
uint256
|
||||
getLedgerHash() const;
|
||||
|
||||
// Hash of consensus transaction set used to generate ledger
|
||||
uint256
|
||||
getConsensusHash() const;
|
||||
|
||||
NetClock::time_point
|
||||
getSignTime() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user