Matching tool to task
Tim Berners-Lee, inventor of the World Wide Web, famously advocated for the principle of least power. This principle calls for the use of the least powerful – that is, the least complex – programming language or technology that can achieve a given purpose. The goal is to promote simplicity and interoperability.
That same principle can be applied to programmability and financial transactions. In essence, using a smart contract in a use case where a simpler solution does the job would be overkill. Let’s look at some examples to illustrate how this would work in practice.
Retail conditional payments are often cited as a use case for smart contracts. In this scenario, a customer would already pay when making the purchase, but the payment is only released to the online vendor when the package arrives.3 But the same outcome can be achieved with a programmable payment.4 A smart contract isn’t the best option here as
- The smart contract cannot access the actual delivery status, and
- the customer may not want to lock the payment in a smart contract immediately upon order, instead only paying upon receipt.
Purpose-bound money like food vouchers or targeted subsidies are also an area of interest. Some central banks have proposed using programmable money to achieve this. In this scenario, the money itself would contain conditions that define its use.5 As a result, certain items could be purchasable with this currency, whereas others would be restricted. However, this approach undermines one of the fundamental appeals of public digital currency: its “cash-like” characteristics such as universal usability. A “smart wallet” is an alternative here: conditions could be attached to wallets instead of to the money. Once the money has been paid for a specific purpose and transferred to another wallet, the recipient can use it freely for any purpose.6
Cross-border payments, where money is sent and received in different currencies, are fraught with inefficiencies. These arise due to different operating hours, lack of liquidity, and long chains of intermediaries. Smart contracts have been proposed to provide instant settlement in foreign exchange. However, this can also be achieved through programmable payments. The payment is split into two parts, for example US dollars and British pounds. Both parts are created as pending transactions, with the GBP payment being completed once the corresponding USD payment arrives.7
Programmability is reshaping the landscape of digital currencies and tokenized payment systems. However, it is also clear that not every use case requires the firepower of a smart contract.
“Smart contracts aren’t always the answer: sometimes a simpler option is still the best,” noted Hupel.
By applying the principle of least power, solutions can be tailored – whether as programmable payments, programmable money, or smart contracts – that match the needs of diverse scenarios. The future will likely see multiple approaches to programmability. Striking the right balance will be essential to unlock the full potential of digital currencies, while preserving trust and user autonomy.