Step 1: Create a payload with the name you want to register plus the zone file hash you want to tag it with plus a salt.
Step 2: Create a fresh unused bitcoin address and symmetrically encrypt the payload with the public key of that address.
Step 3: Send a transaction with the payload in the OP_RETURN field and with a small amount of Bitcoin going to the fresh address.
Step 4: Spend the output of the fresh address to reveal the public key of the address AKA the symmetric decryption key of the payload.
Step 5: The Blockstack nodes will see the two transactions and will be able to decrypt the name registration and name update information.
cc @jude @aaron @muneeb