A question that I can't stop asking myself - what is the practical application of blockchain technologies here and now? What needs technology can close at the current stage of development? In search of an answer over the past year, I took part in a dozen hakatons, experimenting with technology, developing one concept after another. On the
Binary District hackathon, which took place after the Blockchain Developer course, our team (Denis Moskovchenko and
Di0niz and I) needed to create a file-stamping system similar to
OpenTimestamps .
As a result, a concept was born that solved the task using a combination of blockchain technology and IPFS. A year later, this concept grew into the
Chainify service, which allows you to easily save data to the blockchain and conveniently work with them. In this article I will tell you how the service works and what problems it can solve.
Retreat
Steve Jobs, after returning to Apple in 1997,
spoke about product development , urging them to stop focusing on breakthrough technologies and sales methods; He suggested starting with the consumer - and only then turn to technology for finding solutions. Now this rule can be classified as marketing dogma, which is mandatory for successful products. For many years this, as it seems now, the obvious rule proves its effectiveness in countless industries. It is also one of the key principles of a lean startup in the process of creating a minimum viable product. Going from problem to solution is simple.
')
However, being immersed in the blockchain industry, I never cease to be surprised at the number of projects promising the next high-performance blockchain platform controlled by artificial intelligence with turing completeness, decentralization and new world order by mid-2022. Is this a focus on technology, not on the consumer and his problems? Creating high-performance blockchains on alternative types of consensus is probably useful from a research point of view. However, what is their practical meaning if a Bitcoin network with a capacity of three transactions per second remains underutilized?
What is IPFS
Chainify uses IPFS, a distributed file storage protocol, in its work. The
ipfs.io team
has developed an open source client that allows anyone who wants to become a member of the network and launch their node. An IPFS client gives access to all files that have ever been uploaded to the network. The file address is its hash, which the client returns when the file is successfully downloaded. The hash is formed based on the contents of the file by crushing it into small pieces and composing the Merkle tree from the hashes of these pieces. What does it mean? Having downloaded the novel "War and Peace", we get a certain hash. Having downloaded it again, we get the same hash, because the contents of the file has not changed.
This is the essence of the IPFS network design, because what's the point of burning traffic and space on the media, duplicating files already uploaded to the network. But if you add in a novel, for example, a comma that did not exist before, the file will load and the output hash will be fundamentally different. A similar rule applies to images with a modified pixel, and audio / video recordings with the cut fragment.
So, IPFS protocol allows us to upload a file to the network and have access to it from any node. However, at the same time, the protocol does not imply the deletion of previously downloaded files, although technically it is possible.
Why do we need blockchain
IPFS provides information only about the presence of the file and its contents, but it does not answer the question by whom and when was this file downloaded. But the blockchain can provide answers to these questions.
Chainify uses the solution from the
Waves Platform as a blockchain platform because of the speed and fixed cost of the transaction. The transaction structure of this blockchain implies the presence of the
attachment field, which allows you to attach additional information to the transaction in text form (in base58 encoding). More information about the device transactions can be found
here . In turn, the Timestamp field shows when the transaction was committed. Thus, having
written the hash of the IPFS file in the transaction body (
attachment ), we can prove the presence of the file on a certain date and its immutability since then.
OfftopicThe first transaction of the Bitcoin network contains the headline of The Times dated January 3, 2009. Chancellor for bailout for banks. This proves that the transaction was made not earlier than the specified date.
The Chainify architecture involves sending the transaction to yourself, saving it in the blockchain and signing the transaction on the client side. It should be noted that in the blockchain, making transactions is possible
only if you have a private key. Read more about it
here or
here . Thus, the key holder can cryptographically prove that this transaction was sent to them.
It follows that the fact of a transaction (with an attached file hash) cryptographically proves the presence of a file at the time of the transaction by the holder of the private key. Of course, this does not give ownership of the IPFS file downloaded to the network. It also does not guarantee that the file on the IPFS network was not loaded before the application of the hash to the transaction.
The combination of blockchain and IPFS allows you to prove:
- availability of a file on a specific date;
- file persistence since;
- the file belongs to the holder of the private key.
In the near future, the source code of Chainify will be posted in the public domain.
Practical use
Media openness
I do not presume to calculate how many posts are placed on social networks by the mass media, but I assume that they create a fair share of traffic in user feeds. It is known that a posted post can be edited or deleted. This problem becomes especially acute in the era of information wars: the parties accuse each other of falsifying data and using dubious sources. It is also relevant for election campaigns - candidates' statements can also be edited.
Creating a clone of a post in the blockchain is a robust proof of the time of publication and unchanged material. The link to the cryptoclone of the post can be attached to the publication or sent as an attachment to the letter.
Combating corruption in the judiciary
Unfortunately, the fact that there is a corruption component in judicial systems is not denied in any world jurisdiction. This problem manifests itself in the possibility of manipulating the materials of the case. Sometimes, in favor of one of the parties, the materials of the case are not accepted for consideration, are being edited or are completely lost. This also applies to cases in which an indictment has already been issued. If, after a sentence β for example, a year later β an appeal is filed, the destruction of the case files leads to a lack of evidence, and prisoners are released due to the unprovability of the charge.
Writing case files to the blockchain database by lawyers, as well as structuring materials in a manner that is understandable to all, allows you to safely store and study case materials. Also, anyone (for example, a law student or a representative of a human rights organization) can independently study the case materials and evaluate the legality of judicial decisions.
Fighting Cyberbullying
Some time ago I took part in a charity hackathon organized by Mail.Ru. His subject was to solve the problem of violence in the adolescent environment, whether it be domestic violence, manifestation of aggression in the network (cyberbulling, trolling, etc.) or in an educational institution. I came up with my vision of solving the problem, and after the hackathon I was contacted by the representatives of the β
Your territory β charity foundation. They talked about their
problem .
βUntil recently, among other things, the foundation provided psychological support to children through ask.fm. The channel was successful and collected a significant proportion of hits. However, later it turned out that through appeals and links to the profiles of children on social networks, they could be tracked down. Turning to the service of psychological assistance, they are at least in a shaky psychological state, and they can be manipulated. β
Having found out, the fund refused to support the channel on ask.fm. And seeing the possibility of anonymization of appeals, they became interested in technology. After all, the blockchain can keep the text in a pure form - this means that it can be used as a means of communication. So the safety of adolescents can be ensured by the blockchain architecture.
Each message is actually a file saved to the IPFS network. It also has a passport, a link to which can be attached to an official letter.
At the same time, with the help of the blockchain, the fund can solve another problem - proof of the fact and the number of appeals to the fund, which is very important for investors and patrons of arts who support charitable organizations.
Fixing agreements
Communication service can also be used for fixing agreements when concluding contracts or for public appeals to state structures. In this case, the publicity of communication allows you to track the fact and the essence of the appeal to government agencies, the speed of processing the request, the nature of the response.
Conclusion
Some time ago I saw this graph in an
article by Simon Wardley.
The graph shows the stages of technology development in the context of its adaptation in society. For example, consider electricity. Electricity as a technology is accepted as a certain standard to which the industry must conform. We do not have personal power stations in the apartments - we just plug the plug into the outlet. Imagine that selling electricity as a technology would tell you about the speed of transmission of electrons over a network. Would you buy it?
The success of the blockchain is not in transaction speed and not in turing completeness. Humanity has finally got a source of truth on which one can rely - and do what was previously impossible.
Blockchain is an outstanding technology capable of fundamentally changing the principle of communication and interaction. A simple example: when deciding whether to invest or cooperate, you will not have to rely on business statements about revenue growth and the number of investors. It is enough to read this in the transaction history.
In January, the new course of
Blockchain Developer will begin, from which I began my journey in blockchain development. If you are already an experienced developer and just want to test your strength, come to the
Waves hackathon , which will be held in Moscow on December 14-16.