<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Steve Haigh</title><description>CTO and engineering leader writing about post-trade automation, digital assets, financial infrastructure, and technology leadership.</description><link>https://stevehaigh.net/</link><language>en</language><copyright>Copyright 2026, Steve Haigh</copyright><lastBuildDate>Tue, 03 Feb 2026 00:00:00 +0000</lastBuildDate><generator>Hugo - gohugo.io</generator><docs>http://cyber.harvard.edu/rss/rss.html</docs><atom:link href="https://stevehaigh.net//atom.xml" rel="self" type="application/atom+xml"/><item><title>UTXO, Privacy and Why Financial Markets Need a Different Blockchain Model</title><link>https://stevehaigh.net/posts/utxo-privacy-and-why-financial-markets-need-a-different-blockchain-model/</link><description>&lt;p&gt;&lt;em&gt;Why account-based chains solve one problem, while UTXO is often better suited to provenance, confidentiality and market infrastructure.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;People still talk about blockchain as though it is one thing. It isn&amp;rsquo;t. Different blockchain systems make different trade-offs about how assets move, how state is represented, what gets shared, and how easy it is to prove what actually happened. In financial markets, those choices matter far more than the broad &amp;ldquo;blockchain&amp;rdquo; label suggests.&lt;/p&gt;
&lt;p&gt;For me, one of the most important distinctions is between account-based systems and UTXO-based systems, and I think UTXO is the better fit for markets. Account-based systems tend to model the world as a current state: who owns what now, what the balance is now, what the contract says now. UTXO systems work differently. They are built around consuming existing outputs and creating new ones, which makes state transition much more explicit.&lt;/p&gt;
&lt;p&gt;That may sound like an implementation detail, but it really is not. Financial markets are driven by events. Cash moves. Title moves. Collateral is allocated and released. Positions are adjusted. Obligations are settled. In that sort of world, it is not enough to know the current state. You also need to know how you got there. That is where UTXO starts to look very strong, because it gives you a cleaner story for lineage and provenance. One thing is consumed, another is created, and you can trace the path from one state to the next in a way that feels much closer to how financial events actually work.&lt;/p&gt;
&lt;p&gt;Account-based systems are often better suited to building applications. They are flexible, expressive and familiar to developers. But financial market infrastructure is not just an app problem. It is an evidential problem. You need to show ownership, transfer, entitlement and finality in a way that stands up when somebody asks difficult questions, whether that is an auditor, a regulator, an operator or a counterparty. UTXO is naturally good at that because it treats transitions as first-class things rather than side effects of updating a shared balance.&lt;/p&gt;
&lt;p&gt;There is then the separate question of public and private, permissionless and permissioned. People often muddle those up. A public chain is broadly visible, while a private one is not. A permissionless chain allows open participation under the rules of the network, while a permissioned one restricts participation to approved parties. Those are governance choices. UTXO is a transaction model. The two things are related, but they are not the same.&lt;/p&gt;
&lt;p&gt;That matters because people too often assume that using a public permissionless UTXO blockchain means putting business data out in the open. It does not have to. In fact, I think one of the more interesting models for financial markets is to build a privacy layer over a public permissionless UTXO blockchain. In that model, the public chain becomes a neutral truth layer for ordering, timestamping and evidencing state transitions, without carrying the underlying business data in the clear. You do not need to put trade economics, client identities, settlement instructions or sensitive counterparty information on-chain. You put commitments on-chain, not the raw facts.&lt;/p&gt;
&lt;p&gt;That is where Merkle trees, cryptography and derived keys come in. A Merkle tree allows you to commit to a structured set of data with a single root, and later prove that a particular item was included without revealing everything else. In markets, that is exactly the sort of thing you want. Selective disclosure, not full disclosure. Cryptography allows the underlying records to remain protected off-chain while still letting you prove integrity and linkage on-chain. Derived keys matter because they reduce linkability. If you derive fresh keys for different assets, transactions or workflows, you make it much harder to map activity across the entire system. In wholesale markets, that is not an optional extra. It is basic hygiene.&lt;/p&gt;
&lt;p&gt;And privacy in financial markets is not a nice-to-have. Firms cannot expose positions, counterparties, collateral movements and settlement activity to the wider world and hope for the best. That would be commercially reckless. At the same time, regulators and authorised parties may still need controlled visibility. So the design goal is not secrecy, and it is not radical transparency either. It is controlled disclosure with strong evidence.&lt;/p&gt;
&lt;p&gt;That, to me, is where UTXO starts to look more serious than the industry often gives it credit for. It gives you a disciplined way to model transitions, a strong evidential trail, and a better base for building privacy-preserving infrastructure on top of public permissionless rails. I am not saying every financial market workflow should sit directly on a public chain. That would be daft. Markets still need identity, governance, legal frameworks and operational controls. But I do think a public permissionless UTXO blockchain, with a proper privacy layer above it, is a far more interesting model than people often assume.&lt;/p&gt;
&lt;p&gt;The industry has spent years treating UTXO as yesterday&amp;rsquo;s design and account-based chains as the more sophisticated answer. I am not convinced. If your main concern is building rich on-chain applications, account-based systems are often easier. If your concern is market infrastructure, where provenance, privacy, finality and evidential integrity really matter, UTXO has a lot going for it. Possibly more than most people realise.&lt;/p&gt;</description><author>Steve Haigh</author><guid>https://stevehaigh.net/posts/utxo-privacy-and-why-financial-markets-need-a-different-blockchain-model/</guid><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate></item><item><title>Smart Contracts on Blockchain? That's Not the Same as a Contract</title><link>https://stevehaigh.net/posts/smart-contracts-on-blockchain-thats-not-the-same-as-a-contract/</link><description>&lt;p&gt;There is a habit in this industry of taking a perfectly good term, squeezing it through a narrow technical lens, and then pretending nothing got lost in the process.&lt;/p&gt;
&lt;p&gt;That is more or less what has happened with smart contracts.&lt;/p&gt;
&lt;p&gt;These days, if someone says &amp;ldquo;smart contract&amp;rdquo;, what they usually mean is on-chain code, generally in the Ethereum mould. Code is deployed to a blockchain, it executes deterministically, state changes, and that is taken to be the contract.&lt;/p&gt;
&lt;p&gt;I think that gets the wrong end of the stick.&lt;/p&gt;
&lt;p&gt;Putting code on-chain is not the same thing as representing a contract. In most cases, it is not even close. What it usually gives you is a mechanism for execution and state transition. Useful, certainly. Clever, sometimes. But that is not the same as capturing the legal, operational and economic reality of an agreement between parties.&lt;/p&gt;
&lt;p&gt;That distinction is not academic. It matters a great deal if you work in financial services, where contracts are not just chunks of logic waiting to be run, but living arrangements made up of rights, obligations, timing, events, exceptions, notices, calculations, disputes and recourse.&lt;/p&gt;
&lt;p&gt;Some of that can be automated very well.&lt;/p&gt;
&lt;p&gt;Some of it cannot.&lt;/p&gt;
&lt;p&gt;And some of it absolutely should not be confused with whatever happened to execute on a blockchain.&lt;/p&gt;
&lt;p&gt;That, for me, is where much of the modern smart contract conversation goes off the rails.&lt;/p&gt;
&lt;h2 id="the-industry-has-mistaken-execution-for-meaning"&gt;The industry has mistaken execution for meaning&lt;/h2&gt;
&lt;p&gt;The prevailing blockchain view of smart contracts tends to collapse everything into execution.&lt;/p&gt;
&lt;p&gt;If the code ran, then the contract has done its job.&lt;/p&gt;
&lt;p&gt;If the ledger updated, then the event has happened.&lt;/p&gt;
&lt;p&gt;If the network reached consensus, then the matter is settled.&lt;/p&gt;
&lt;p&gt;That might be fine for a narrow category of digital asset transfer. It is nowhere near enough for most serious contracts, and it is certainly not enough for many financial contracts.&lt;/p&gt;
&lt;p&gt;A repo is not just code.
A derivative is not just code.
A settlement obligation is not just code.&lt;/p&gt;
&lt;p&gt;These things sit inside a legal framework, an operating model and a market context. They depend on data, process, timing, fallback provisions and, from time to time, plain old human judgement. There are notices to issue, calculations to validate, events to interpret and disagreements to resolve. Anyone who has spent time around real post-trade operations knows the world is rarely as neat as the on-chain story likes to suggest.&lt;/p&gt;
&lt;p&gt;So when people say a blockchain smart contract is the contract, I think that is giving the technology too much credit and not nearly enough scrutiny.&lt;/p&gt;
&lt;p&gt;More often than not, it is a piece of automation attached to a contract-shaped problem.&lt;/p&gt;
&lt;p&gt;That is not the same thing.&lt;/p&gt;
&lt;h2 id="ethereum-made-this-way-of-thinking-feel-normal"&gt;Ethereum made this way of thinking feel normal&lt;/h2&gt;
&lt;p&gt;Ethereum deserves credit for making programmable blockchain infrastructure mainstream. It gave developers a general-purpose platform for writing code that manages assets and shared state directly on-chain.&lt;/p&gt;
&lt;p&gt;Technically, that was a big step forward.&lt;/p&gt;
&lt;p&gt;But it also hard-wired a particular mental model into the market. In an account-based system, the natural pattern is to build a long-lived application that owns mutable state. The contract becomes a software object. Assets are balances or records within that object. Behaviour is expressed through functions that update shared state over time.&lt;/p&gt;
&lt;p&gt;That is powerful, but it is also where the conceptual slippage begins.&lt;/p&gt;
&lt;p&gt;Because once you start thinking that way, it becomes very easy to assume that the application state is the contract, or at least the definitive expression of it.&lt;/p&gt;
&lt;p&gt;In practice, that is often not true.&lt;/p&gt;
&lt;p&gt;What you have is a system that records and executes some operational aspects of an arrangement. You may have captured transfer logic, calculation rules, entitlement conditions or settlement steps. Fine. But you have not necessarily captured the actual meaning of the agreement in the round. You have not captured the legal framework. You have not captured every exception. You have not captured the fact that commercial life has rough edges and strange corners and occasionally refuses to sit nicely inside deterministic code.&lt;/p&gt;
&lt;p&gt;There is a tendency in blockchain circles to brush past that point. I think that is a mistake.&lt;/p&gt;
&lt;h2 id="in-financial-services-provenance-matters-just-as-much-as-state"&gt;In financial services, provenance matters just as much as state&lt;/h2&gt;
&lt;p&gt;This is where the comparison between account-based and UTXO-based models becomes more interesting than people sometimes allow.&lt;/p&gt;
&lt;p&gt;At first glance, it can seem like a technical distinction. One model updates balances in accounts. The other consumes and creates discrete outputs. But the difference runs deeper than that, because it changes the shape of the system and the way you reason about what has happened.&lt;/p&gt;
&lt;p&gt;Account-based systems are naturally geared towards maintaining current state. Who owns what, what the balance is, what the contract storage says right now.&lt;/p&gt;
&lt;p&gt;UTXO-based systems are naturally geared towards transition and lineage. What existed before, what was consumed, what was created, and how one state gave rise to another.&lt;/p&gt;
&lt;p&gt;That matters in finance.&lt;/p&gt;
&lt;p&gt;A great deal of financial processing is event-driven. Cash is paid. Title transfers. Collateral is allocated. Positions are reset. Assets are encumbered, released, novated or settled. In those scenarios, the important question is often not just &amp;ldquo;what is the current state?&amp;rdquo; but &amp;ldquo;how did we get here, through which chain of rights, obligations and events?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That is one reason UTXO-based models can feel closer to the underlying commercial problem. They force a discipline around provenance. They encourage explicit state transitions. They produce a more natural evidential trail.&lt;/p&gt;
&lt;p&gt;I would not push that too far. UTXO systems can be awkward for certain types of general application logic, and account-based systems are often more straightforward for developers building rich applications. Fair enough.&lt;/p&gt;
&lt;p&gt;But if you are dealing with contracts, especially where auditability, traceability and event lineage matter, the UTXO model has a habit of asking the right questions.&lt;/p&gt;
&lt;p&gt;Not just what the state is now, but how it came to be.&lt;/p&gt;
&lt;p&gt;That is often the more important thing.&lt;/p&gt;
&lt;h2 id="the-phrase-code-is-law-was-always-a-bit-glib"&gt;The phrase &amp;ldquo;code is law&amp;rdquo; was always a bit glib&lt;/h2&gt;
&lt;p&gt;One of the more enduring slogans to come out of blockchain was &amp;ldquo;code is law&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;It is catchy. It also papers over quite a lot.&lt;/p&gt;
&lt;p&gt;Code is not law. Code is code. It does what it has been written to do, no more and no less. That can be useful. It can be rigorous. It can be highly effective where the rules are clear and bounded. But it does not interpret intent, weigh ambiguity, handle unforeseen commercial circumstances, or step outside its own model of the world.&lt;/p&gt;
&lt;p&gt;Law, by contrast, exists precisely because the world does not fit neatly into machine branches.&lt;/p&gt;
&lt;p&gt;So I have always thought &amp;ldquo;code is law&amp;rdquo; confused enforcement with meaning. It mistakes the ability to execute something automatically for the ability to capture the full substance of what has been agreed.&lt;/p&gt;
&lt;p&gt;In the real world, and particularly in financial services, a contract is broader than its implementation. It is not exhausted by the code.&lt;/p&gt;
&lt;p&gt;That does not reduce the value of automation. Far from it. Good automation is essential. Deterministic execution is valuable. Verifiable state transitions are valuable. Shared records are valuable. But they remain parts of a larger picture.&lt;/p&gt;
&lt;p&gt;That is the point.&lt;/p&gt;
&lt;h2 id="a-better-way-to-think-about-smart-contracts"&gt;A better way to think about smart contracts&lt;/h2&gt;
&lt;p&gt;For my money, a smart contract should not be defined by whether it runs on-chain.&lt;/p&gt;
&lt;p&gt;It should be defined by whether it faithfully expresses and automates the operationally deterministic parts of an agreement.&lt;/p&gt;
&lt;p&gt;That may involve blockchain.
It may not.&lt;/p&gt;
&lt;p&gt;It may involve workflow engines, event processors, state models, shared ledgers, rule engines, API integrations and legal documentation, all working together.&lt;/p&gt;
&lt;p&gt;That is much closer to how serious systems in financial markets actually have to be built.&lt;/p&gt;
&lt;p&gt;The real design question is not, &amp;ldquo;Can we put this contract on-chain?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;It is, &amp;ldquo;Which parts of this arrangement are precise enough to automate, which parts need evidence and traceability, and which parts remain anchored in legal text and operational process?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That is a far better question. It is also a more grown-up one.&lt;/p&gt;
&lt;p&gt;Because once you frame it properly, it becomes obvious that putting code on a blockchain is only one implementation choice among many. Sometimes it is the right one. Sometimes it is not. Often it is only part of the answer.&lt;/p&gt;
&lt;h2 id="so-what-is-the-point-being-missed"&gt;So what is the point being missed?&lt;/h2&gt;
&lt;p&gt;The point being missed is that contracts are about meaning before they are about execution.&lt;/p&gt;
&lt;p&gt;Execution matters, of course it does. But meaning comes first. Rights and obligations come first. The legal relationship comes first. The operating model comes first. Evidence, process and governance all come first.&lt;/p&gt;
&lt;p&gt;The machine should serve that reality, not pretend to replace it.&lt;/p&gt;
&lt;p&gt;That is why I think so many blockchain smart contracts miss the point. They start from the implementation and work backwards. They assume that because a thing can execute deterministically on-chain, it has somehow captured the contract in full.&lt;/p&gt;
&lt;p&gt;Usually, it has not.&lt;/p&gt;
&lt;p&gt;Usually, it has captured one slice of behaviour and wrapped it in more certainty than it deserves.&lt;/p&gt;
&lt;p&gt;And in financial services, that is not a small distinction. It is the whole game.&lt;/p&gt;</description><author>Steve Haigh</author><guid>https://stevehaigh.net/posts/smart-contracts-on-blockchain-thats-not-the-same-as-a-contract/</guid><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate></item><item><title>London Blockchain Conference Recap: Tokenisation of RWAs, Cash and Atomic Settlement</title><link>https://stevehaigh.net/posts/london-blockchain-conference-tokenisation-of-rwas-cash-and-atomic-settlement/</link><description>&lt;p&gt;Last week at London Blockchain Conference, I presented a tech talk on the innovation stage: &lt;strong&gt;&amp;ldquo;Tokenisation of RWAs, Cash and Atomic Settlement.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The core message was simple: moving from pilots to production in capital markets requires more than tokenising assets in isolation. You need a practical workflow that connects tokenised real-world assets, tokenised cash, and deterministic post-trade execution.&lt;/p&gt;
&lt;figure class="post-video youtube-embed"&gt;
&lt;button class="youtube-cover" type="button" data-youtube-id="UmfwE93BN6E" data-youtube-title="Tokenisation of RWAs, Cash and Atomic Settlement" aria-label="Play Tokenisation of RWAs, Cash and Atomic Settlement"&gt;
&lt;img src="https://i.ytimg.com/vi/UmfwE93BN6E/hqdefault.jpg" alt="Tokenisation of RWAs, Cash and Atomic Settlement cover image" loading="lazy" decoding="async"&gt;
&lt;span class="youtube-cover-play" aria-hidden="true"&gt;Play&lt;/span&gt;
&lt;/button&gt;
&lt;figcaption&gt;Watch the tech talk from London Blockchain Conference.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="what-i-covered"&gt;What I covered&lt;/h2&gt;
&lt;p&gt;I focused on how Tokenovate&amp;rsquo;s enterprise wallet and workflow orchestration can help financial institutions industrialise post-trade operations.&lt;/p&gt;
&lt;p&gt;The demonstration covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Standardised workflows for post-trade events, aligned to institutional operating models.&lt;/li&gt;
&lt;li&gt;Atomic settlement of asset and cash legs to reduce principal and counterparty risk.&lt;/li&gt;
&lt;li&gt;Faster settlement cycles by eliminating avoidable handoffs and reconciliation delays.&lt;/li&gt;
&lt;li&gt;A shared truth layer of trade data that supports a durable, auditable golden record.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="why-this-matters-now"&gt;Why this matters now&lt;/h2&gt;
&lt;p&gt;Market infrastructure is at an inflection point. The technology is no longer the biggest blocker; operational integration, risk controls, and production-grade workflows are.&lt;/p&gt;
&lt;p&gt;Tokenisation only creates real value when it is connected to settlement finality, robust process design, and evidential data integrity. That is where enterprise adoption is won or lost.&lt;/p&gt;
&lt;h2 id="looking-ahead"&gt;Looking ahead&lt;/h2&gt;
&lt;p&gt;Thanks to everyone who joined the session and shared thoughtful questions afterwards. The level of engagement around practical implementation, interoperability, and governance was especially encouraging.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;d like to continue the discussion, feel free to &lt;a href="https://www.linkedin.com/in/stevehaigh/"&gt;connect with me&lt;/a&gt;.&lt;/p&gt;</description><author>Steve Haigh</author><guid>https://stevehaigh.net/posts/london-blockchain-conference-tokenisation-of-rwas-cash-and-atomic-settlement/</guid><pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate></item><item><title>Smart Contracts Before Blockchain</title><link>https://stevehaigh.net/posts/smart-contracts-before-blockchain/</link><description>&lt;p&gt;If you listen to enough conversations in digital assets, you’d be forgiven for thinking smart contracts are something that live on blockchains.&lt;/p&gt;
&lt;p&gt;They’re not.&lt;/p&gt;
&lt;p&gt;Or at least, they didn’t start that way. And in my view, they don’t need to.&lt;/p&gt;
&lt;p&gt;The term itself goes back to the 1990s, when Nick Szabo was writing about whether agreements could be expressed in software and enforced by the system itself. This was well before Bitcoin, long before Ethereum, and long before we started attaching tokens to everything that moves.&lt;/p&gt;
&lt;p&gt;His idea was fairly grounded. If you can define the rules of an agreement clearly enough, you can build a system that enforces those rules without needing people in the middle.&lt;/p&gt;
&lt;p&gt;The example he used was a vending machine. You put money in, press a button, and if everything lines up, out comes your drink. No reconciliation, no follow-up, no debate about what was meant to happen. It just does what it’s supposed to do.&lt;/p&gt;
&lt;p&gt;That’s a smart contract in the original sense.&lt;/p&gt;
&lt;p&gt;And importantly, there’s no blockchain anywhere in sight.&lt;/p&gt;
&lt;p&gt;Somewhere along the way, the meaning shifted&lt;/p&gt;
&lt;p&gt;The association between smart contracts and blockchains really took off with Ethereum. When Ethereum launched in 2015, it explicitly positioned itself as a platform for running “smart contracts”, and that framing stuck.&lt;/p&gt;
&lt;p&gt;Since then, the term has been more or less absorbed into blockchain vocabulary. In most conversations today, a smart contract is assumed to be code deployed on a blockchain, typically running inside something like the Ethereum Virtual Machine.&lt;/p&gt;
&lt;p&gt;That’s understandable, but it’s also a bit of a category mistake.&lt;/p&gt;
&lt;p&gt;Because what Szabo was describing wasn’t tied to any particular infrastructure. It was a property of a system. If a system encodes the rules of an agreement and enforces them automatically, then by that definition, it’s a smart contract. It doesn’t matter whether it runs on a blockchain, a server, or a fairly old bit of embedded hardware.&lt;/p&gt;
&lt;p&gt;A vending machine qualifies.&lt;/p&gt;
&lt;p&gt;So does any piece of software that deterministically enforces an agreement between parties.&lt;/p&gt;
&lt;p&gt;Which means the idea is much broader, and much more useful, than the current shorthand suggests.&lt;/p&gt;
&lt;p&gt;The real problem: contracts aren’t simple&lt;/p&gt;
&lt;p&gt;All of that works nicely for simple systems.&lt;/p&gt;
&lt;p&gt;If the rules are clear, the inputs are known, and the outcomes are limited, then automating the agreement is entirely sensible. In those cases, code is exactly what you want. It removes ambiguity, enforces consistency, and gets rid of a lot of unnecessary operational overhead.&lt;/p&gt;
&lt;p&gt;But most real contracts, particularly in financial markets, don’t look like that.&lt;/p&gt;
&lt;p&gt;They’re long-lived, nuanced, and full of edge cases. Terms get amended. Events occur that no one quite anticipated. Different parts of the agreement interact in ways that only become clear over time. And when something doesn’t line up neatly, the answer isn’t sitting there waiting in a function call.&lt;/p&gt;
&lt;p&gt;It’s worked out through interpretation.&lt;/p&gt;
&lt;p&gt;That’s the bit the “smart contract” narrative tends to gloss over. Real contracts aren’t just about execution. They’re about meaning. They’re written in a way that leaves room for context, intent and, occasionally, disagreement. Not because lawyers enjoy ambiguity, but because the real world doesn’t fit neatly into predefined branches of logic.&lt;/p&gt;
&lt;p&gt;And when things do go wrong, as they inevitably do, you don’t turn to the code and say “that’s final”.&lt;/p&gt;
&lt;p&gt;You go back to the contract.&lt;/p&gt;
&lt;p&gt;And very often, to the lawyers.&lt;/p&gt;
&lt;p&gt;Code is not law&lt;/p&gt;
&lt;p&gt;There’s a phrase that crops up from time to time: code is law.&lt;/p&gt;
&lt;p&gt;I’ve never found that particularly convincing in the context of capital markets.&lt;/p&gt;
&lt;p&gt;Code is precise. It does exactly what it’s told. That’s its strength. But it only deals with what has been explicitly modelled. It doesn’t cope well with ambiguity, conflicting interpretations, or situations that sit outside what anyone thought to encode at the outset.&lt;/p&gt;
&lt;p&gt;Law is different. It exists precisely to deal with those situations. It handles intent, context, judgement, and the messy edge cases that don’t fit neatly into a predefined structure.&lt;/p&gt;
&lt;p&gt;Trying to collapse one into the other doesn’t really work.&lt;/p&gt;
&lt;p&gt;You can encode a lot of behaviour in code. You can make systems highly deterministic. But you can’t realistically capture every possible outcome of a complex financial agreement, and you certainly can’t remove the need for interpretation when something unexpected happens.&lt;/p&gt;
&lt;p&gt;At that point, the “smart” contract isn’t particularly smart. It’s just rigid.&lt;/p&gt;
&lt;p&gt;This isn’t about blockchain&lt;/p&gt;
&lt;p&gt;It’s also worth being clear that none of this is an argument against blockchain.&lt;/p&gt;
&lt;p&gt;Blockchains are useful. They give you shared state, tamper resistance, and a way for multiple parties to agree on outcomes without a central operator. That’s valuable.&lt;/p&gt;
&lt;p&gt;But they’re not what makes something a smart contract.&lt;/p&gt;
&lt;p&gt;The industry has slightly conflated the two ideas. Smart contracts became “things that run on blockchains”, when in reality they’re just systems that enforce agreements automatically.&lt;/p&gt;
&lt;p&gt;Blockchain is one way of doing that.&lt;/p&gt;
&lt;p&gt;Not the only way.&lt;/p&gt;
&lt;p&gt;Where this shows up in practice&lt;/p&gt;
&lt;p&gt;From where I sit, working in post-trade and digital assets, this distinction matters quite a lot.&lt;/p&gt;
&lt;p&gt;A big part of what we’re doing at &lt;a href="https://tokenovate.com" target="_blank" rel="noopener noreferrer"&gt;Tokenovate&lt;/a&gt; is building systems that codify the lifecycle of financial products. In particular, using the &lt;a href="https://cdm.finos.org" target="_blank" rel="noopener noreferrer"&gt;FINOS Common Domain Model (CDM)&lt;/a&gt; to represent the rules of derivatives and securities financing transactions, based on things like ISDA and GMRA agreements.&lt;/p&gt;
&lt;p&gt;In many ways, that is exactly what Szabo was getting at.&lt;/p&gt;
&lt;p&gt;You take the economic terms, the lifecycle events, the allowable state transitions, and you express them in a form that a system can apply deterministically. If an event is valid, it moves the contract from one state to another. If it isn’t, it doesn’t.&lt;/p&gt;
&lt;p&gt;By any reasonable definition, that’s a smart contract.&lt;/p&gt;
&lt;p&gt;And it doesn’t need to sit on a blockchain to be one.&lt;/p&gt;
&lt;p&gt;But it still isn’t the whole contract&lt;/p&gt;
&lt;p&gt;Even then, it’s not complete.&lt;/p&gt;
&lt;p&gt;You can codify a great deal of the lifecycle. You can make behaviour far more deterministic than it is today. You can remove a lot of reconciliation and ambiguity from the operational layer.&lt;/p&gt;
&lt;p&gt;But you can’t capture everything.&lt;/p&gt;
&lt;p&gt;There will always be edge cases. There will always be scenarios that weren’t anticipated. There will always be moments where interpretation matters, where the wording of the legal agreement takes precedence, and where the system doesn’t have a definitive answer.&lt;/p&gt;
&lt;p&gt;At that point, you fall back to the legal contract.&lt;/p&gt;
&lt;p&gt;And, usually, to the lawyers.&lt;/p&gt;
&lt;p&gt;So what are smart contracts, really?&lt;/p&gt;
&lt;p&gt;If you strip away the hype, smart contracts are best understood as:&lt;/p&gt;
&lt;p&gt;systems that automate the well-defined parts of an agreement.&lt;/p&gt;
&lt;p&gt;That’s already useful. In fact, it’s quite powerful. But it’s not the same as replacing the agreement itself, and it’s not the same as eliminating ambiguity altogether.&lt;/p&gt;
&lt;p&gt;In simple systems, smart contracts work well.&lt;/p&gt;
&lt;p&gt;In complex financial instruments, they’re only part of the picture.&lt;/p&gt;
&lt;p&gt;Closing thought&lt;/p&gt;
&lt;p&gt;The original idea behind smart contracts still stands up. If you can define the rules clearly enough, you can get the system to enforce them.&lt;/p&gt;
&lt;p&gt;That’s worth pursuing.&lt;/p&gt;
&lt;p&gt;But it only takes you so far.&lt;/p&gt;
&lt;p&gt;You can automate the predictable bits. You can make execution cleaner. You can reduce the need for trust in process.&lt;/p&gt;
&lt;p&gt;But you can’t write code for every edge case. You can’t eliminate ambiguity entirely. And you can’t replace the role of legal interpretation when things get difficult.&lt;/p&gt;
&lt;p&gt;So yes, smart contracts are useful.&lt;/p&gt;
&lt;p&gt;But they’re not quite as smart as we sometimes make them out to be. Oh, and they don&amp;rsquo;t have to live on a blockchain.&lt;/p&gt;</description><author>Steve Haigh</author><guid>https://stevehaigh.net/posts/smart-contracts-before-blockchain/</guid><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate></item></channel></rss>