github.com/cranelv/ethereum_mpc@v0.0.0-20191031014521-23aeb1415092/consensus_pbft/params/config.yaml (about)

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