Skip to main content

The Essence of Blockchain

A blockchain is a chronicle of signatures. Everyone can see the signatures but no one can afford to alter them. As a new block of signatures joins in as time passes the blockchain security as a whole becomes stronger. Blockchain is protected by public cryptography with no need of a central supervision. By design, altering any of the signature will be a very expensive undertaking. So expensive as comparable to the cost of breaking a vault of gold, which act of breaking in is much more expensive than the gold itself. All signatures are well-verified prior to being kept secured into a blockchain. Hence, all signatures in a blockchain can be trusted without requiring any third party verification.

The principle of blockchain was made popular through the Bitcoin whitepaper by an illusive Satoshi Nakamoto. Even though the two words block and chain were never mentioned as one word in the whitepaper the essence of blockchain was described through out the document.

The Bitcoin blockchain was designed to keep the cryptocurrency spending signatures. A spending is a simple statement saying that A spent his Bitcoins to B. From all spending statements the ownership of all Bitcoins can be summed up. The distributed consensus of Bitcoin prevents A from double spending which means A cannot spend or duplicate the same Bitcoins to both B and C. i.e. If A has only 10 Bitcoins he cannot make two statements saying that he spent 10 Bitcoins to B and also spent 10 Bitcoins to C. Double spending problem is only inherent in decentralized cryptocurrency. The so-called 51% attack will unfortunately enable double spending. The attack is not about altering existing signatures but creating new double-spending signatures. Altering an existing signature is still very expensive for a 51% attacker.

A blockchain can securely keep any type of signatures not just cryptocurrency spending signatures. If it does not involve cryptocurrency than it does not need distributed consensus because the issue of the so-called 51% attack does not arise. Hence, a private non-consensus blockchain is viable.

In an ordinary information system a blockchain can be applied as a chronicle of usage signatures. Each time an information system is used a signature of the usage can be kept in the blockchain so that no one can dispute that the usage had indeed occurred. An information system usage can be in the form of creating a new record or viewing or updating an existing one. All signatures of authorized uses or alteration of the information system can be kept in the blockchain. Hence, any attempt to alter the information system through backdoor can easily be detected and corrected. Implementing a blockchain is equivalent to closing all backdoors. An information system with no backdoor is the most secured system. It can prevent the system from being brought down by internal or external malicious actors. A blockchain can make any ordinary information system temper-proof as it had made Bitcoin temper-proof.

The chronicle of signatures is the solution to the backdoor problem of all existing information systems including the ones used in the banking and financial industries. All central banks hate cryptocurrency but they are eager to seize the blockchain.



Comments

Popular posts from this blog

Setting Up PyScripter for Quantum GIS

PyScripter is a general purpose Python Integrated Development Environment (IDE). Quantum GIS (QGIS) is a desktop GIS application that can be extended with Python plugins. Both are open source softwares. We intend to use PyScripter as an IDE to build QGIS Python plugin. We are using PyScripter 2.4.1.0 and QGIS 1.6.0 in Windows. PyScripter does not come with Python. On the other hand, QGIS is built in with Python. Thus, we will setup up PyScripter to use the build in Python in QGIS. We assume both PyScripter and QGIS are already installed. Preparing PyScripter batch file We assume that QGIS is installed in C:\OSGeo4W\ folder and PyScripter is installed in C:\Program Files\PyScripter\ . 1. Copy qgis.bat in C:\OSGeo4W\ bin to pyscripter.bat 2. Edit pyscripter.bat to remove the last line that read something like this start "Quantum GIS" /B "%OSGEO4W_ROOT%"\apps\qgis\bin\qgis.exe %* and replace it with this in one line Start "PyScripter" /B "C:\Progr...

Access Control

Access control is about controlling user flow within your application. Do not mistaken access control with security which is a bigger subject in itself. Access control begins by authenticating user and limit his or her activity in your application. An activity is something like creating, updating or deleting a content. There are always finite number of activities that can be done in a given application. Each user can be assigned to a set of activities that he or she is allowed to do. Access control is usually tied to session management. However, you do not need session management to have access control. When a user log in, a session is created so that the user is remembered for the subsequent access. Otherwise the user has to keep on providing his or her credential for each access. We can also keep a list of activities that the user is allowed to do in the session record. Some applications let the session alive indefinitely and some applications time out user after a duration of inacti...

Maps Without Dedicated Server

Geographical Information System (GIS) was designed for engineers. That was good because engineers always work with standards which make interfaces open. Web Map Service (WMS) is one of the open interface standards. WMS focuses on maps portrayal via the Internet. A WMS client will request map graphics from the server which acquires, stores and prepares the maps using GIS back ends. A WMS server can be a full blown GIS engine or it can just be a gateway for other GIS engine. Due to the GIS engineering perspective, many GIS implementation was done by hardcore  programmers who work with C/C++ or Java programming languages. The legacy survives till today. The choice of programming language determines the type of server the GIS requires. Unfortunately, most GIS implementations only work with dedicated servers which incur high operating cost. A dedicated server need a special work force to overlook on the daily operation. We have to be realistic if we want to bring GIS into the ...