Can Blockchain Be Used To Sell Everything?

0 23

We often treat blockchain technology as some kind of world-changing, or at least future-shaping, silver bullet. Decentralized society, unsupervised or market-based competitive monetary policy, even some kind of technology that makes society as a whole better. All of this is obviously inherent in blockchain technology, but to treat it as evidence would be just as much nonsense as if we had said in the 80s and 90s, when we saw the Internet at the time, that this technology would fundamentally change our future.

Blockchain technology is as much a buzzword today as saying that the Internet will change everything. Good, but how? The answer is that no one really cared then or cares now. Just as it was obvious then that what was "Internet" could be good, we think the same about blockchain technology today... If something runs on blockchain technology... well, it's the future.

Why did I choose this topic for today's post? Recently I saw a YouTube video showing a product... or rather a range of products. The most important feature of the product line was that it runs on blockchain and from now on it will change the world, because, what runs on blockchain can only be good. Obviously some of the readers will be able to figure out from the following which video and which product we are talking about, but this article is not about eviscerating the product and/or video, that is the furthest thing from my mind. This is precisely why I will NOT link to or name the source video or the product, as this is irrelevant to the discussion below. The purpose of my article is extremely simple. When somebody tries to "sell" you a blockchain project, you should be able to see through the sieve and understand that not everything is gold that shines...

What is NOT Blockchain?

A blockchain is not a software. We do not have a blockchain by "developing a revolutionary enterprise blockchain". A blockchain software alone does not guarantee any of the buzzwords such as: transparency, tamper-proof, decentralized operation without central control or the much-touted trustless third party operation.

The blockchain as a software component is essentially an explicitly NOT complex product. Although it can look infinitely complex, it is fundamentally stable:

  • from a raw transaction database,

  • consists of a distributed network (typically peer-to-peer) communication layer

  • and consists of a dedicated validation layer that guarantees, that all members of a given blockchain can verify all existing transactions, so that they can truly determine whether a given blockchain is tamper-proof without the involvement of a third party.

That's it... essentially that's all blockchain software is. If someone decides to develop a blockchain now, with a few weeks of cold food and some programming skills, they can do it. The necessary cryptographic and hash libraries are ready to use, as are libraries for distributed communication, peer-to-peer node discovery and merkle-tree generation. For those who don't believe it, here is a sample.

So if someone says that their project is good because they developed their own blockchain... well, that doesn't necessarily mean they should be downhearted... especially because in the vast majority of cases, they are not actually blockchains. Respect to the exception of course.

Why not blockchain?

A blockchain is not a blockchain because it runs blockchain software. It is because we give up central control and leave it to the consensus. The essence of consensus is that it is run according to a set of pre-established rules, where independent and economically disinterested parties check (validate) each other and no single speck has the power to arbitrarily rewrite the consensus rules, or even the blockchain. Of course, in fact, anyone can do this at any time, but if the consensus among the other players is strong enough, such manipulations are invalid. Knowing a good consensus mechanism is that it can only be modified if the majority maintaining it agrees, in which case the minority either accepts the modification or secedes/separates (unforks the blockchain). In this case, the blockchain moves on with a common history, but now on a separate path.

Some important conclusions can already be drawn from this statement:

It is NOT blockchain, where a single economic entity runs a blockchain software alone and claims that everything here is revolutionary and that the world will be better off because of it.

That is not blockchain, where several actors are involved, but the actors are in fact not economically opposed. In such a case, the dominant actor can always force the others to manipulate the blockchain (e.g. modify the consensus mechanism) in order to achieve a common goal. From an economic point of view, two parties are opposing each other if, for example, they represent the customer and supplier sides of the same process, but of course it is more useful to think in more complex contexts. Let's take a good example:

In the case of the Bitcoin blockchain, all active economic agents (i.e. miners) are economically counter-interested. Their primary objective is to create as many blocks as possible themselves and if they do not create a block, they should check its content carefully, because if it turns out that the block is invalid, they will not start building another block (wasted energy) and if the block is invalidated, the competition for the block and its reward will start again. This principle, which is easily understood by common sense, is based on game theory. Where no such principle can be found, it is not blockchain!

The economic disincentive to Bitcoin can be seen at another level, as nowadays, in order to be a relevant player in the Bitcoin network (i.e. to have a significant say in a protocol change vote), one has to invest the GDP of a small country in the form of mining machines. However, for these investments to pay off, the reputation of the blockchain itself (in this case Bitcoin) must be impeccable, so if one miner cheats and the others let it happen, there could be a loss of trust that would call into question the sustainability of the entire network. But how would fraud be detected? Consider the following thesis:

That is not blockchain, where transactions are not public at least to the users. The essence of Blockchain is that any passive actor can verify the authenticity of any transaction, so it does not need to rely on the word of a central or third party. Transparency towards passive actors is an evidential prerequisite to talk about blockchain. But how can this be achieved in a permissioned (private, consortial, enterprise, whateverbullshit-buzzword) blockchain? Let's look at a familiar example Facebook Libra:

The Libra Network protocol is a permissioned blockchain where validation can only be done by pre-contracted partners who deposit large amounts of money (10 million USD). This deposit is the guarantee of the 'economic counter-interest' described in the previous point, since it is in the interest of the validators to detect fraud, since if they do not, the credibility of Libra as a whole is called into question, which could lead to an explicit loss of confidence in the project. Transparency is ensured by the fact that I can dump the entire Libra blockchain via the Libra console (RPC-JSON) at any time and thus validate all transactions myself... Not just my own, anyone's. From now on, the validators have to keep an eye on the transactions of the other validators, because if there is any manipulation (e.g. spending a value that was not signed correctly, or accepting a wrongly executed MOVE smartcontract as valid), it can be easily spotted by the users.

Now... if Facebook has been able to put together a permissioned blockchain in about half a year, where its users can check the authenticity of transactions, then don't tell me that the content of the blockchain is not public, because very important transaction data would leak out. Of course they would, that's why we use blockchain technology. I note that it is not so crazy to use zero-knowledge (e.g. zkSNARKs) or any other solution like ring-ct for private blockchain, which means that although all transactions are verifiable, it is not possible to know the actual balance of any account. This way, the information leakage problem can become irrelevant and the blockchain nature of the register is preserved.

What is this consensus mechanism?

It is clear that the key player in the 'real blockchain' vs. 'dumb database masquerading as blockchain' issue is the much talked about consensus mechanism. But what exactly is it? It's essentially the rulebook of the board game. It tells you how to move the pieces, what happens on which field and what is required to win the game. Even traditional board games are in reality decentralized ecosystems, and the rulebook describes how they work. The game is enjoyable if everyone follows the rules. If someone doesn't, the others can spot it and signal that they've cheated... i.e. broken the consensus rules.

This is exactly how blockchains work, whether private or public. Just as in a board game, all players have a vested interest, because everyone wants to win and everyone knows that the closest to winning is to play by the rules and be fair, so in a real decentralized blockchain, the players must have the same interest.

The consensus mechanism describes the rules of the blockchain. For example, what hash algorithm should be used to verify transactions, what signatures can be accepted, the difficulty of a hash that can be accepted for a new block, and what should happen if two new blocks start propagating on the network at the same time. All the active actors in the network (the nodes) are, in effect, completely blind, receiving only incoming raw transactions and finished blocks, and building and maintaining their registers based on consensus rules. A blockchain contains all the same information in advance, without ever being interleaved or cross-checked, guaranteed by consensus rules. So there is no reason at all to have one priority node controlling all the others. All active elements are autonomous.

The essence of the consensus mechanism is the description of the constancy and strict rules. However, this is also a drawback, as the world is constantly changing and it may be appropriate to change the rules, just as in a new edition of a board game the rules may be refined depending on customer feedback.

For distributed networks, where all actors are autonomous, this is a tricky task. But the principle is extremely simple. One or more active actors decide that they want to change something in the rule set. Perhaps the best known example of this in Bitcoin is the scaling debate, which is about being able to create blocks larger than 1MB of raw transaction volume. In this case, the initiator creates a modified blockchain application, in which it is burned in that it will no longer create blocks of 1MB but 100MB from a certain point in time. He then starts promoting his new consensus mechanism. Open discussions will start about whether the modification is really justified and whether this is how the majority really envisages the scaling problem being solved. If by the date in the code the vast majority accept and implement it, the new consensus mechanism will be "activated", so that the upgraded active nodes will now create 100Mb blocks, while the old nodes will still only create 1Mb blocks.

Does this mean that the blocks are mixed up here? Actually, no because blocks larger, than 1Mb are thrown away by the old rule nodes, because they are not valid for them. And the new nodes will throw away the old consensus blocks, because they are not based on the blocks that were created according to the new rules of the game. So although all blocks are propagated continuously between all nodes, each chain can pick out what belongs to it and what does not belong to it.

Is Blockchain the only one that cannot be manipulated?

No, if it were, the world would be in big trouble. Cryptography was not born with blockchain technology. Thanks to public key cryptography, time stamps and PGP protocol. Tamper-proofness has been ensured for decades via the open internet. It is no coincidence that blockchain solutions are based on these technologies. So anyone can legitimately claim that they have created a system that is technologically guaranteed to have all the features that we would otherwise call the advantages of blockchain solutions, but in these cases we must also trust the central operator, because only they can actually control these certain guarantee conditions, So to claim that the security of the system is guaranteed by the use of blockchain technology... well, at best this is just a botched marketing ploy... at worst it is a sneaky attempt to deceive and defraud customers... which unfortunately works in most cases and people react in this way:

0
$ 0.00
Sponsors of Peter-Molnar
empty
empty
empty

Comments