A recent LinkedIn group discussion raised the question how to create an Archimate model of blockchain technologies. As the discussion went on it the question was raised if Archimate needs specific artefacts for modelling blockchain. I do not think so – here is why.
First of all let´s quickly define what blockchain does on a high level
Blockchain is a technology which relies on a distributed, encrypted database of transactions shared openly amongst its users (peers). Hence any blockchain user can see and trace all transactions happening in the database.
Changes to the database are called transactions. Those transactions are communicated, processed and verified by all (or a majority of) the peers. The result of this „consensus building“ amongst the peers is documented in a new block of transactions – hence the term „block chain“.
In order to maintain anonymity all peers are represented in the network only by public encryption keys.
How does blockchain work in a couple of words
Basically a blockchain consists of a node application which runs on each peer´s computing environment. So the node application is required to participate in the blockchain network. In order to do that the node application consists (again on a high level) of four major components:
- A wallet interface which is required for initiating transactions and managing a peer´s wallet (i.e. what he/she owns for example a bitcoin account)
- A blockchain client which handles communication and data transfer with the other peers using the blockchain protocol
- An algorithm engine which holds the blockchain calculation rules which are applied to calculate blocks and the consensus rules which are applied to „build consensus“ among the peers about the content of the database.
- A shared ledger which is basically a representation of the database known also to all other peers.
Depending on the blockchain implementation some peers may have more credentials than others. For instance you could separate the wallet from the algorithm engine. As a consequence you could have users who only place their transactions and other users who then validate those transactions and integrate them into the next block.
What is the business impact of blockchain technology
In order to show you the business impact of blockchain technology I have prepared a small example. Purchasing a house is complicated transaction. Hence you have you will need a solicitor (i.e. a notary) involved to handle critical aspects of the purchase.
The reason for this is that housing transactions are highly valuable and there are several parties involved. So the purchasing process needs a bit of coordination to ensure that the buyer receives the object and the seller receives his money. The result is a significant fraud risk for the parties. Consequently the transaction is covered by a trusted 3rd party – the notary.
First let me explain the house purchasing process in general
- The buyer, the seller and the notary agree on a purchasing contract, means what is acquired and what is the price
(I left out the real estate agent here because he only helps initiating the contract but is not part of the transaction itself)
- The notary verifies the buyers and sellers identity based on their passports.
- The notary verifies that the seller actually owns the house by requesting a certificate of land ownership from the registry
- The buyer transfers the money and the notary verifies the seller received the money
- The notary initiates the changes in the land registry to transfer ownership of the house
- The buyer receives a new certificate from the registry stating that he now owns the house
You will notice that this quick summary already shows how complex the transaction is. Plus I left out many details here. However I think you get the point. As a final note you should note that all these steps are basically based on letters and paper exchange.
Now let us see how blockchain changes a house purchasing transaction
So imagine you want to use blockchain technology to facilitate house purchases. As a result of that we would notice at least three major impacts:
- The notary is not required to secure the transaction anymore and looses his job
- The land registry´s information is publicly available so the registry can close its business
- Buyer and seller can handle the transaction safely und in public
See also the Archimate diagram of a house purchasing transaction. On the diagram´s business layer you will see „old world“ of today where everything is done manually and paper-based. Notice that I added a lot of details to show the process the different functions each party has to add to it.
Next I then added some blockchain components on the application layer (in blue). This is to show you what is replaced with technological solutions. Hence blockchain removes many physical representations with technical artifacts and services. And the whole process itself is automized by the blockchain network and application.
Here is how blockchain technology transforms this business transaction in detail:
- Contract terms are openly documented in a so called „smart contract“ (no paper required).
- Buyer´s and seller´s identities are verified by their public keys instead of a passport (which means who owns the private key eventually would own the house!)
- The transaction itself (money vs. change of ownership) is processed by the blockchain network peers and securely stored in shared ledger of the blockchain
- The whole transaction can be done using the wallet app, no bank transfers or exchange of documents are required anymore
So you can then remove a lot of complexity on the business layer by simply creating a blockchain application which offers a service to its users to transfer ownership of a house. The resulting Archimate model is maybe a bit simplistic but shows the „drama“ which is the reason for the whole blockchain hype.
This means you could (technically) buy a house with a blockchain App without the buyer and seller having any chance of cheating on each other. Now is this hot shit or not?
What is with all the details of the blockchain implementation, the rulesets, etc.?
It is my firm believe that Archimate is a tool for modelling Enterprise Architectures. It is not suited in my humble opinion to create models for detailed solution architectures or to document implementation details.
Modelling the details of a blockchain implementation is done better by other languages such as UML or specialised ruleset modelling languages. In the LinkedIn group discussion the opening post leads to this site which apparently hosts a description of a Blockchain Modelling Language. This I find highly useful.
I associate such languages with the more specialised work of an application architect and not with enterprise architecture.
An Enterprise Architects Viewpoint on Blockchain technology
Another firm believe of mine is that an Enterprise Architect should only create models for a purpose. So a diagram is either to inform stakeholders, design solutions and facilitate decisions. This also means that if there is no specific question then there is no need for a diagram.
Well, since we had this discussion and the question was raised „How would you model blockchain in Archimate?“ I decided to create a diagram to illustrate my view. So the following diagram will show you a landscape model of a blockchain implementation across all three EA layers (business, application, technology).
Surely there are more ways to model it and you might find different aspects to highlight.
On the technology layer blockchain is basically a network of nodes running the node application (mentioned above). Those nodes form a distributed ledger which is the technological implementation of our blockchain database. The nodes communicate with each other. For this they rely on the blockchain network protocol which is technically a Service Overlay Network (like VPN or TOR) running via the Internet.
The machine running all this is a virtual machine. Surely you can run blockchain applications in dedicated servers – but then again who does this in the age of microservices and dockers…
On the application level I found it important to highlight that the blockchain client is separate from the Algorithm unit. By modeling it this ways you quickly see that blockchain is based on „consensus building“. The consensus is reached using algorithms and a set of rules.
Next we again meet the ledger. Yet this time it is the logical representation and not the technical „thing“ (the database software). This ledger helps us to realize the smart contract.
Another point is the blockchain application offering a service for transaction processing. So business processes could use the service to initiate transactions or read the database.
The last item is a user interface. Here I simply added a „Wallet App“ to the diagram representing the user interface the customer can use to access the blockchain application.
The business layer in my diagram is quite simple. Just a process which manages a smart contract for payments. All this is managed by the customer. You may have better and more detailed examples but all this would lead me now away from the points I wanted to make in the LinkedIn group discussion.
ACTUALLY here is the true challenge for the enterprise architect. As my example above has already shown blockchain technology impacts the business layer significantly. So the EA has to identify all business artifacts affected by implementing this new technology. Examples include but are not limited to automatized business processes, removal of physical documentation or changes in business roles (up to their complete removal from the org).
Thanks for staying so long – it is a long article I know 🙂
So we learned today that Enterprise Architects are capable of modelling blockchain applications using Archimate. And they can do this without any new extension to the language.
The second learning is that implementation details such as the blockchain algorithm and the business rules should be left out of the model. Archimate is a modelling language for Enterprise Architectures – and not a silver bullet tool or a one-size-fits-all solution.
Thirdly we learned how significant business changes can be due to blockchain technology. In that sense blockchain is very different from other technologies (such as the newest Oracle version). It does not make things faster or more automated. Instead blockchain removes process steps and roles and facilitates completely new ways of doing business. Amazing!