Spezifikationsparameter der Paritätskette: durationLimit

Was ist die Definition des Parameters „durationLimit“ der Paritätskettenspezifikation?

Antworten (1)

Dies ist mehr oder weniger eine direkte Kopie eines der wichtigsten Ethash-Parameter in Geth.

In Geth ist es definiert als :

DurationLimit          = big.NewInt(13)                    // The decision boundary on the blocktime duration used to determine whether difficulty should go up or not.

Dies ist im Grunde die Grenze, an der die Schwierigkeit angepasst wird, um eine konstante Blockzeit aufrechtzuerhalten (entweder nach oben oder nach unten, abhängig von der vorherigen Blockzeit).

if bigTime.Sub(bigTime, bigParentTime).Cmp(params.DurationLimit) < 0 {
    diff.Add(parent.Difficulty, adjust)
} else {
    diff.Sub(parent.Difficulty, adjust)
}

Es ist an vielen Stellen im Paritätscode definiert, und ich habe Mühe herauszufinden, welcher der wahre Wert ist und welcher nur Testcode ist. Die meisten von ihnen sind auf eingestellt 0x0d, was 13 Sekunden entspricht. Dies wäre der Startpunkt für die Blockzeit in einem neuen Netzwerk, bevor Änderungen durch "schwierige Anpassungs"-Algorithmen (z. B. Ice Age usw.) vorgenommen würden.

Ja, ich kämpfe auch damit, genau herauszufinden, was was in Parity ist. Ich stimme der Definition in Geth zu. Aber Parity verwendet manchmal andere Begriffe. Außerdem verstehe ich den Unterschied zwischen diesem Konzept und dem von "difficultyBoundDivisor" nicht, aber das ist eine andere Frage.