Research Article

Blockchain-Based Authentication Scheme with an Adaptive Multi-Factor Authentication Strategy

Algorithm 1

The election algorithm of LRaft.
Input: The nodes participating in consensus , the number of nodes , follower node set , Candidate set , Timeout_Max
Output: Leader
Initialization:
//Initializing the blockchain and flags for follower nodes and candidate nodes
(a)For follower node in F, . For candidate node in , .
(b)For node in , set the initial
Procedure:
while receive request from user or detect the failure of Leader do:
  //Start new election
 (I) For candidate nodes:
  for ;
   Set timeout ()
  //Election timeout occurs, candidate nodes invite votes to win the election
  if timeout do:
   RequestVote
  end if
 (II) For follower nodes:
  while ReceiveRequestVote do:
   //Check whether the candidate node is legitimate and has the latest blockchain status
   if in anddo:
    SendVote
   else do:
    RefuseVote();
   end if
 (III) For leader node:
  if winElection() do:
   //The Leader node performs the block generation operation.
   BecomeLeader
   
   GenerateNewBlock()
   SendCommitMessage()
  end if
end while
return Leader