That article didn't explain the details of how it works, but a simple approach would be to encrypt the bitcoin privkey using the cardano pubkey (from person #1) & post it to the bitcoin blockchain.
Cardano person #1 then has the BTC privkey, can pass it to someone else and then they can move the coins.
I guess the ZK stuff is to prevent multiple people from having that BTC privkey. It'd be interesting to see the details on how they stop a race among the cardano users to move the coins. Presumably they achieve this...