github.com/aakash4dev/cometbft@v0.38.2/spec/light-client/verification/MC4_4_faulty_drifted.tla (about) 1 ---------------------- MODULE MC4_4_faulty_drifted --------------------------- 2 3 AllNodes == {"n1", "n2", "n3", "n4"} 4 TRUSTED_HEIGHT == 1 5 TARGET_HEIGHT == 4 6 TRUSTING_PERIOD == 1400 \* two weeks, one day is 100 time units :-) 7 CLOCK_DRIFT == 10 \* how much we assume the local clock is drifting 8 REAL_CLOCK_DRIFT == 30 \* how much the local clock is actually drifting 9 IS_PRIMARY_CORRECT == FALSE 10 \* @type: <<Int, Int>>; 11 FAULTY_RATIO == <<1, 3>> \* < 1 / 3 faulty validators 12 13 VARIABLES 14 \* @type: Str; 15 state, 16 \* @type: Int; 17 nextHeight, 18 \* @type: Int -> $lightHeader; 19 fetchedLightBlocks, 20 \* @type: Int -> Str; 21 lightBlockStatus, 22 \* @type: $lightHeader; 23 latestVerified, 24 \* @type: Int; 25 nprobes, 26 \* @type: Int; 27 localClock, 28 \* @type: Int; 29 refClock, 30 \* @type: Int -> $header; 31 blockchain, 32 \* @type: Set($node); 33 Faulty 34 35 (* the light client previous state components, used for monitoring *) 36 VARIABLES 37 \* @type: $lightHeader; 38 prevVerified, 39 \* @type: $lightHeader; 40 prevCurrent, 41 \* @type: Int; 42 prevLocalClock, 43 \* @type: Str; 44 prevVerdict 45 46 INSTANCE Lightclient_003_draft 47 ==============================================================================