$ORIGIN, @ and blank Substitution
From: https://www.zytrax.com/books/dns/apa/origin.html





$ORIGIN, @ and blank Substitution
The symbol @ is used in BIND to denote zone root (which is sometimes also
called the zone apex. The value substituted for @ is either:




Blank Substitution Blank labels are a little messy and the substitution here is the last valid name (or label) or $ORIGIN if there are no previous names (labels). To illustrate blank name substitution:
; example.com zone file fragment 
; no ORIGIN directive
@ IN SOA ns1.example.com. hostmaster.example.com. (
 2003080800 ; se = serial number
 172800 ; ref = refresh = 2d
 900 ; ret = update retry = 15m
 1209600 ; ex = expiry = 2w
 3600 ; min = minimum = 1h
 )
....
 IN NS ns1.example.com. 
; the blank label in the NS substitutes example.com.
; Confusingly the whole definition could use blank substitution 
; as shown below which is functionally equivalent to above
; example.com zone file fragment 
; no ORIGIN directive
 IN SOA ns1.example.com. hostmaster.example.com. (
 2003080800 ; se = serial number
 172800 ; ref = refresh = 2d
 900 ; ret = update retry = 15m
 1209600 ; ex = expiry = 2w
 3600 ; min = minimum = 1h
 )
....
 IN NS ns1.example.com.
Finally, to illustrate other uses of blank substitution see the following:
; zone file fragment for example.com.
...
; following two A RRs both have a label of www.example.com.
www IN A 192.168.2.3
 IN A 192.168.2.4
; this could have also been written as shown if less confusing
www IN A 192.168.2.3
www IN A 192.168.2.4