Bitcoin’s CHECKSEQUENCEVERIFY : What is it, and why is it relevant?
The latest development in the Bitcoin ecosystem appears to be the source of some confusion within the community, with some Bitcoin users experiencing misinformation regarding the actual purpose of the changes. Bitcoin developers have been discussing the proposed changes for some time and describe both the motivation for the changes, and the implementation in some detail here.
To put it simply, CSV, or CHECKSEQUENCEVERIFY is a new opcode for use within the Bitcoin scripting system, essentially it is an amended version of an existing opcode known as NOP3. Bitcoin scripting provides a system which enables a variety of different parameters to be required before transferred bitcoins may be spent. A typical transaction between two parties has two requirements that must be fulfilled before its output is spendable; the public key must correspond to the destination address, and match the private key signature. Bitcoin scripts can also be used to require multiple signatures before a transaction is valid, or even no signature at all!
Bitcoin Improvement Proposal 112 (BIP112), in conjunction with BIP 68, implements the changes which are necessary to allow time-based restrictions to be placed on the execution pathways of a script. The two BIPs outline necessary changes to the scripting system, such that an existing transaction field known as nSequence can be utilised as a time-keeping parameter. CHECKSEQUENCEVERIFY is a new script execution pathway that won’t allow a transaction to be included in a block, until the newly available nSequence time parameter reaches the specified age.
As of Bitcoin Core 0.12.1, the soft fork deployment for both BIP 68 and BIP 112 has been included in the software, using the mechanism for deployment established by BIP9.
The changes will be an important step towards the realisation of a number of highly anticipated developments to the Bitcoin network. They are the changes to the fundamental Bitcoin protocol which facilitate the actualisation of a number of ideas we’ve been hearing about over the last year or so. The new scripting capabilities can be utilised to extend the idea of bi-directional pegs and will be vital in creating the network infrastructure for off-chain transactions. These such developments are purported to be the answer to increasing fees and limited block space for transactions on the main Bitcoin blockchain, as the bi-directional payment channels established will facilitate low-cost, off-chain payments whilst maintaining the security and reliability of the existing Bitcoin protocol.
The CSV Opcode adjustments were facilitated in part by the inclusion of a mechanism for straightforward Bitcoin Script Language upgrades within “Segregated Witness”. Segregated Witness embodies a series of proposed changes to the Bitcoin software, which began life as a solution to the long-standing issue of transaction malleability, and has since evolved in to a more significant collection of tweaks to the Bitcoin software with the aim of seriously improving scalability. When fully activated, SegWit will serve to provide additional block space due to the nature of changes to the underlying Bitcoin protocol. Since the original announcement of SegWit back in December, there has been a huge testing process, as the Bitcoin Core developers are understandably cautious with changes to the international Bitcoin network which is worth billions in dollars. However, the soft fork software was launched in May and is now being used on the network.
Off-chain transactions and payment channels have been a popular point of interest for the Bitcoin community over the last couple of years. There has been a great deal of discussion and progress behind-the-scenes between developers and Bitcoin enterprise regarding the future of Bitcoin and the looming question of scalability. Off-chain transactions are likely to play a significant role in the future of the network, and there appears to be a growing consensus that this is the right direction for the Bitcoin ecosystem to continue to grow and handle increasing transaction volumes. The alternative means of transacting using the Bitcoin network will be a welcome development and should have the effect of driving forward further innovation using the solid basis provided by the Bitcoin blockchain.
Ultimately, BIP68 and 112 are relatively uninteresting to the average user and the implementation is quite complex for those who aren’t already familiar with the Bitcoin scripting system. However, the future they promise to be a step towards, has exciting potential for all types of Bitcoin user.