Transaction is accepted -> appeal. Instead of adding N + 2 validators to process the appeal, use the following formula.
add N + 2 validators, when appealFailed=0
add (2 appealFailed N + 1) + 2 validators, when appealFailed>0
appealFailed will be initialised at 0 and will be set to 0 when the appeal is successful.
Add appealFailed variable to the transaction model.
Example: Transaction goes to accepted. Appeal requested. Set P of N + 2 validators selected. Appeal fails. Appeal requested again. Set Q of (2 N + 1) + 2 validators selected. Note that Q = [P + (N + 1) selected validators]. Appeal fails. Appeal requested again. Set R of (4 N + 1) + 2 validators selected. Note that R = [Q + (2 * N) selected validators]. Appeal fails. Appeal requested again. Set S of (6 N + 1) + 2 validators selected. _Note that S = [R + (2 N) selected validators]._ etc.
Transaction is accepted -> appeal. Instead of adding N + 2 validators to process the appeal, use the following formula.
Add appealFailed variable to the transaction model.
Example: Transaction goes to accepted. Appeal requested. Set P of N + 2 validators selected. Appeal fails. Appeal requested again. Set Q of (2 N + 1) + 2 validators selected. Note that Q = [P + (N + 1) selected validators]. Appeal fails. Appeal requested again. Set R of (4 N + 1) + 2 validators selected. Note that R = [Q + (2 * N) selected validators]. Appeal fails. Appeal requested again. Set S of (6 N + 1) + 2 validators selected. _Note that S = [R + (2 N) selected validators]._ etc.