Skip to content

fetching

dabasov edited this page Oct 27, 2021 · 2 revisions
requestor entity how was requested processed validation
SetupX2MRequestors
MinerNotarizedBlockRequestor *block.Block miners threshold (2/3), take first by hash
BlockStateChangeRequestor *block.StateChange miners threshold (2/3), take first rsc.Block != b.Hash; b.ClientStateHash, rsc.Hash; root == nil
PartialStateRequestor *state.PartialState miners threshold, take first bytes.Compare(key, rps.Hash); root == nil
StateNodesRequestor *state.Nodes miners,sharders threshold, take first -
SetupX2SRequestors
LatestFinalizedMagicBlockRequestor *block.Block all sharders, take all -
FBRequestor *block.Block all validate all blocks
SetupM2MRequestors
DKGShareSender *bls.DKGKeyShare distinct node validate
ChainStartSender *StartChain distinct -
SetupM2SRequestors
MinerLatestFinalizedBlockRequestor *block.Block all sharders validate
BlockRequestor - - -
SetupS2SRequestors
LatestRoundRequestor - - -
RoundRequestor *round.Round all sharders, take first only formal
BlockRequestor *block.Block distinct validate
BlockSummaryRequestor *block.BlockSummary all sharders, take first -
RoundSummariesRequestor *RoundSummaries all sharders, take first -
BlockSummariesRequestor *BlockSummaries all sharders, take first -
number of reqs 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
probability of consensus for 1/3f 66 74 80 83 87 89 91 93 94 95 96 97 98 98 98 99 99
probability of consensus for 1/4f 74 84 90 93 95 97 98 99 99 99 99 99 99 99 99 100 100
probability of consensus for 1/5f 79 89 94 97 98 99 99 99 99 99 99 100 100 100 100 100 100