Deploying smart contracts
Smart contracts may or may not be deployed on a blockchain, but it makes sense to do so on a blockchain due to the security and decentralized consensus mechanism provided by the blockchain. Ethereum is an example of a blockchain platform that natively supports the development and deployment of smart contracts. We will cover Ethereum in more detail later in this book, in Chapter 11, Ethereum 101. Smart contracts on an Ethereum blockchain are typically part of a broader DApp.
In comparison, in a Bitcoin blockchain, the transaction timelocks, such as the nLocktime
field, the CHECKLOCKTIMEVERIFY
(CLTV), and the CHECKSEQUENCEVERIFY
script operator in the Bitcoin transaction, can be seen as an enabler of a simple version of a smart contract. These timelocks enable a transaction to be locked until a specified time or until a number of blocks, thus enforcing a basic contract that a certain transaction can only be unlocked if certain conditions (elapsed time...