
The future of the Web is very reminiscent of Bitcoin
- Transfer

For most people, Joseph Lubin is a leading thinker in the rapidly growing field of digital currencies. For me, he was the person with whom I made my first bitcoin exchange deal , and the person who was used to saying great things in an even and modest voice.
In the winter of 2014, he called me to the Bitcoin conference in Miami to talk about the new Ethereum project , which he and like-minded people from Canada had launched a few months earlier. When he explained the essence of the project to me, he did not skimp on forecasts: “We will replace insurance companies and Wall Street.”
The list continued to grow. Online movie distribution services like Netflix and Hulu. Game platforms like the Xbox and Sega Genesis. Messengers like Twitter. Pensions, currency exchanges, voting systems, intellectual property management, trust funds. If you believe Lyubin, then everything is really everything that we do through the Internet or other digital channels will undergo radical changes.
His idea has since taken over the minds of digital currency enthusiasts. The idea is that the technology that ensures secure transactions on the Bitcoin network and makes them transparent, very fast and uncensored, and does not require trust from other parties, can be used to process more complex transactions and store any digital information on the Internet.
Over the past year, this theory has developed very inconsistently and disorganized. There is already a distributed system of domain names, a digital notary that does not require third-party services, and financial contract management services through decentralized ex-accounts. Some experiments take place in the Bitcoin network itself. Other projects, like Ethereum, have launched new networks or are connecting to alternative digital currencies - Bitcoin clones. Many initiatives have already received funding. In January, Spark Capital and Israeli venture capital firm Aleph funded a $ 2.5 million Colu startup.
At meetings and conferences, there is a tangible sense of limitless possibilities, and that money is only the first and most boring application of Bitcoin technology.
With all the variety of projects, they are striving to change one unpleasant trend - the lack of “truthful agencies” on the Internet. All data created online and all operations are processed by centralized servers, most of which are located in data centers managed by corporations and the government. We depend on them in everything. They store our emails, send them, verify our identity when accessing sites and mobile applications. They track our purchases and process payments.
Nominally, our data belongs to us, but to access and manage it, we need accompanying persons to get from one digital room to another. We do not own our data, but only visit them from time to time.
Nick Szabo [ Nick Szabo] (whose theories on digital contract and smart property have earned him such respect among fans of digital currencies that he is constantly accused of creating a Bitcoin network), summarizes the problem in his blog post:
For all of these machines, the architecture was designed to be controlled by one person or a hierarchy of people who know and trust each other. They can read, modify, delete or block all data on these computers. With modern web services, we completely trust, that is, completely dependent on the computer, or rather, on the people who have access to it, insiders, hackers, in matters of fulfilling our orders, processing payments, etc. If someone on the other end wants to ignore or fake your instructions, they will not be stopped by security systems - only unreliable and expensive organizations whose jurisdiction usually ends at the country's border.
For a long time, all this was taken for granted. If our digital world can be reduced to a set of records that we update and transfer from place to place, then protecting these records from damage is vital. The traditional solution is to restrict access to a small group of proxies. In most cases, we trust the Internet services, assuming that their priorities coincide with ours, and that we have the opportunity to hold them accountable for their misconduct.
But more and more, the priorities of these organizations do not coincide with the priorities of the people they should serve. Remember when Facebook switched its digital switches on social networks and launched a general psychological experiment on its users?
Faced with an unsolvable problem, we settled on the least bad option possible - transferring responsibility for our data to as few people as possible. After all, it is dumber than trusting our valuable digital recordings of some central authority, it will only entrust them to a handful of unknown persons.
But this is exactly what Bitcoin does: a public database that everyone can see, to which everyone can add, and which no one can destroy.
Why should we trust Bitcoin, or rather, the technology behind it? Because it immediately implies that all parties to the transaction are dishonest, and at the same time forces everyone to follow the rules.
When people talk about bitcoin technology, they mean two things. The first is a worldwide database that records transactions and grows linearly in pieces called “blocks”, forming a “chain of blocks”. The second is a network of participants called miners, which are computers (and their owners) that add blocks to the network.
First, take a look at the block chain. If you have bitcoins, this means that there is a record in the chain containing a numerical value (“coins”) and half of the digital signature. A digital signature is a cryptographic task that only you can solve, because only you have the corresponding half. This is your “private key”, and if you have a Bitcoin wallet, then what is in it.
Wanting to spend bitcoins, you make a request to add a new record to the block chain. The new entry refers to the bitcoins that you want to spend - it indicates the previous transaction, thanks to which you received these coins. It proves that you really own them, because your half of the signature solves the crypto task, and adds a new signature to bitcoins, which can only be supplemented by the new owner of bitcoins. When he wants to spend it, the process will be repeated.
Therefore, a chain of blocks is just a long chain of transactions, each of which refers to a previous record in the chain. But Bitcoin users do not update the blockchain directly. To transfer coins to someone, you need to create a request and distribute it over the peer-to-peer network. After that, he will be in the hands of miners. They process requests and verify the signature is correct, and that the number of bitcoins is sufficient for the transaction. They push new entries into the block and add it to the end of the chain.

All miners work independently of each other, with their own version of the block chain. Finishing a new block, they distribute it to other participants who check it, accept it, add it to the end of the chain and continue working from this point.
All this will work only if the miners agree on how the latest version of the block chain should look. But since they are not familiar with each other, they have no reason to trust each other. What will stop the miner if he wants to cheat with the early entries in the chain and cancel payments?
The strategy devised by Satoshi Nakamoto (a pseudonym for Bitcoin architect) to achieve consensus in this system is considered a breakthrough in distributed computing.
“Since the 1980s, consensus algorithms existed where you reached it by providing logs of several computers working on the same network,” says Paul Snow, founder of Factom, a service that packs data and sends them to a blockchain of bitcoin. But these systems worked successfully subject to their cooperation and loyalty.
Bitcoin replaces loyalty with mathematical certainty. Given the cryptographic evidence that needs to be given to conduct the transaction, we are already sure that only people who have them can spend bitcoins. But the miner can also be sure that other miners do not change the entries in the chain, since bitcoin cannot be rolled back.
The process of adding a new block to the chain is very difficult. All participants have to use large computing power, and therefore electricity, to drive new data through a set of calculations called hash functions. Only after the end of this work can the block be added to the chain so as to satisfy all the other miners in the network.
“You are building a giant wall,” says Peter Kirby, president of Factom. “And every time you need to agree on something, you put up a thousand bricks. Agree on something else, and put another thousand bricks on top. This makes it very, very difficult for anyone to remove one brick from the bottom of the wall. ”
Do not believe? Let's carry out an attack on the system.
Let's say there is an entry in the chain of bitcoin blocks that I want to change, and it is contained in the hundredth block of the chain. Meanwhile, the community of miners is already solving block 110. For my changes to be accepted by the network, I need to provide my alternative version of the entire chain. I need to roll back to block 100, change the record, and perform the necessary calculations. Since all subsequent hashes are based on the data I changed, I will have to repeat the work on each of the subsequent blocks, up to 110.
And I need to do this before the miners of the whole world finish the 110th block. The rest will work on my alternative chain only if I give them a chain longer than the one they are already working on. But I'm just a lone miner with a small share of computer power compared to the whole network, so I will never catch up with them. Moreover, in order to crank up such a trick, I need to control more than half of all the computing power that is used on the Bitcoin network at any given time.
And this is a big network. Competing with each other, miners invest in computers with specialized chips, ASICs, which are designed to calculate hashes. The processing speed of computers on the network doubled from August 2014 to March 2015, and the numbers are still growing. Some of these data centers are giants that consume 500 kilowatts and require specially selected liquid cooling .
This means that the chain of Nakamoto blocks becomes the safer the more people participate in the network. But why do they need it? In the case of bitcoin, because they are paid for it. Each time when solving a block, a new transaction is created, according to which a few new bitcoins are assigned to the first miner that completed the work.
In old security models, you tried to isolate yourself from all greedy and dishonest people. Bitcoin invites everyone, hoping that they will work in their own interests, and uses their greed to ensure network security.
“This is the main contribution,” Ittay Iyal says. [Ittay Eyal ], a computer science specialist from Cornell, who studies bitcoin and other decentralized networks. Bitcoin is designed in such a way that it is more profitable for an attacker to work together with the system, rather than attack it. The incentive system encourages contributing through its resources to the benefit of the system. ”
When using a chain of blocks to store a record of a certain amount, we get a bitcoin network. When Nakamoto launched Bitcoin in 2009, the blockchain was just a sequence of transactions. But people quickly realized that transactions could be adapted as vehicles for inclusion in the non-financial data chain.
After heated discussions last year, protocol developers added the ability to attach 40 bytes of metadata to each transaction.
Now the chain is full of all kinds of non-financial messages. Valentines, prayers, eulogies, excerpts from Wikileaks, hashes of the texts of books and of course the original scientific work that describes Bitcoin technology. All this lives in a chain of blocks, being included in the transaction.
When metadata is included in the chain, they get all the benefits of using a p2p network. This data is available to anyone on the planet that has a computer and an Internet connection. To destroy them, you would need to reach out to every computer on the network. They cannot be changed, and therefore, it is impossible to apply censorship to them. They have both the time of creation and the cryptographic proof of authorship.
So what can you do with a block chain? The simplest option is a simple storage system that has unique advantages. Everyone who is interested in transparency and accessibility sees in the chain a way to organize and store important records and the possibility of including people in the legislative process.
Since each record has a timestamp, it can be used as a decentralized notary. Imagine that you photographed a dent in a rented car and loaded it into a chain of blocks. Using the properties of the chain later, you can prove that the dent was in the car even before you left the parking lot.
Since Bitcoin transactions are protected cryptographically, the network can also replace the standard login + password approach. In such a system, the bitcoin address can be a username, and the private key can be a password. Everyone can ask you to confirm your identity by deciding with the help of your key the same problem that you would solve by creating a transaction.
The chain also solves the problem of censorship. If you insert metadata into a chain once, it is no longer possible to remove it from there. The developers used this opportunity to create an uncensored version of Twitter called Twister and a decentralized domain name system ( Namecoin ).
“Everything you own and do is controlled by a bunch of records,” says Kirby. “A bank is just a bunch of notes. Insurance company - a bunch of records. An economy is a bunch of records. If you can accept the concept of a global ledger and say: “Now we can organize all the records in the world in this way,” it’s very cool. ”
So far, these are all examples of how you can use a block chain to change the methods of storing data on the Internet. But storage is the tip of the iceberg. Bitcoin is not just a ledger with transactions. With him there is an army of miners working as one distributed virtual machine.
Today their role is simple. After collecting a packet of requests, the miner runs them through the verification program. It confirms that you are who you are, and that you have enough bitcoins to conduct a transaction. Then your transaction is accepted or discarded.
But what if you ask the miners to do something else? For example, "do not approve the transaction while I am alive." Or, "upon approval of the transaction, correct the number of coins sent, taking into account the price of Tesla Motors shares."
The first example is the rudiment of the automatic distribution of funds by will without the need for a lawyer. The second is a decentralized exchange.
The examples are simplified and create new problems, but they simply illustrate the opinion - the calculations made by the miners can turn into something more exotic. This is the basis of what is called smart contracts, in which miners enforce financial obligations. You can even imagine autonomous corporations linking financial transactions on smart devices with contracts concluded through a chain of blocks.
Bitcoin now has restrictions on such contracts. A minimalistic programming language limits the types of operations that miners can perform. But developers are constantly discussing new additions to the protocol.
It will be necessary to add flexibility to the protocol if Bitcoin wants to go beyond the scope of a static ledger. In 2012, developers anticipating this added multi-signature transactions. They allow users to share ownership of addresses among several people by assigning them several private keys. Since then, many companies offer escrow services based on such transactions.
Changes to the protocol take time. To make sure that all network participants play by the rules, you need to make changes so that they satisfy all interested parties. This process can be tedious. Some believe that it limits the evolution of bitcoin. “Now there are already five different parties involved in finding consensus: developers, miners, sellers, users and service providers. Usually, the consent of all five parties is required in order to amend the protocol, ”says Andreas Antonopoulos, author of“ Mastering Bitcoin. ” “We are nearing the end of an era in which radical changes were possible.”
Recently, programmers involved in the development suggested a possible solution to the problem. Adam Beck, a cryptographer who developed the central functionality for bitcoin security, has long been advocating the creation of parallel block chains, or sidechains. They should work as a source of innovation in the Bitcoin ecosystem. It would be possible to freeze your coins in the main chain of blocks so that they could not be spent, and transfer them to a parallel chain communicating with the main one. She accepts exchanges, but works according to her own rules. And the process must be reversible. Using third-party chains, developers could freely design exotic platforms. Bitcoin owners could pay through these experimental chains without leaving the Bitcoin system altogether.
Recently, Blockstream, founded by Beck along with a dozen other community-respected people, has released an implementation of third-party open source chains called Sidechain Elements.
Meanwhile, Ethereum does not wait until the chain of blocks of bitcoin is pulled up to its ambitions. This is a project working with a new chain that wants to turn a network of miners into a working distributed computer. Instead of giving out to the miners several new commands that need to be executed during transaction processing, Ethereum allows them to run any programs. This means that miners can run software that is not related to transactions at all. Theoretically, the platform can be used to interact with any application, replacing a set of Internet servers with one large distributed virtual machine. The ultimate goal looks absolutely fantastic. “We are building a new type of Internet,” says Lubin.
“In the Ethereum project, since each node is a full-fledged virtual computer. a developer can download a transaction with computer code and add it to the network, he says. - The system recognizes it and installs a code on each network node. In a few seconds, your application will work worldwide. ”
Interaction with applications consists in sending “ethers” (ethers, an analog of bitcoins) to the network and requesting access to software in a chain of blocks.
Funding for the project was extremely successful. The Ethereum Foundation, a Swiss-based non-profit organization, decided to receive financing by selling ether to everyone. Unlike Bitcoin, the Ethereum Network was designed to create a set of coin-ethers before the network starts. Last summer for 42 daysthe fund sold part of its reserves in exchange for bitcoins. The sale brought 31,529 bikoins (at that time an analogue of $ 18 million, but now it is already half as much).
Over the past months, developers have shown preliminary versions of their software at various meetings. In March in New York, Connor Keenan showed an application that performs all the functions of a web forum like Reddit. The program code is recorded in a software object called a “contract” in the test version of the Ethereum chain. To use the program, you must create and distribute a transaction over the network (having spent a small amount of ethers, sending them to the address of the contract). Miners will run local copies of this program on their computers, allowing you to add posts and comments, etc. Another speaker showed a rudimentary video game.
You can imagine programs that accept transactions for showing films, securing complex financial contracts, or organizing a decentralized corporation.
Take a car rental. Instead of going to the window and talking to the person who will hold your credit card and give you the keys, you send a transaction through Ethereum, which establishes a contract between you and the tenant. This payment will also be the code that activates the smart card (or a mobile application, or any other type of key) so that you can start the car. Other programs in the block chain will track the number of kilometers traveled and calculate the cost of rent, and the profit will be automatically sent to the owners of the company. Bitcoin adherents believe that this model is not only unnecessary, but also dangerous. “I disbelieve complex ideas - distributed autonomous corporations that work independently and somehow miraculously ensure their security,” says Gavin Andresen, one of the main developers of the bitcoin protocol. “Maybe someday, when we have robot cars and robot inspectors, we can afford a company managed by code without people. Maybe then we will need complex contracts in a chain of blocks. But I believe that this is still very far away. "
If we get there, says Lubin, then not through bitcoin. “This is a very narrow protocol. He does only one thing and does it well, ”he says. - Probably, it would be possible to build everything that Ethereum can do through bitcoin. And it would take you 10-100 times more time. In Ethereum, everything happens at the application level. It turns everything at the application level into software, the writing of which is accessible to millions of people - in contrast to complex fuss with cryptographic primitives. ”
Surprisingly, only six years after the creation of bitcoin, there were those who already considered the system too tight. Developers may argue about how the future looks and where the next generation of bitcoin applications will appear, but they agree on one thing: the future will not be centralized. At least in this matter, bitcoin adherents have reached a happy consensus.