Skip to main content

Table 2 SLVP Protocol

From: A PLS blockchain for IoT applications: protocols and architecture

Block Transmit Verification BC Action
i0 P1=H(N1) Out of Band (Enrolment)  
i1 \(\phantom {\dot {i}\!}S_{1}=\mathbf {E}_{N_{1}} (H(M_{1})\oplus H(N_{2}))\)   
i2 L1||V1=H(N2)N1 || H(H(N2)||N1)   
... ... ... ...
in Pk=H(Nk) ... post Pk
in+1 \(\phantom {\dot {i}\!}S_{k}=\mathbf {E}_{N_{k}} (H(M_{k})\oplus H(N_{k+1}))\)   
in+2 Lk||Vk=H(Nk+1)Nk || H(H(Nk+1)||Nk)   
in+3 Pk+1=H(Nk+1) Fetch latest P=Pk from block B=in  
   Set failed=true  
   for LV: B<#(LV)<in+3  
   if H(LPk+1)≠P, continue  
   set N=LPk+1  
   if H(Pk+1||N)=V  
   failed=false; break  
   if failed, exit ignore Pk+1
   for LV: B<#(LV)<#(LV)  
   if V=H(LN||N), exit ignore Pk+1
   for all S: B<#(S)<#(LV)  
   determine HM=DN SPk+1  
   send to CAS: (k,UID,HM,α(LV),α(S)) post Pk+1
   exit  
  1. Assume bitwise exclusive-or to have a higher priority than concatenation ||. #(x) is the number of the block in which record x is located, and α(x) is the record’s unique ID (address). The sequence of block numbers is in strictly increasing order: i0<i1<i2<...