Research Article

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

Algorithm 1. DelegateOperation().

Input:
  op_type, auth_name, auth_key, valid_from, valid to,
  trans_policy, redempt_policy, revoke_policy, prev_txn
Output:
  DelegationTxn
1: DelegationTxn.OperationType == op_type
2: if op_type != publication then
3:  DelegationTxn.PrevTxn = prev_txn
4: end if
5: if op_type == publication then
6:  DelegationTxn.AuthName = auth name
7:  DelegationTxn.AuthKey = auth key
8:  DelegationTxn.ValidFrom = valid from
9:  DelegationTxn.ValidTo = valid to
10:  DelegationTxn.TransitionPolicy = trans policy
11:  DelegationTxn.RevocationPolicy = revoke policy
12:  DelegationTxn.RedemptionPolicy = redempt policy
13: end if
14: if op_type == transformation then
15:  if DelegationTxn.ValidTo < CurrentTime() then
16:   DelegationTxn.AuthKey = auth_key.
17:  end if
18: end if
19: if op_type == Revocation then
20:  DelegationTxn.AuthKey =∅
21: end if
22: if op_type == Renewal then
23:  DelegationTxn.ValidTo = Valid_to
24: end if
25: if op type == Redemption then
26:  if auth_key == DelegationTxn.PrevTxn.AuthKey then
27:   DelegationTxn.AuthKey = auth_key
28:   Auth.ValidFrom = valid_from
29:   Auth.ValidTo = valid_to
30:  end if
31: end if
32: DelegationTxn.TimeStamp = CurrentTime()
33: DelegationTxn.Signature = GenSig()
34: return DelegationTxn
Algorithm 1. DelegateOperation().