You don't need a blockchain: 8 popular user cases and why they don't work
Sometimes you wonder what only people won't do “on the blockchain.” Since mid-2017, I have been doing security audit of smart contracts and have seen everyone. In a separate category, I would single out “blockchain applications,” which seem logical and useful, but at the core contain a problem. And wander from a startup to a startup with her. Here I will consider a number of such examples, describe problems and non-working solutions. After reading this text, you will know which issues to start with if you, as a developer / client / investor, are offered this “blockchain application”.
- I describe the user cases and problems that arise in the first step. I do not claim that these problems cannot be solved. But when considering such a system, it is worth understanding how the creators propose to solve the corresponding problem.
- The phrase “use of the blockchain” hurts the eyes. Nevertheless, hereinafter I will write it without quotes, although I am still not completely sure that other uses of the blockchain are possible besides money, that is, besides Bitcoin.
1. Supply Chain Management
Suppose we ordered the delivery of goods and the carrier undertakes to observe storage conditions on the way, for example, to maintain a low temperature. The following solution is proposed: we install a sensor in the truck, which regularly publishes the temperature in the refrigerator in the blockchain. Thus, it is possible to trace the history of temperature and make sure that the storage conditions have been observed all the way.
The problem here is not in the blockchain, but in the sensor. Since the sensor is in the physical world, which is controlled not by the code, but by people, the sensor is easily deceived. For example, put only a sensor in a small refrigerator, and do not waste money on cooling the cargo.
Globally, I would formulate this problem like this:
Blockchain is not Internet of Things (IOT).
We will need this formulation more than once. The blockchain provides immutability of the data entered in it, but cannot ensure their truth. The only exception is the case when the whole system operates on-chain, that is, when the blockchain does not try to look into the physical world. Then all the necessary information is inside the blockchain, and the system can verify the correctness of the data: for example, that the address has sufficient funds to complete a specific transaction.
Applications that are trying to deliver data to the blockchain outside are called oracles. On this account, I recommend the article "Oracles, or why smart contracts still have not changed the world?" (Alexander Drygin) . The problem of oracles has not yet been resolved. And until a solution is found, attempts to implement Supply Chain Management on the blockchain, like the example above, are attempts to invent a plane before the invention of the engine.
I took the example of a refrigerator from the article “Do you need blockchain” (Karl Wüst, Arthur Gervais) . I recommend the article itself and first of all this shemku:
2. Guarantee of authenticity of goods
Yuzkeys, not fundamentally different from the previous one. But since it looks different and is offered by other people under a different sauce, I consider it important to consider it separately.
Let us produce some rare / expensive goods - watches, wine, cars - and we want to give the customer the opportunity to make sure that the copy that came into his hands is really made in our factory. We bind our bottle of wine to the token on the blockchain, print a QR code on it. Each transfer of the bottle, from the factory to the carrier, then to the store and the customer, is confirmed by a transaction on the blockchain. The one who holds the bottle in his hands, can go to the site and trace its path from the plant itself, thus making sure of its authenticity.
The whole system is broken by an exploit that is simple as a boot: the malefactor-seller completely copies the bottle, pours wine simpler there and sells the copy with the token to the customer, and the original to the one who is not interested in the token or drinks it himself. And why? Right because
Blockchain is not an IoT.
A bottle is a physical object, which means that with due diligence it can be forged in contrast to a digital signature.
3. The authenticity of the university diploma
Here we are talking about the truth of the statement (“Peter graduated from Moscow State University”), and not about the authenticity of a physical object. In fact, in this case, we are talking about a digital signature to confirm authenticity, plus timestamping, in order to exclude the issue of a diploma in hindsight.
Digital signature (CPU) is great, some even consider asymmetric cryptography the greatest invention of the 20th century. But you should not confuse it with the blockchain: the CPU existed and was useful long before it. Nowadays it has become popular to sell a digital signature under the guise of a blockchain, so be on the alert - you may only need the CPU.
Timestamping is closer. Blockchain is the most reliable way to timestamping. Only here it is not necessary to make new decisions here: it is enough to put the data hash on the Bitcoin blockchain, there is no place for a more reliable and simple one.
Is it a good idea to put the graduate hash diploma on the Bitcoin blockchain, digitally signing it with several professors? Yes. It is important not to spoil this system in a centralized way of checking, for example, through a website or a university application, for example, because it will be the weakest link.
Speaking about voting on the blockchain, first of all you need to understand what problem we want to solve.
The problem of fake voice / authentication. For this you need not a blockchain, but a digital signature. And the main difficulty here is where to get and how to store the private key. I will not explain why any system in which a key is generated not on the device of the ultimate owner, is broken by design. But besides generating the key on your device, it is important that the software that generates the key is open source and well-audited; iron was obtained from a third source (the simplest option is a smartphone); the user knew how to handle the private key.
The first two problems can be solved by the system developer, the third is much more complicated. Perhaps Bitcoin will gradually teach us how to handle keys: it’s one thing to lose your password to a page on the social network or even to your voice, quite another to your own money.
And yes, the binding of a public key to a specific person, if this is required in our voting, is again an IoT.
The problem of publicity counting of votes. Smart contracts a la Ethereum are suitable for these purposes as a first approximation: everyone can see for which candidate many votes were given. True, publicity here can turn out to be a bit too much: if we see the indifferent voice of every person, we can put pressure on this person so that he will vote as we need. You can build a system so that each specific voice will not be visible to anyone except its owner. But the task is more complicated - so that even the owner himself could not prove that he voted for a certain candidate - is not solved yet, which means that pressure is possible.
UPD : colleagues say it’s resolved, and the solution is called uncoercible encryption.
And, again, the task of checking whether additional votes have been issued to non-existent people is the IoT.
5. Proof of authorship
Artist A wrote a picture and wants to fix its authorship on the blockchain. He takes pictures of her, puts a photo hash into the blockchain, and puts the picture on the blog. After that, artist B , who will claim that the picture was actually painted by B , our artist A will produce a photo and a hash, thereby proving that he has declared its authorship a long time ago.
- Artist B may say that he did not know about the blockchain, so he did not register authorship there. That is, to be useful, such a procedure should become generally accepted.
- Artist B can penetrate into the artist's studio A , take a picture of a picture and put it on the hash blokcheyn before the artist A .
An example of a picture can be extended to any other work, these problems will remain. Because
Blockchain is not an IoT.
In general, this use case is not devoid of meaning. The main feature is that there is enough Bitcoin blockchain, a new solution is not needed.
Note : here I am talking about the proof of authorship, and not about intellectual property, because I consider her concept as untenable: “Against Intellectual Property” (Stephan Kinsella) .
6. Land Registry
It was also proposed to tie ownership of land to the tokens on the blockchain. There are also at least two problems.
Regulator actions. If the bottle / watch / car after the fact can be transferred P2P (from hand to hand), then the registration of ownership of land today is tied to the regulator. The regulator requires you to register land transfer transactions with him and, unlike the case with a clock, can always use force when physically coming to your land. The regulator can insist on the transfer of land, and then what happens with the recording on the blockchain? If it is recorded on the blockchain that you own the land, this will be untrue. If the regulator can make its own record by rewriting yours, the blockchain does not work. This is especially important in the light of the fact that in some cases it is proposed to protect oneself from the manipulations of the regulator (or specific officials) using the blockchain.
Centralization of development and support. Who will develop such a system and support the nodes? If the regulator or its counterparty is again, then such a system will not be decentralized. The decentralized protocol with centralized development is a centralized protocol (hello, Ethereum!).
In addition, every time we are offered a blockchain, it makes sense to ask yourself the question:
What does this give me?
Can we use not a blockchain, but a distributed database?
If we can, then there is no point in using the blockchain: it will work slower and require more resources for the same tasks. In addition, specialists for the development and integration of the database are much easier to find than blockchain specialists. They will cost much cheaper, and it will be easier to check the result of work and maintain the system.
Taking into account the problems described above, I will undertake to assert that in the current realities, a distributed database for a land cadastre is better suited. This, however, does not mean that it is not necessary to work on its reliability and openness - see the section “Blockchain as a reason”.
This yuzkeys even seem to have live implementations. Bitfury announced the launch of a land cadastre in Georgia on the blockchain based on the Exonum framework , and is going to do the same in Ukraine and the Maldives. However, I could not find any technical details. Although it seems to be a powerful case, brag, attract new customers.
7. Interbank transfers
This case follows the scheme from “Do you need blockchain”. There is a set of non-trusting parties, and there is no trusted third party. Bitcoin would fit in here, but banks are unlikely to want to make mutual settlements publicly available. Therefore, our choice here is a private blockchain; only banks can write data to it. They support the nodes and verify the transactions of the other participants in the process.
Does this system differ functionally from a distributed database with access control? Only when there is disagreement between the parties. And here the question is whether banks recognize the decision of the system (the result of consensus) or go to court to challenge it. If the latter is legally possible (that is, if the banks have not signed an agreement that they unconditionally accept the decision of the system), then the whole undertaking is meaningless.
In addition, given that banks currently depend on the regulator, the system will lose its meaning if the regulator prohibits or restricts its use - for example, refuses to accept the result of its work in court.
8. Token for Token
Yes, it did not seem to you, I am writing about ICO in 2019. In confirmation of the relevance of the topic, I will say that just now, on January 28, BitTorrent had a successful ICO .
With the words "token for the sake of a token," I mean a situation where a startup releases tokens and states that they give owners a stake in the company / part of the profits / option on the option. The problem is that
Blockchain is not an IoT.
Blockchain, unlike a venture investor or a regulator, will not take a startup person for a button and will not force them to work or answer to investors. The presence of a promise in the form of a token in itself does not force the founders of the company to anything that we have repeatedly observed during the ICO boom (Lambos, that's all). In this sense, ICO is much closer to crowdfunding than to IPO.
Personally, I am a supporter of decentralized institutions, not regulations. Nevertheless, I have to admit that so far there are almost none in this area. So, you have to either use existing tools or rely on the integrity of the company's founders.
Next, I will look at a few user cases that might work.
Blockchain as a reason
Strangely enough, even inactive applications of the blockchain can be useful. For example, in a corporation there is a process / system obsolete for a couple of decades, which is long overdue to remake according to modern patterns. The conservative leadership may not be ready to spend resources on doing something just fine - but it is ready to invest in blockchain-bigdata-Ay-Ay-HouTo-innovation to be ahead of the rest of the planet.
It is then that the cunning (but conscientious!) Intrapreneur comes on the scene and, under the blockchain sauce, offers just the right system design. In this case, the blockchain may offer some advantages, it may not be necessary, or it may even exist on slides.
Hint : when you are offered the blockchain, be sure to offer it. But even if not, the proposal can be practical.
The blockchain for money is ideal - including because it was created for this. He just keeps the statements as follows: “subject A owned the sum X; Subject A has transferred the amount X to Subject B; subject B has the sum X. " The correctness of these statements can be checked inside the blockchain, since previous similar statements are written on it. But the question of where the coins came from initially (mining) deserves a separate article.
Simon Morris wrote a series of BitTorrent Lessons for Crypto . In the second part of “If You’re Not Breaking Rules, You Doing It Wrong,” he says that decentralization is necessary first of all to break the rules, because those who follow these rules will want to prevent you.
And Bitcoin fully satisfies this condition: it breaks the long-customary rule that only states can issue money and determine the order of emission, and also decide which transaction has the right to life, and which is not.
More importantly, in my opinion, Bitcoin performs a specific function - the transfer of value that existed and was understandable to people long before it: “Shelling Out: The Origins of Money” (Nick Szabo) . While the overwhelming majority of blockchain startups are forced to explain from scratch what problem they are solving and why this is important. This situation looks absurd even for traditional start-ups, who have decided to look for a client, test hypotheses, adapt to the market. To solve immediate problems, but not to invent new ones.
Anyway, Bitcoin is the only currently uniquely working application of the blockchain. That is what made me in the beginning of the article question the relevance of the term “use of the blockchain”.
Remark : here I ignore blockchain applications, which are used not by the end user, but by other blockchains, used in turn by decentralized exchanges on which the third blockchain tokens are traded. Although it is possible that the industry will succeed in this way by pulling itself by the hair out of the swamp, like Munchhausen.
Let's be honest with ourselves: for the time being, no one really knows what smart contracts are and why they are needed. This concept is at the very beginning of its path. Ethereum was well ahead of its time. At the time of the emergence of decentralized electronic money Bitcoin, people already knew what money was and got used to using electronic money. At the time of the appearance of decentralized electronic contracts Ethereum, people and with paper contracts are not entirely confidently managed, but there are simply no electronic centralized contracts. You can try to jump through two steps, but this takes at least time. And this is if the concept itself is in principle viable.
Personally, I believe that smart contracts will find their place in the future picture of the world, so I consider it right to work on them now. But this is faith, I have not yet found confirmation or refutation of it.
Above, I examined the examples that I was able to recall and summarize. I forgot to mention some, I just don’t know about others. Therefore, I will be grateful if you add more blockchain applications to parse in the comments. Perhaps I will write a sequel.