So, what is a Blockchain?
The core concept is quite simple, it is a specific type of database where information is stored in blocks of data chained chronologically to each other in such a way that the information entered cannot be changed. One could say it is a distributed database where you cannot update or delete any records, only create, and read them. A record could contain any data ranging from financial transactions to patient journals. A blockchain consists of copies of an original database, much like backups of the original database. Think in terms of a network of connected databases. Every user of the blockchain gets to have a copy of the blockchain and every time a transaction is conducted it is verified by all other users for authenticity by simply comparing the data in each blockchain. Should there be any discrepancies, the odd chain would be dropped from the network.
Speaking of databases, Oracle, a leading global database provider presented their first blockchain-ready database early in 2021, while we were experimenting in Vaasa with the same concepts using traditional databases. Suffice to say that the students were on the cutting edge of new tech in this area too.
How does blockchain work?
There are three distinct steps involved in the use of blockchains. Looking for example at a financial transaction conducted between you and your friend the steps would be
Step 1, creation. You decide to pay your friend 100€. First, you would launch your payment app, find your friend’s account, type in the amount, and hit the pay now button. This would create a database record consisting of a unique record nr, a pointer to the last record in the blockchain, a timestamp, the receiver’s account, the payer’s account, the sum paid, and finally a unique hash based on the data in the record using a suitable encryption function. This hash will become a pointer to the last record for the next payment record.
Step 2, verification. The record you created using your payment app would then be verified by the blockchain network. Remember, a blockchain consists of many copies of the chain where each chain is guarded by a user, a peer, in the network. The verification process simplified is comparing hashes in the chain. The hash described in step 1 also acts as the guardian of the data integrity. Should the amount in our example be changed by a scrupulous opportunist from 100€ to 200€, the hash for that record would change and no longer match other hashes in the blockchain network rendering the chain where the changed hash is useless.
Step 3, adding the record to a chain consisting of similar chronologically added records. This chain in our example constitutes the blockchain. A block in a blockchain would typically consist of many records but to simplify, we have above said that our record equals one block.
To sum up, first we create and add records to a block, then we verify the block with our peers, and finally, we add the block to the blockchain. The blocks needed are in most cases created in a process called mining although there are other techniques available. If you have heard about the high energy consumption in conjunction with Bitcoins, the mining process is the culprit. Calculations are indicating that the energy being used globally today in the mining process equals the total usage of electrical energy in Norway.
Why and how to use blockchains?
There are two approaches to answer this question, one could look at the technological aspect and e.g., praise the blockchain’s security advantages. It is almost impossible to tamper with data stored in a blockchain. So, the benefit of Blockchains with security in mind is obvious for financial or say medical health data. There are other technical aspects as well, one being the possibility of transparency the chains offer. Everyone using a blockchain has a copy of the chain and thereby also potentially access to the data it contains.
The other approach would be more of a societal and moral kind. The blockchain offers an opportunity to disrupt old institutions and their inefficient ways of doing business. Take the banking function as an example. Your typical Bank provides two basic services, deposits, and lending on one hand and payment transfers on the other. These functions could be handled more efficiently by blockchains making the Bank itself obsolete, at best bankers could own and maintain their blockchains and handle private banking. Four student teams took on this problem and prototyped their blockchain solutions.
Another societal function, healthcare, relies heavily on patient registration systems. They are being updated nationally at great costs and with varying success. Even though they are being replaced and updated, they still rely on old concepts. The data is managed and owned by healthcare authorities, well isolated from other systems. Using a blockchain it would be easy to transfer the data and its ownership to the patient. This is exactly what four student teams studied and prototyped using blockchain tech.
Two student teams took on our basic democratic function, voting. Here blockchains offer a tamper-proof, secure, and straightforward way to update the entire voting process to the 21st century.
Overall, it was an interesting and rewarding experience to teach innovative technologies in one course, Web Tools, and coach the students when utilizing this new knowledge in another course, Implementing Web Applications, all the while using agile techniques, SCRUM. The student teams all produced well-planned and implemented prototypes. They also now have firsthand insight into the usage of new and exciting technologies as well as an understanding of underlying functionality within the banking sector, healthcare, and society.