-
Notifications
You must be signed in to change notification settings - Fork 222
Mining Fork Branch Control
Slots serve as fork points for the ledger. A blockthread is the data structure that forms when one completes the computation. The miner needs to keep track of each blockchain fork. Each occurrence of an active fork is called a virtual machine. miners should also pick a fork from the pile of alternatives so that the network can move forward.
A miner selects a fork by getting the slot alphanode to record their vote in a slot on that fork. To ensure that they maintain the weight of their commitment, the vote makes the miner stay locked out of their node for a period of time. During the lockout period, the miner is not allowed to vote on other forks. The length of the lockout time doubles with each successive vote on the same fork. After so many votes (32 at the moment), the lockout time hits what's known as "max lockout." miners can wait out the interval between lockouts to cast another vote for a new fork. When it chooses to change course by supporting a new fork, it goes back in time to a checkpoint in order to go forward to the most recent branch of the code. Rollback depth is defined as the farthest distance a fork may roll back. Maximum lockout is achieved when enough votes have been cast to reach a "rollback depth." Votes and other activity erase the chain's capacity to move backwards. No rollback is needed because the miner will not need to go back to the point where they stored their backup image. Because all the checkpoints beyond rollback depth have been rolled back into the root checkpoint, it can prune and squash these checkpoints.