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