Over the past year more and more discussion revolves around the so-called protocol "Bitcoin 2.0" - alternative cryptographic networks, which were inspired by Bitcoin, but intend to use an underlying technology for a much broader than just a currency.
Initially, some of these ideas have been implemented based on the Bitcoin code forks, also called
altkoynami . The earliest implementation was Neymkoyn, bitcoin-like currency, created in 2010, is used for the decentralized registration of domain names. More recently we have seen the emergence of colored coins (
colored coins ), which allow users to create their own currency as a superstructure over the existing bitcoin protocol, and more advanced protocols such as
Mastercoin,
Bitshares and
Counterparty , which are designed to provide features such as derivative financial instruments, savings wallets and decentralized exchange.
But so far all of the protocols that have been invented, were highly specialized, offering a specific set of functions focused on specific industries or applications, usually of a financial nature. Now the development team presents the project, which is based on a different approach: kriptovalyutnaya network, which is planned to make as more versatile and which would allow anyone to create custom applications on top of itself, meet virtually any purpose, what you can be imagined. This
project "Ethereum» (Ethereum).
Cryptographic protocols like bulb
One common feature of the design philosophy of many kriptovalyutnyh 2.0 protocol - the idea that, as in the case with the Internet, design cryptocurrency will work better if the protocols are divided into different layers. According to this thinking, Bitcoin is understood as something like TCP / IP for kriptovalyutnoy ecosystem, and other next-generation protocol can be built on top of Bitcoin just as it was with the SMTP e-mail, HTTP for Web pages and XMPP for the chat - they were all built on top of TCP as a common core layer.
So far, three main types of protocols that have followed this model, were colored coins, Mastercoin and Counterparty. The principle of the protocol colored coin is very simple. Firstly, in order to create colored coins, the user marks the special bitcoins as being of particular importance, for example, if Bob is a repository of gold, it could mark a set of bitcoins and say that every Satoshi represents 0, 1 gram of gold to be Payment (in gold) on his part. The protocol then monitors these bitcoins through blokcheyn and thus always possible to determine who owns them at any given time.
Mastercoin and Counterparty a little more abstract. They use blokcheyn Bitcoin storage, and thus the transaction Mastercoin Counterparty or a bitcoin transaction, but the transaction protocols interpret completely different way. You can carry out two transactions Mastercoin, one - sending 1 MSC, and the other from 100 000 MSC, but from the point of view of the user Bitcoin network that does not know how the protocol Mastercoin, both of them will look like mikroperevody to 0, 0006 MTC each ; Mastercoin specific metadata encoded in the output transactions. Then, the customer needs to search for transactions Mastercoin bitcoin block chain to determine the balance of the current MSC.
I talked to many developers colored coins and protocol Mastercoin and took an active part in the development of both projects. However, two months of joint work and research, I have come to the conclusion that, despite the fact that the idea of creating a high-level protocols over an existing commendable, to date, there are fundamental flaws in the implementation of which can be very strong obstacle Growth of these projects.
And it's not that the ideas underpinning, bad ideas are excellent, and the reaction bitcoin community is an excellent proof that what they are trying to do is very popular. Rather, the reason is that the basic protocol on top of which they are trying to build their reports are simply not designed for this. This does not mean that Bitcoin is bad and is not a revolutionary invention. As the transmission and storage units it's great scientists. However, as a low-level protocol Bitcoin is considerably less effective and poorly comparable with TCP on top of which we can construct HTTP. Rather, it is similar to SMTP, which is good for their narrow tasks, but is not designed for use as a basis for anything else.
The specific problem of Bitcoin is concentrated in one place: scalability. This Bitcoin itself can be considered scalable cryptocurrency, even if the chain of blocks will be over terabytes, as it contains a protocol «Simplified Payment Verification» (simplified verification of payments), described further in the original article Satoshi. This allows you to create "light clients" of small size, which allows even at low bandwidth reliably to determine the course of the transaction. On the same colored coins and Mastercoin this possibility disappears. The reason is that in order to determine what color coin protocol SPV insufficient and required to trace all the way in the opposite direction to its origin. Sometimes the scan back is exponential, and protocols metakoynov there is no way to know anything without the full reverse check of each transaction.
And that's exactly what it plans to fix Ethereum. He has no plans to become like a Swiss knife with hundreds of features to meet all needs. Instead Ethereum plans to become a fundamental protocol, allowing others to build on top of the decentralized application. He must provide more tools to work and to provide all the advantages of scalability and efficiency Ethereum.
The contracts - the basis of all
At a time when Ethereum developed, increased interest is the topic of financial contracts based cryptocurrency; base type of the contract was a "contract for difference» (CFD). The contract between the two parties to agree to deposit a certain amount of money and then withdraw funds from there in a proportion that depends on the value of the underlying asset. For example, Alice invests $ 1,000, Bob - also $ 1,000, and then after 30 days blokcheyn automatically returns Alice $ 1,000 plus $ 100 for every dollar, which increased the price of LTC / USD during this period, and Bob receives the remaining amount. These contracts allow people to speculate on the assets, using high leverage, or, conversely, to protect themselves from the volatility cryptocurrency, to hedge its position with no centralized exchange.
At the moment, however, it is clear that CFDs are a special case of a much more general terms: the contracts according to the formula. Instead of being a contract, where x $ Alice, Y $ Bob, and Alice return x $ plus an extra $ for every $ on which grew the asset, the contract must be able to return the money based on any mathematical formula and thus create contracts allow arbitrary complexity.
If the formula allows random values as input, these generalized CFDs may even be used to implement P2P gambling games
Ethereum develops this idea and promoted it a step further. Instead of being an agreement between the two sides, which has a beginning and an end, contract Ethereum - a kind of autonomous agent, simulated blokcheynom. Ethereum Each contract has its own internal code, and that code is triggered each time the contract is sent to the transaction. The scripting language has access to the amount of the transaction, the sender and additional data fields and to the data block and its own internal memory as input data and can send the transaction itself. To create a contract for difference, Alice will have to create a contract and send it to a transaction value of $ 1,000, and then wait until Bob will contract by sending the transaction also contains $ 1,000. Then turn on the timer of the contract, and after 30 days, Alice and Bob will be able to make a symbolic transaction on this contract to re-activate it and unlock the funds.
Apart from this special case of contract for difference, Ethereum official document describes the many other types of transactions that will be possible with the use of a scripting language Ethereum some of which include:
Escrow with multipodpisyu - arbitration service in the spirit of Bitcoin, but with more complex rules. For example, there will be no need for the signatories to process part of the transaction signed by hand; people can authorize asynchronous output and the transaction will be completed automatically in the moment when all the participants will approve it. Savings Accounts - another interesting plant, operates as follows. Suppose Alice wants to postpone a large sum of money, but does not want to risk everything if its private key is lost or stolen. She enters into a contract with Bob (both not too reliable bank), with the following rules: Alice is allowed to take up to 1% on the day, with the approval of Bob it can withdraw any amount, and the Bob can take up to 0, 05% per day. Usually Alice requires a small amount at a time, and if it needs to be more, it is possible to prove the authenticity of his personality Bob and conclude. If Alice's private key is stolen, she turns to Bob and moves the funds to another contract before the thief will disappear with the sum of more than 1% of its contribution. If the Alice loses her private key, Bob will eventually be able to recover its funds. And if Bob is a crook suddenly, Alice can bring their own funds to twenty times faster than it is. In short, here is taken the best of traditional banking, but not everything is based on trust and technology. P2P gambling - any kind of protocol P2P азартных games can be implemented on the basis of Ethereum. A very simple case is a contract for difference on the basis of random data, such as a hash block. Creating your own currency - using the internal memory Ethereum, you can create a complete new currency within Ethereum . The new currency will be able to interact with each other and have detsentralizvannuyu Exchange and many other advanced features.
This code Ethereum advantage: since the scripting language is designed to have no limitations, except on commission of substantially any type of rules may be encoded within it. You can even manage the savings of entire companies blokcheyne, under the contract, which states that, for example, requires the approval of 60% of the current shareholders of the company for the movement of any of its assets (and perhaps 30% of shareholders may dispose of a maximum of 1% of the day ). Other less traditional capitalist world, the structures are also possible; for example, the idea for the democratic institutions - two-thirds of the members of the group must be agreed to invite a new member.
In addition to the finance
Financial applications, however, it is a very small part of what can Ethereum and cryptographic protocols built on top of it. While financial applications Ethereum - this is the part that initially fascinates many people in the cryptographic community, long-term interest to the question of how Ethereum be able to work together with other non-financial peering protocols. One of the main problems faced by non-financial P2P protocol is the absence of the stimulus - that is, in contrast to the non-centralized platform, they have no financial reason for participation. There are occasions when participation in a sense, is a reward in itself; It is for this reason, people continue to write the software with open source code, contribute to Wikipedia, to make comments on the forums and write blog posts. In the context of P2P protocols, however, participation - is often fun entertainment in every sense of the word, it is necessary to invest a lot of resources, allowing, for example, tasks run in the background consuming CPU time and charge the batteries on a regular basis.
Over time, data protocols, such as Freenet, could provide each uncensorable hosting static content; In practice, however, Freenet is very slow, and very few resources allocated to it. All file-sharing protocols suffer from the same problem: although altruism is usually enough for the dissemination of popular blockbusters, it significantly decreases when it comes to something less popular. Thus, paradoxically, the nature of peer to peer file sharing may actually contribute to the centralization of the entertainment and media products, not hampering it. All of these problems, however, can potentially be solved if we add motivation - an opportunity for people to build not only nonprofit minor projects, but also a business, making a profit, thanks to the participation in the network.
Reasoned storage - in other words, decentralized Dropbox. The idea is the following: if the user wants to store the information size of 1 GB network to be constructed for this data structure, known as the Merkle tree. Then the root of the tree along with 10 coins will be incorporated into the contract and the file is loaded into another dedicated network that will listen to sites wishing to rent space on their hard drives. Every day, the contract will automatically select a random branch ("left - & gt; right - & gt; left - & gt; left - & gt; left - & gt; right - & gt; left & quot;), ending with the lock file and issue 0.01 coins to the first node of this branch . The nodes will store the entire file in order to maximize your chance of getting a reward. BitMessage and TOR - Bitmessage mail protocol is a next generation that is both decentralized and fully encrypted, allowing safe to send messages to any other user Bitmessage, without relying on third party, except for the network itself. However, Bitmessage has one big drawback usability: instead of sending the message to an e-mail with a normal return address type «bob@gmail.com», the program operates with complex addresses Bitmessage, consisting of 34 characters (for example, «BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash») . Contract Ethereum offers a solution: people can register their names with a special contract Ethereum, and customers can request blokcheyn Bitmessage Ethereum to get the address of 34 characters Bitmessage anonymously bound to any name. Online network-anonymizer Tor suffers from the same problems, and thus can also benefit from this decision. System identity and reputation - as soon as you register your name on blokcheyne, the next logical step is obvious: build a system WOT (Web of Trust) on the basis of blokcheyna. Web of trust - a key part of an effective peer to peer communication infrastructure: you do not need to be personally acquainted with the man for whom this is a public key, you simply is not interesting - first you're wondering whether you can trust this person. The solution here - to use social networks: if you trust A, A trusts B and B, in turn, trusted, whereas a large proportion of the probability that you can trust in, at least to some extent. Ethereum can serve as a data layer for fully decentralized reputation system - and potentially, eventually become completely decentralized market.
Many of the above applications are composed of real P2P protocols and projects that are already well developed - in these cases, we intend to establish a partnership with a greater number of projects and funding to help them in exchange for their contribution to the ecosystem of the Ethereum. We want to help not only kriptovalyutnomu community, but in general all over the P2P community as a whole, including file sharing, torrents, data storage and mesh network (mesh networking).