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(). |