Bitcoin actually uses a stack-based language in each transaction to specify what a spender has to do to spend funds. Typically, it's that the spender must has a private key matching the receiving address (public key). However, you can always specify something that is impossible for anyone to ever to validate.