Scientific definition of Blockchain

Being part of blockchain industry, I read and hear a lot about tech itself, use cases and scenarios, future applications etc. At the same time, I never saw a formal scientific definition of what the technology really is. Under blockchain here I mean not the data structure – chain of blocks – but the technology framework which includes the distributed ledgers, smart contracts, and all these nice new widely adored features. In the end of the day, all this blockchain tech is part of computer science, isn’t it? So here is my definition of blockchain technology for your judgment and further discussion:

“Blockchain is the technology which allows trustless Turing machine replication over an asynchronous network.”

If we speak about distributed ledger without smart contracts layer, Turing machine can be replaced by the state machine in the definition above. Indeed, every node of Bitcoin network is a finite state machine while the smart contract in Ethereum is Turing machine which works simultaneously and identically on all network nodes.

My view is that it is replication which is the most important. The proper replication of the database (ledger) or a process (smart contract) enables all these new business ideas because it brings the data and the process closer to where it is needed therefore cutting the costs and improving efficiency.

The replication itself exists since quite a long time and has been widely used for building fault-tolerant systems. There are also some technologies dealing with asynchronous networks. But trustless and asynchronous taken together create the real innovation. The trust is a fundamental concept in the blockchain technology. When dealing with someone in the real world, you have to trust them. Trustlessness in the blockchain world sets up an interesting paradox, you don’t have to trust any of the counterparties, but you can trust all of them taken together. Indeed, you don’t have to care whether the node you are sending your transaction to is legit. If it is not, the failure will be corrected by the consensus algorithm (if a certain majority of the nodes are legit), so in the worst case your transaction will not be processed while in the best case it will be processed correctly.

You may ask: what about immutability, irrefutability and other nice features of blockchain? The answer is that all these features are consequences of the fact that data is organized as the chain of blocks, each referring to the previous one. Why would we need such a data structure? Because it allows the above-mentioned consensus algorithm to function properly. So the logical chain here is: trustless replication requires consensus algorithm which in turn requires the data to be organized in a blockchain. This logical chain can be evolved further to systemize the blockchain tech stack of protocols, but it is the topic for separate discussion.

Write a comment

Comments: 1
  • #1

    Oleg (Thursday, 03 November 2016 18:57)

    Dmitry is definitely thinking here on a different plain from most pundits covering blockchain tech. Personally, I find it easier to get my head around the approach that does not include smart contracts and then add Turing machine to allow for them at the end.