Research Article

Blockchain-Based DNS Root Zone Management Decentralization for Internet of Things

Algorithm 4. DataValidation().

Input:
  CurDomainTxn
Output:
  bool
1: if A certain field in CurDomainTxn has an invalid value
then
2:  return false
3: end if
4: / check if the values conform to DNS/DNSSEC protocol /
5: if CurDomainTxn.[NAME/CLASS/TTL/TYPE/RDATA] do not conform to DNS protocol specification then
6:  return false
7: end if
8: if CurDomainTxn.RRSIG do not conform to DNSSEC protocol specification then
9:  return false
10: end if
11: DelegationTxn = CurDomainTxn.PrevTxn
12: / check signature of CurDomainTxn /
13: if DelegationTxn!=∅; then
14:  verify_key = DelegationTxn.AuthKey
15:  sig = CurDomainTxn.TxnSignature
16:  if VeriSig(verify_key, sig) != true then
17:   return false
18:  end if
19:  if DelegateVerification(DelegationTxn) == false then
20:   return false
21:  end if
22: end if
23: return true
Algorithm 4. DataValidation().