Blockchain technology offer us a revolutionary new way to do business using the same database — a shared ledger, in effect, that is available to anyone who knows how to use it and has access to the tools. A ‘world database’ (as suggested recently by Vinay Gupta in his highly recommended piece on Medium, ‘Programmable blockchains in context’) that is owned by everyone participating, and controlled by no-one. This is trust through computation. Nothing is ‘entered’ in this environment unless it is agreed by the many thousands of computers that make up the network. Once coded, the transactions are uncorruptible and immutable.
Blockchain technology also enables us to build smart contracts on a platform like Ethereum. What are smart contracts? Essentially they are programs that execute “if this happens then do that”, that are run and verified by all the participants in the blockchain network. The blockchain stores the data, but the smart contract plans, executes and records the business.
The most obvious use cases for smart contracts are things that can happen entirely in cyberspace, such as the transfer of ownership of an asset — but agreements to deliver services that require IoT or human interactions are also possible. For example: if a TV rental payment is not made on time, the TV gets digitally locked until the payment is received. Or a human confirmation that a car was repaired properly is needed for the contract to be finalised.
Once executed, the smart contract stores the transactions in a way that is unalterable and persistent. The contracts, by existing in the blockchain, embody the notion of trust through computation and remove the need for intermediaries — as well as removing the need for much of the signing, emailing and other messy ways we exchange information and keep records today to ensure that business is done fairly.
Clearly the key advantage in using this technology is in interactions in which the parties do not know or trust one another. However it could also be argued that this should be the base assumption in any recordkeeping implementation, particularly given the emphasis in our work and literature on the importance of provable authenticity to garner trust, as seen in OAIS and TRAC, InterPARES, ISO standards, Trusted Third Party Repositories and more.
InterPARES 2, for example, asserts that to be considered as a trusted custodian, a ‘preserver’ must ‘..act as a neutral third party; that is, demonstrate that it has no stake in the content of the records and no reason to alter records under its custody and that it will not allow anybody to alter the records either accidentally or on purpose.’ I would ask: is any individual or group ‘preserver’ capable of absolute neutrality? I’d argue not, but a machine (or a group of many thousands of machines) is. Mathematics is. Of course individuals with all their biases write the code, but once in place it offers a neutral space in which agreed processes can occur.
The question of trust also goes to the integrity of records. ISO 15489 Records Management (2016) notes the importance of striving for the characteristic of ‘Integrity’ to have more authoritative records — this being achieved by a record being ‘complete and unaltered’.
I think that smart contracts represent a new type of business and recordkeeping system that overcomes some of the problems we have had in the last couple of decades with asserting the trustworthiness of the systems we build, both in terms of the neutrality of the recordkeeper and the integrity of the records.
In addition, the records produced by smart contracts can be available to those with rights to access them for as long as they are needed, including in the archival / pluralization space, without needing significant guaranteed resources over time.
In these ways, I believe that this technology has a very significant role to play in our futures as recordkeepers, and we need to school ourselves in how it works, and how we can best use our skills to create new models for recordkeeping and archives using it.
So what should we recordkeepers be thinking about in relation to this stuff? Here are a few random ideas.
Which business processes are suitable for execution by smart contract?
This brings us back to appraisal. In considering this question, we need to use appraisal techniques including understanding the business and its context, work process and risk analysis to understand:
- What are the steps in the process?
- Who are the participants in the process?
- How sensitive / private is the process? The default for this technology is that everyone on the network can see the contracts in the blockchain. There are, however, ways to make contracts using encryption, as detailed by Vitalek Buterin here.
- How available / usable is smart contract technology for participants in the process and stakeholders? Not all people or organisations will have the technical ability to take part. The sustainability of the network given its use of energy resources is a real concern. We examine context and the needs of users of records — of all sorts.
- What else is needed — in real life — to confer the maximum integrity to smart contract transactions? Our understandings of documented and approved requirements for records, rigor around mandates and authorised agents, policy and procedures have a role to play here.
How can we manage executed contracts?
Executed smart contracts — including the data showing what occurred — will be records for us to manage — to provide access to, or to layer with additional context.
We know that managing access can be a complex task. Appraisal* informs us of changing rules and expectations for access that require implementation. Perhaps here we can contribute to the development of contracts that will execute access to older executed contracts , based on certain conditions, ranging from authenticated identity to payment.
Can we imagine linking contextual information to executed smart contracts in an archival setting? Where they are truly multi-party and of one recordkeeping system this could pose challenges for some of the prevailing descriptive standards.
Can we use smart contracts for recordkeeping processes on non-blockchain stored records?
I’m thinking here of the vexed issue of the application of retention and disposal rules in complex systems, or access to records where there may be a number of rights / restrictions at play.
Here’s a cool idea: a smart contract that opens government records, publishes them and emails links to interested persons and groups, given a set of conditions. By using blockchain tech, all the parties can trust that these actions will occur without administrative delays or corrupt interventions. And the records of the process are retained, transparently.
A programmed set of conditions that is agreed by a number of parties in a trusted environment would also be ideal for co-managed records, of multi-jurisdiction projects or records in which record subjects are given agency in their management (personal health records, for example).
There are no doubt lots more interesting avenues to explore.
Some recordkeepers might find this stuff scary, but I think we are actually pretty well placed to tackle this stuff. We already have recordkeeping metadata models that give us the language and techniques to describe business and recordkeeping processes, agents and records. These models are ready for machine execution. The recurrent analysis work we do in appraisal means we can work with designers of smart contracts (and the selection of eligible processes) in meaningful ways. We need to stop being scared and get in the game. So anyway, I’m going to try to eat my own dog food, and see if I can write a smart contract. Keep you posted.
* Appraisal: Here I am talking about the Australasian understanding of appraisal, as the recurrent analysis of business, its context and risks and requirements resulting in decisions about what records to make and keep, and how to manage them — not archival appraisal, meaning the selection of records for permanent retention.
27 July 2016 – after receiving valuable comments via Medium, I added some additional explanation of my point about neutrality to paragraph 6.