by utilising blockchain capabilities, first and foremost
smart contracts.
In the literature, the term programmable money
has, among others, been used to differentiate
blockchain-based money (including Bitcoin) from
other forms of digital money, like database tables
in a banking system “holding” money digitally (Ma-
juri, 2019). Using the terms programmable money
or smart money to refer to money which checks that
given conditions are met before it can be spent is a
recent phenomenon, and the literature on that topic
is as yet thin. A short discussion paper by Avi-
tal et al. (2017) summarized the key advantages of
smart money, which can control when, where, and
by whom it is spent, to whom it is paid, and for
what. This has also been articulated in a presenta-
tion by Hedman (2019). In the above-mentioned col-
laborative project, we explored the concept of smart
money in the context of welfare payments to dis-
abled people (Royal et al., 2018). The usefulness of
smart money in this context has been confirmed in
a study by Rodrigues and Cardoso (2019). Another
case study (Kolehmainen et al., 2021) aims at “digi-
talizing and automating processes in enterprise legacy
systems” and includes conditional payment, building
on our earlier work. A special case of programmable
money could comprise programmable donations, as
explored in an interview study (Elsden et al., 2019b).
Central banks have begun to investigate the poten-
tial benefits of programmable money for Central Bank
Digital Currencies, and have considered various solu-
tion concepts and their design tradeoffs (BoE, 2020;
BIS, 2020). As such, the research on the concept
has been very limited, and with this paper we aim to
provide a spark for more work in this interesting and
promising direction.
This paper reports on highlights from the “Smart
Money” project (Royal et al., 2018), and expands on
some of the software engineering challenges and re-
search opportunities arising from the project. To this
end, we first present the conceptual solution in Sec-
tion 2. Then we discuss implementation concerns in
Section 3 and summarise the evaluation in Section 4.
Finally, lessons learnt are described in Section 5 be-
fore the paper is concluded in Section 6.
2 CONCEPTUAL SOLUTION
Conditional payments are important and common.
Welfare, insurance, grants, donations (Elsden et al.,
2019b), and corporate expenses are all examples.
Conditions are usually checked manually, after pay-
ments are made. Some existing schemes use con-
ventional technology to dynamically check payment
conditions, but only allow payments from centrally-
controlled accounts. In contrast, our project stud-
ied blockchain-based conditional payments with end
user-controlled accounts, by devising a form of smart
contract-backed programmable money. In the follow-
ing, we describe the architecture and the realization
of the core functionality in smart contracts.
2.1 Architecture
The Smart Money project investigated a new con-
cept of blockchain-based programmable money.
Rather than checking fixed conditions on payments
from controlled accounts, policies for programmable
money can instead be dynamically attached to and
removed from money that flows through a pay-
ments system. Previous authors use the term “pro-
grammable money” for single-use conditions attached
to cryptocurrency. Tokens on blockchains may carry
reusable conditions and can also be used as digital as-
sets (perhaps as “money”), but normally these condi-
tions are fixed when the tokens are issued. In con-
trast, our concept of programmable money comprises
not only the checking of conditions specified in flexi-
ble policies, but also that new policies can be attached
to money by its owner, policies by default remain at-
tached to money as it is paid, and policies can up-
date or remove themselves during execution. To our
knowledge, this concept of programmable money is
novel. The desired novel features created a host of
technical challenges, among others:
• How to ensure that relevant information is present
on the blockchain at the time when needed to eval-
uate a policy?
• How to best attach the dynamic policies to the
money?
• How to enable delegation, such that a nominee of
an NDIS participant can spend tokens on behalf
of the latter?
• How to handle agreements for recurring pay-
ments, such as regular physiotherapy treatment?
To realise the desired features, blockchain technol-
ogy with smart contract capabilities forms a natu-
ral base. Alternative, centralized realisations without
blockchain as a base can be considered, and have been
in the project’s analytical evaluation (Royal et al.,
2018). For a single use case, e.g., a system only
addressing NDIS in isolation, they may offer simi-
lar benefits. However, once more than one use case
should be implemented, blockchain is the more suit-
able technological basis for the following reasons:
(i) there would often not be a single authority (e.g.,
CLOSER 2021 - 11th International Conference on Cloud Computing and Services Science
8