At its core, bitcoin is about giving users better control of their money.
Often called "programmable money", bitcoin has scripts that limit how future bitcoin transactions can be spent (and that control variables like who can spend them). One such script ensures the correct person is spending the bitcoin by checking if the correct signature was used before unlocking and sending the funds. This week, Blockstream core tech developer Russell O'Connor revealed he's been testing a couple of new scripts on an Elements Alpha sidechain (which is pegged to the bitcoin testnet) that could add new functionality.
Called "covenants", the new style of scripts potentially opens up possibilities for how bitcoin users can control, or restrict, spending of their money — possibly for their protection. (This is an idea that was previously explored by researchers Malte Möser, Ittay Eyal, and Emin Gun Sirer). One use case for these scripts is to help users rein in their coins in the case of a hack (an all too common occurrence in bitcoin).
When asked what he thinks of the new covenant work, Eyal said it was potentially a boon to bitcoin users who may be worried about losing their bitcoins or otherwise having them compromised or stolen.
Extending bitcoin's scripts
The idea is notable as a script that can limit how bitcoins can be spent hasn't been implemented in bitcoin before, a fact noted by Eyal.
In particular, there are two new covenant scripts that Blockstream explored, each of which take parameters and outputs whether the script is valid, or whether or not the transaction is currently spendable based on its restrictions.
It's worth noting that bitcoin's scripting system is currently quite simple for security's sake. There aren't limitless rules in bitcoin right now because new additions can be potentially dangerous and developers note that they take time to test.
This is where sidechains may come in handy, although they are not yet pinned to the main blockchain.
Bitcoin startup Blockstream has been working on these interoperable blockchains for experimenting with new features that could potentially be added to bitcoin since June of last year, and this is an example of how these new chains can be used to test new features.
These new proposed opcodes may work as the foundations for new functionalities, ones that could even come to help stop bitcoin exchanges and users from losing stolen funds.