-
Notifications
You must be signed in to change notification settings - Fork 173
/
hl_consensus_28.yaml
76 lines (59 loc) · 2.72 KB
/
hl_consensus_28.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
################################################################################
#
# PBFT PROPERTIES
#
# - List all algorithm-specific properties here.
# - Nest keys where appropriate, and sort alphabetically for easier parsing.
#
################################################################################
general:
# Operational mode: currently only batch ( this value is case-insensitive)
mode: batch
# Maximum number of validators/replicas we expect in the network
# Keep the "N" in quotes, or it will be interpreted as "false".
"N": 28
# Number of byzantine nodes we will tolerate
f: 8
# Checkpoint period is the maximum number of pbft requests that must be
# re-processed in a view change. A smaller checkpoint period will decrease
# the amount of time required to recover from an error, but will decrease
# overall throughput in normal case operation.
K: 10
# Affects the receive log size which is K * logmultiplier
# The primary will only send sequence numbers which fall within K * logmultiplier/2 of
# its high watermark, so this cannot be set to less than 2
# For high volume/high latency environments, a higher log size may increase throughput
logmultiplier: 4
# How many requests should the primary send per pre-prepare when in "batch" mode
batchsize: 500
# Whether the replica should act as a byzantine one; useful for debugging on testnets
byzantine: false
# After how many checkpoint periods the primary gets cycled automatically. Set to 0 to disable.
viewchangeperiod: 0
# Timeouts
timeout:
# Send a pre-prepare if there are pending requests, batchsize isn't reached yet,
# and this much time has elapsed since the current batch was formed
batch: 1s
# How long may a request take between reception and execution, must be greater than the batch timeout
request: 2s
# How long may a view change take
viewchange: 2s
# How long to wait for a view change quorum before resending (the same) view change
resendviewchange: 2s
# Interval to send "keep-alive" null requests. Set to 0 to disable. If enabled, must be greater than request timeout
nullrequest: 0s
# How long may a message broadcast take.
broadcast: 1s
################################################################################
#
# SECTION: EXECUTOR
#
# - This section applies to the distinct executor service
#
################################################################################
executor:
# The queue size for execution requests, ordering proceeds and queues execution
# requests. This value should always exceed the pbft log size
queuesize: 30