aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-04-17 10:48:41 +0800
committerJimmy Hu <jimmy.hu@dexon.org>2019-04-17 10:48:41 +0800
commit8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6 (patch)
tree54fb27e771983299b876adc5ea01f469a7e78b10
parentf24d837ef261b348bcb52c4ffc8c71a86f7c0faa (diff)
downloaddexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar.gz
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar.bz2
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar.lz
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar.xz
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.tar.zst
dexon-wiki-8e3bbb89ded619aeffc9a9e462df9d1d301fe8e6.zip
Updated Configuration Change (markdown)
-rw-r--r--Configuration-Change.md39
1 files changed, 10 insertions, 29 deletions
diff --git a/Configuration-Change.md b/Configuration-Change.md
index 13cb6d7..f72129b 100644
--- a/Configuration-Change.md
+++ b/Configuration-Change.md
@@ -1,33 +1,14 @@
# Configuration Change
## Overview
-The configuration for DEXON is round based configuration, which is allowed to be changed and applied in upcoming rounds on the fly without shutdowning/forking the system. Configurable parameters including:
-- NumChains: the number of chains in blocklattice.
-- K: the `K` parameter used in total ordering algorithm.
-- PhiRatio: the `Phi` parameter used in total ordering algorithm with this equation: `Phi = NumChains * PhiRation`.
-- NotarySetSize: the number of nodes in one notary set for one chain.
-- DKGSetSize: the number of nodes in DKG set.
-- RoundInterval: the interval for this round.
-- MinBlockInterval: the minimum interval of timestamps between blocks on the same chain.
-
-## Configuration Change for Byzantine Agreement
-The round for agreement module on each chain is unique. Therefore, the only configuration change needs to be handled in this module is adding new chains.
-
-## Configuration Change for Blocklattice
-There would be blocks from multiple rounds in blocklattice at the same time. Thus the simplest way to make it supports various numbers of chains is to make it support the maximum number of chains. The blocklattice module would resize its internal structure to fulfill the largest number of chains it sees.
-
-## Configuration Change for Total Ordering
-We can't tolerant more than one set of parameters (K, Phi, NumChains) in this module, they are basis for the potential functions used in total ordering thus should be global and unique in total ordering module. The configuration switching procedure used in DEXON for total ordering is `Flush`.
-
-### Flush Procedures
-- When there are configuration change at round `R+1`, the `flush setup procedure` would be triggered when the first **ending block** on some chain for round R is delivered by total ordering.
-- Once `flush setup procedure` triggered, no blocks would be delivered until all **ending blocks** for round R on each chain is received by total ordering module. Once this condition is met, the total ordering would enter `flush main procedure`.
-- In `flush main procedure`, all blocks in round `R` would be delivered directly in topological order based on their acking relationships. Blocks at round `R+1` would be skipped during flush. Since the acking relations between blocks in different rounds are restricted, the causality between blocks is preserved.
-- Once all blocks in round `R` is flushed, the total ordering module switches back to normal delivery mode, that is, delivered by total ordering algorithm.
-
-### Rules for acking relations for blocks between rounds
-No block in round R should ack blocks in future round (R+1, R+2, ...), even if their are proposed earlier. This rule is required because:
-- We would deliver blocks without rounds interleave when flushing, to maintain the causality between blocks, all blocks delivered ealier should not ack blocks delivered later.
-- Blocks in R+1 round might be picked as candidates when flushing. We would ignore those candidates from R+1 directly, based on the causality preserved by this rule.
-
+The configuration for DEXON is round based configuration, which is allowed to be changed and applied in upcoming rounds on the fly without shutting down or forking the system.
+Each configuration will become effective two rounds after updating. Configurable parameters including:
+- MinStake: minimum stake required for becoming a bp.
+- LockupPeriod: time required for funds available for withdrawing after unstake.
+- MinGasPrice: minimum gas price.
+- LambdaBA, LambdaDKG: period for each step for DEXON Byzantine Agreement and DEXON DKG protocol.
+- NotaryParamAlpha, NotaryParamBeta: parameter for calculating notary set size. Refer to [Selection of notary set size](Selection-of-the-notary-set-size.md).
+- RoundLength: the number of blocks in a round.
+- MinBlockInterval: the minimum interval of timestamps between blocks on the blockchain.
+- FineValues: penalty for not following protocol. Refer to [Rule for the DEXON node set](Rule-for-the-DEXON-node-set.md).