Life is complicated and Bitcoin contracts can be too: Bitcoin Masterclasses #4 with Dr. Craig Wright
If we use Bitcoin’s nLocktime to create complex contracts, how do they handle situations where time-based transactions may conflict with each other? It’s not as much of a problem as it might seem at first, says Dr. Craig Wright in session 3 of the latest The Bitcoin Masterclasses series in London.
“Remember that Bitcoin is not just a signature system – it’s a script,” he says. Even automated payments and processes can be built to accommodate changing conditions.
Ultimately, a UTXO can only be used once, and the transaction is “locked” and recorded on the blockchain. This changes the state of the contract. As real-world actions affect scripted conditions in the contract, the script can remove certain nLocktime transactions from the process, preventing a potential double spend.
You can even deliberately build conflicting nLocktime payments into the script, with previous outcomes triggering one and eliminating the other.
Dr. Wright says that in a contract structured as a “tree” of different conditions and possibilities, it is possible to eliminate some branches or adjust trajectories, just as a video game adjusts the scenario depending on a player’s actions. He notes that computers are good at this sort of thing and can even anticipate some potential moves if they are predictable. nLocktime can handle all of this.
“If we don’t plan, we don’t have an answer.” All kinds of events can take place in the real world that can affect the outcome of a contract. One of the contractors may die or become disabled. It could be a natural disaster, terrorist attack, war or other events beyond the control of the parties. It is neither necessary nor possible to think about all potential outcomes, but a contract can still account for a wide range of them.
‘Unknown unknowns’ and other things you didn’t think of
The video game example is a good one – some of the worlds they’ve created are very complex, with thousands (or more) of players interacting every second. A contract can be similar. For the “unknown unknowns,” as Dr. Wright mentioned in the previous session, there may be a clause coded into the contract that triggers arbitration or insurance. Or it can invalidate whole parts of the contract altogether.
There is an interesting tangent from a breakout session in this section, where Dr. Wright and audience members discuss whether companies will willingly adopt an efficiency that automates complaint compensation to customers. Dr. Wright suggests that it might make them more accountable, but the public questions whether it would discourage them from implementing such a system in the first place. This is just one specific example, but it’s an excellent question to ask more broadly about introducing blockchain efficiency and transparency into how businesses and governments often operate.
No one should be daunted by the prospect of complexity and unexpected outcomes. They are part of real life. Often the most thought-provoking elements of the Bitcoin Masterclasses sessions are not part of the title or description. Future developers need to think about these too, so it’s well worth watching each session – it’s bound to be an idea you haven’t considered yet.
See: Party-to-party is revolutionary, and it’s because Bitcoin is traceable
New to Bitcoin? Check out CoinGeeks Bitcoin for beginners section, the ultimate resource guide for learning more about Bitcoin – as originally envisioned by Satoshi Nakamoto – and blockchain.