Blockchain - Articles Whitepapers News

  • Blockchain
  • No categories

5 Reasons Why UK Gov.UK Verify E-Identity Project Should Adopt The Blockchain

10th October 2018 in Blockchain

The UK government has announced that its struggling e-identity platform will close within 18 months. The government will invest in transitioning whatever they have built so far to the private sector. The suppliers which have won the contracts are Barclays, Digidentity, Experian, Post Office and Secure Identity.

I first came across Gov.UK Verify when I was working on the common platform project for the Ministry of Justice (MoJ) and later with London Borough of Enfield’s council.

The move comes after the Cabinet Office’s major projects watchdog, the Infrastructure and Projects Authority, recommended in July that Verify should be terminated because Whitehall departments had lost confidence in the system and were unwilling to fund further development.

What is Gov.UK Verify?

GOV.UK Verify is a secure way to prove who you are online.

It makes it safe, quick and easy to access government services like filing your tax or checking the information on your driving licence.

When you use GOV.UK Verify, you don’t need to prove your identity in person or wait for something to arrive in the post.

Quick explainer video

So what are the 5 reasons why the program should be moved to the Blockchain?

  1. Citizen should be in control of their personal data (self-sovereign)
  2. There are Open Source initiatives well underway to help establish a cross-border standard such as Hyperledger Indy and Sovrin
  3. £130 millions of tax payers’ monies spent so far to be written off and handed to the private sector with additional cost for the transition. Companies are profit orientated and history has anything to tell us is that they cannot trusted with sensitive data
  4. Self-sovereign identity platforms on the blockchain provide both security and privacy
  5. Self-sovereign identity increases the trust that citizen puts into third-party applications. Citizen will also be in control of what data they want to share with third-party developers

Decentralized Identity (DID) standardization is currently a work in progress and the more governments can invest into it, the faster the adoption will be.

Here is good short video explainer of how a decentralized identity would work.

Why You Need a Centralized User Management For Your Blockchain Application

9th October 2018 in Blockchain

The first decentralized apps where built to prove the concept that application could be run in a decentralized manner without any central authority.

What would be the real purpose of such application?

If we build decentralized applications, how do we know the number of real (a user can have multiple addresses or wallets) users using it.

How does the application restrict certain functionalities from a group of users? Remember there isn’t any central authority with a list of users and permission controls.

Let’s take the popular example of electing our politicians through voting on the Blockchain. Let’s have a simple list of requirements as follow:

  • First of all, only citizen of a country can vote
  • We have to make sure that they only voted once
  • They should be able to see their voting history
  • Other voters should not be able to see other people voting history

The above can be easily built using a centralised application but this is for another discussion.

If the above requirements where developed as DApps on Ethereum, everyone can see who voted based on their voting account address. By now we know that the address are not anonymous and they could be traced back to the actual owners. Anybody can create an account on Ethereum (or most public blockchains) as this is a very cheap. Malicious users can create multiple accounts and vote multiple times.

How do we stop people from voting multiple times without a central authority?

Simple answer is we cannot.

How can we guarantee that all voters are citizen of that country?

We cannot.

Basically, it is impossible to create a DApps which can handle our simple requirements. There are some solutions but none of them are decentralized. Let’s not forget that blockchain networks have no idea of what’s going on in the external world.

Oracles and side-chains are centralised

Any process which occurs outside the blockchain are controlled by a central authority; such as validating users, check the weather, polling stock quotes, etc…

How can we fix that issue?

First of all, we have to understand what role would the public chain play in our application. We need to step away from the Let’s save the world through blockchain rhetoric. What value does the blockchain brings to the application? There are governments’ laws and regulations on the use of people data. Also, not every transaction should be run in a trust less manner as in voting to elect our leaders.

In order to fix the issues with user management, a centralized user management authority needs to be put in place. Something that can allow for a seamless know your customer (KYC) process. In the context of election, the process can assign a PKI to each user which has no meaning to the outside world. The voting process can will be handled by the DApps on chain by recording users voting activities. In theory, the central authority will be able to tell who each voter voted for? Other measures can be put in place to prevent it.

Implementing a user management for the decentralized world is not a small feat. Stakeholders will spend more time about the security of their users’ data for fear hackers compromising or stealing the data. Just as banks go to extreme measures to protect their users’ data, applications with centralized user management should go through the same rigorous security testing process.

This is the subject of research we are currently conducting with the hope that a decentralized user management such as Hyperledger Indy can evolve to solve this issue in the future.

The Real Relationship Between Cryptocurrencies, Blockchains and Initial Coin Offering (ICO)

17th September 2018 in Blockchain

As any other hot technologies of the past, there’s a number of buzzwords plaguing the distributed ledger world that we cannot avoid. This creates a mist over the real goal of the technologies. The focus of this article is to try to demystify the world of cryptocurrencies, Blockchains and initial coins offering (ICO).

This all started with the whitepaper written by Satoshi Nakamoto about a peer-to-peer Electronic Cash System called Bitcoin. According to Wikipedia

In economics, cash is money in the physical form of currency, such as banknotes and coins. In bookkeeping and finance, cash is current assets comprising currency or currency equivalents that can be accessed immediately or near-immediately (as in the case of money market accounts). Cash is seen either as a reserve for payments, in case of a structural or incidental negative cash flow or as a way to avoid a downturn on financial markets.

Thus, this new cash system would be electronic in nature. The fact that the cash was electronic did not automatically make Bitcoin a cryptocurrency. Electronic cash has been around since the idea of digital cash was introduced by a research paper of David Chaum in 1983. He then later founded DigiCash. So what makes Bitcoin different to the electronic cash of yestertimes, you may ask? The answer is actually well documented in the Satoshi’s whitepaper. In a normal transaction involving multiple parties, a system of trust will need to be put in place to ensure that the promises are fulfilled. This trust factor would require a centralised body such as a central bank. The centralised body becomes the mediator and has the power of reversal. This is the case today with how Paypal Inc works. Paypal can easily implement their own centralised electronic cash which can be later on converted to physical cash also known as fiat currency. Bitcoin, defined as a peer-to-peer electronic cash, needed a way to create trust among its participants. Peers which are taking part in the network have to understand that there is no power of reversal once a transaction has been accepted and put through the network. For this reason, what is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party. This gave birth to the first cryptocurrency or cryptocash; Bitcoin – an electronic coin as a chain of digital signatures.

At this point, the cryptocurrency was created in a peer-to-peer network where participants can transact directly with one another without the need of going through a centralised entity. The peer-to-peer network introduced another problem; double spending. In the peer-to-peer network, parties involved in a transaction cannot verify if the electronic cash has not already been spent elsewhere. Unless the problem of “double spending” was resolved, the system would not be attractive for conducting electronic cash based transations. Therefore the solution here is to record the chain of ownership of the electronic cash (or coin). If a buyer spends a cash, the buyer will be recorded as the previous owner and the payee (or seller who accepted the cash) will be recorded as the new owner of that cash. A payee can verify the chain of ownership of the electronic cash so to ensure that the buyer has not already spent it elsewhere.

It is a good thing that the ownership history can be traced back to when it was first minted but there is no guarantee to the participants on the network that the history has not been tampered in any ways.

Another requirement emerged; the system needs a way to record transactions in a chronological order. The Bitcoin whitepaper proposed a Timestamp Server:

A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5]. The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash. Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.

As Bitcoin is a financial instrument, therefore the chronological recording of its transactions are similar to bookkeeping and the Timestamp Server is the bookkeeper, the analogy. Now that our bookkeeper is carrying out in bookkeeping duties, the system still needed a way to tell others what our bookkeeper recorded. The only solution is to make our books publicly available to all but let’s not stop there. Let others use our books for their own bookkeeping but let’s put some guideline in place about the information should be recorded in our books. Marketers have sexed up names of bookkeeping books to Blockchain and distributed ledgers.

The Blockchain is a by-product of Bitcoin, it was created in need to provide a trust less environment where peer-to-peer transactions can be executed without fraud.

The Blockchain is an innovative technology on its own and its application can be generalised. Cryptocurrency is represented as data on the Blockchain, therefore data, in its generalised definition, can be anything with a digital representation. The original Bitcoin Timestamp Server had minimal scripting capabilities but nonetheless the functionality was built-in. Those scripting capabilities are now referred to as smart contracts, scripts which can be executed on the Blockchain.

It is now clear what cryptocurrencies, in context of Bitcoin, and Blockchains are. We will go as far as saying that you cannot have a cryptocurrency without its own Blockchain. Blockchains can exist without cryptocurrencies but not the other way around. So, this takes us to the world of Initial Coin Offering.

Initial coins offering, also known as ICO, is a way to raise funds using cryptocurrencies. That is the only commonality. Most ICOs promises tokens which are assets built on top of various Blockchains with Ethereum being the most popular at the time of writing. Tokens are not cryptocurrencies and they are the subject of ongoing discussions of various governments. ICO projects do not have to utilised the Blockchains for development as their main goal is to raise finance similar to how investment in stocks work.

The real relationship is therefore as follow:

  • Bitcoin was the first cryptocurrency as defined by Satoshi Nakamoto whitepaper
  • The Blockchain is a by-product of Bitcoin which has matured to stand on its own
  • Crytocurrencies need the Blockchain, or any other distributed technology
  • Blockchain can be used without cryptocurrencies
  • Initial coin offerings are only concerned with raising finances using cryptocurrencies which they would immediately exchange for fiat currencies

It is important to carry out one’s research as not to be overwhelmed with all the BS out there. This article was to highlight the relationship on the technology stack and as you can see; ICO are not even on the same stack.

Hope you enjoyed the reading, feel free to follow me on Twitter and LinkedIn.