Bitcoin script is a scripting system for transactions using Bitcoin. Bitcoin script is a simple stack-based processing script that is processed from left to right. It is intentionally not Turing-complete and does not contain any loops. A Bitcoin cript is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them. The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide: a public key that, when hashed, yields destination address D embedded in the script; and a signature to prove ownership of the private key corresponding to the public key just provided.