Overview of decentralized technologies. Part 2

The first part can be found here , in it I talked about what Blockchain, Ethereum, Ripple and Storj.io are. Today we will talk about interesting, new and not yet adequately covered technologies on
Sidechains
Adam Beck, a cryptographer, inventor and author of the sidechain concept, and a group of like-minded people, among whom there are developers who are at the forefront of popularizing Bitcoin, as well as well-known figures in the online payment industry, launched Blockstream startup . The former CEO of Zero-Knowledge Systems Austin Hill was invited to the role of manager . According to information on the official website, Blockstream aims to develop and accelerate innovations in the field of cryptocurrencies, open assets and smart contracts, and the sidechain is its first development, which is currently presented in the form of a technical document .
The successful implementation of sidechains opens up the following interesting prospects:
Bitcoin can become the main reserve chain for many other distributed platforms and the main reserve currency for other cryptocurrencies. This change will accelerate the spread and development of third-party platforms, such as Ethereum, Maidsafe, Ripple, Zerocoin and others, making it possible to directly link them to the basic functionality of Bitcoin.
In case of successful use of sidechain, this technology will be the next stage in the evolution of both cryptocurrencies and decentralized distributed information exchange networks in general. Third-party platforms will become more accessible to a huge number of Bitcoin users and will gain strong feedback from its entire network.
The successful adaptation of the sidechain would also allow combining Bitcoin and many other alternative cryptocurrencies and distributed platforms into a single ecosystem, each participant of which will be able to use the whole variety of crypto products and choose those that will satisfy his particular needs.
Further, I would like to give the main thoughts from the article “ A simple explanation of bitcoin sidechains ”, which explains the basic principles of the technology: The
description of sidechains is now presented in the form of the scientific work mentioned above.

This paper describes how to build “pegged sidechains”. Sidechains in themselves are not new: the methods of their creation and the very idea of their creation have been discussed for some time, and a key breakthrough in this area has been outlined earlier this year. This work, however, reveals in more detail the meaning of this concept, and has already attracted many comments.
And yet, what are sidechains? And why should you even pay attention to them?
How do we imagine Bitcoin
The key to understanding most of the innovative changes that are happening with Bitcoin is to make sure you have the right speculative model of how it works. In fact, it turns out that many people do not understand how it works and, as a result, have an erroneous idea about it.
To help deal with this, a few months ago, the author came up with an analogy for Bitcoin based on comparing its “ unspent findings ” (see transaction output - translator's note) with plots of land. Here are its basics:
To get started, get out of your head everything related to money, currency or payments. Throw out the phrase "transaction register" as well. The amazing secret of Bitcoin is that there is no register! There are only two structures that matter - transactions and their blocks. It is very important to understand this properly, so that the meaning of sidechains becomes clear to you.
When you “move” bitcoins, you say:
- Hello everyone ... I would like to move these specific bitcoins, please.
- Here is my confirmation that I have the right to move them.
- But in this way, the recipient, in turn, will be able to prove that he has the right to move them.

Three key stages of a Bitcoin transaction.
There are several important points here:
- Bitcoins do not lend themselves to ideal measurement ... when you move (i.e. spend) them, you spend a certain amount of certain, unique bitcoins.
- To spend it you need to prove that you have the right to do it. To do this, you first need to provide a solution to a certain problem that you received when they were sent to you. Usually the conditions of this task are: “prove to the rest of the world that you know the public key associated with a particular Bitcoin address and at the same time also have the private key associated with it.” However, this task may be even more complicated.
- When you send bitcoins somewhere, you set the task to the next owner. As a rule, you simply indicate that they need to know the “public key-private key” pair, which are associated with the Bitcoin address to which you sent the bitcoins. However, again, you can make it harder. In general, you don’t even know who the next owner is ... they can be any person who satisfies this condition.
These three points should firmly enter your memory!
So, the “basics of science” of Bitcoin transactions are clear: “These are the coins I want to move. This is proof of my rights to do this, and here is what the recipient should do if he wants to spend it. ”
This transaction gets into circulation inside the common network, one way or another finds its way into the block and, after other blocks are built on top of it, each participant in the network can be completely sure that these changes are irreversible. Everything continues to take its course. Everything seems to be fine, what more could you ask for?
The basic foundations of Bitcoin as a whole work just fine ...
And moreover, it turns out that you can do really interesting things with it. For example, you can use the "non-ideal measurement" of bitcoins in order to "mark" them. This is the basis of the work of ideas such as " Colored Coins " and " Smart Property ".
However, there are problems, such as:
Block formation intervals
The interval for the formation of a Bitcoin block is 10 minutes, so in order for a new transaction to find its way to the block, it takes an average of five to ten minutes, regardless of how much commission you are willing to pay. For some people, this is too slow - so much so that they are experimenting with alternative, Bitcoin-based cryptocurrencies that use a shorter interval.
Transaction structure
A “three-step” transaction structure is very common, but it allows you to transfer only ownership of bitcoins. Some people would like to transmit more diverse forms of information through such systems. An example is a decentralized exchange, whose participants need a way to place orders. As a result, projects such as Mastercoin, Counterparty, NXT and others either create their own levels of interaction on top of Bitcoin, or use completely different source code bases to achieve their goals.
Transaction conditions
I wrote above that you can embed complex rules in a Bitcoin transaction to indicate how ownership will be verified. Be that as it may, the Bitcoin scripting language is intentionally limited, and the implementation of many ideas in the field ofSmart Contracts is difficult or impossible. Therefore, projects such as Ethereum are building a completely new infrastructure to develop these ideas.
Same Security Policies for All
Regardless of whether you transfer $ 1 billion or a hundredth of a cent on the Bitcoin network, in both cases you get the same security guarantees. In doing so, you lose time and pay commissions. But what if you are willing to sacrifice security for speed? In this case, there is only one real option for you today - to send coins to the centralized wallet provider, which you will have to entrust with their integrity and safety. And then, using their accounting system, you will be able to conduct any desired transactions with their other customers, without any contact with the Bitcoin transaction register. However, this way you lose all the advantages of a decentralized network for transferring valuable assets.
“Equal to all” does not mean “Comfortable to all”
Applying experimental or quick changes to Bitcoin technology is a very risky task, so changes in it occur slowly. Moreover, if such an invariable, “the same for all” architecture is not suitable for a specific practical case, you have a problem. You need to either use a completely different cryptocurrency (maybe even create your own!), Or use (or create) a centralized service, and this leads to new risks.
This situation is very inconvenient. It also creates risks, fragmentes and slows down the process of adding products, services and infrastructure to the Bitcoin network.
However, we can make an interesting observation. Imagine what happens when you send bitcoins to a centralized wallet, such as circle.com for safe storage.
- You send your coins to a specific Bitcoin address
- They appear inside your wallet on circle, however now you can not control them using blockchain technology.
- At some point in the future, you can send your coins back from the circle wallet to your Bitcoin address
- Now you again have control over certain specific coins from the blockchain
In terms of the Bitcoin network, Circle is a black box. You had coins ... you sent them to a specific address ... something happened that Bitcoin could not trace ... and after some time some coins again came into your control. It looks as if these coins were moved from the Bitcoin network somewhere to another place, and then returned back.
The essence of sidechains
The key idea of the sidechain concept is as follows:
What if you could send bitcoins not only to individuals, to individual addresses or centralized services, but also to other blockchains?
Imagine that there is some Bitcoin-like system that you would like to use. Perhaps this is Litecoin or Ethereum or something completely new. Perhaps it forms blocks faster and has a richer scripting language. Whatever it was, the bottom line is this: you would like to use it, but prefer not to risk it and not spend effort on the purchase of the title signs of this platform. You have bitcoins, why can't you just use them?
Sidechains offer this idea:
- Send your bitcoins to a specially formed Bitcoin address, which is conceived in such a way that after this operation their use becomes inaccessible for both you and anyone else. Now they are completely frozen and can only be unlocked if someone can prove that they are no longer used elsewhere (more on this later). In other words, you used the basic rules of Bitcoin transactions, which were explained above, in order to impose on them a condition about their future owner. Whoever he is, he will have to fulfill this condition in order to gain the right to dispose of them.
- As soon as the freezing transaction receives an appropriate confirmation, you send a message to another blockchain - the one you wanted to use. This message contains confirmation that the coins were sent to a special Bitcoin network address, and thus were frozen. But the most important component of this message is information about who made this shipment.
- If the second blockchain agreed to be a Bitcoin sidechain, it does something very special - it creates exactly the same number of title units of its network and transfers them to you for management.
- That is, everything looks as if you transferred your bitcoins to another blockchain. And remember: they are frozen within the Bitcoin network, so we did not create anything and did not destroy anything ... We just “moved” them.
- Now with the help of these coins you can make transactions, in another chain, no matter what rules he uses.
- Suppose blocks are created faster on this sidechain. Suppose his transaction scenarios are turing-complete. Let's say you need to pay commissions in order to stimulate the activities of sidechain owners. Specific rules will be as their owners want them to be. The only rule that matters is: if you can prove that you have made unavailable a certain number of bitcoins on the Bitcoin network, the same number of them will appear in the new sidechain, which agreed to follow this agreement.
- And now the second part of this clever idea. The above logic is completely symmetrical. Therefore, whoever keeps these coins in the sidechain at one time or another, he can send them back to the Bitcoin network, creating a special transaction in the sidechain that will freeze the coins in it. They will disappear from the sidechain and will again be available on the Bitcoin network, under the control of the one who previously owned them in the sidechain.

Sidechains use the standard three-stage Bitcoin transaction to freeze bitcoins while they are “on” the sidechain
So, we repeat again: we use the standard functionality of Bitcoin transactions to make coins inaccessible. Next, we prove to the second, unrelated chain, that we did it. As soon as this is done, their current owner in the sidechain can, after performing similar actions, send them back to the Bitcoin network.
Thus, developers get the opportunity to experiment with different types of cryptocurrency rules without having to create their own currency.
And now there is the opportunity to do some very interesting things in the field of Bitcoin.
Briefly disengage from the details and think about what we have described. We now have a way to move bitcoins to another platform (sidechain) and again return them back. This is exactly what we do when we move them to an online wallet provider or exchange. The difference is that the “platform” to which they were moved is also a blockchain ... and thus gets the opportunity to have the security, transparency specific to decentralized systems and the opportunity to benefit from other innovations in this area.
Imagine, for example, a sidechain that only one company mines. It would be the equivalent of a company wallet, but with complete transaction transparency.
We can go further and imagine a sidechain that is mined by hundreds of different companies that are united in one common organization. This cannot be called complete decentralization, but it will be more difficult to influence, intervene or harm their activities from the outside.
There are also many other possibilities. The most important thing here is that you can create products and services, experiment without the need to create a new currency or return to the old, centralized nature of relations.
Sidechain is an architecture for building semi-centralized products and services for Bitcoin, which it was simply impossible to create before.
Now there are serious problems in the concept of sidechains. Peter Todd doubted safetysidechains, and believes that the use of sidechains may require a one-time change to the Bitcoin network.
A number of other comments and critics were also voiced, to which the founders of Blockstream promptly responded , followed by a translation of the comments on these comments:
What can (and cannot) be achieved using bilateral linked sidechains?
Sidechain is a general term and refers to any chain that “performs data verification from other blockchains”. In this sense, most blockchains with quite expressive scripting systems can be very easily represented as sidechains.
In the general case, the two-way binding mechanism allows you to: accept bitcoins (or other assets), move them to another blockchain and use them in any context that it allows, and, ultimately, return them to the original blockchain.
When using another blockchain, you will be limited only by its rules and limits. At the moment, the main way to use sidechains is to experiment with new scripting systems and transaction formats. Other possible uses are explored in Part 5 of the white paper.
In general, bilateral linked sidechains will allow you to quickly and efficiently make various changes, such as script extensions, asset creation or smart contracts, directly to Bitcoin.
Is there any reason for concern about the safety of parallel mining (merged-mining)?
The concept of linked sidechains does not overlap with the concept of parallel mining, since each sidechain can choose between enabling parallel mining support or existing only through its own mining efforts. However, the problem of the popularity of chains, when mining in many of them loses its meaning in comparison with some other more developed chains that support parallel mining, does exist.
In such an environment, the neutralization of hashpower attacks becomes more difficult.
There is no universal way of protection at the moment, however, any sidechain that is mined decentralized and with sufficient strength (hashpower) can achieve the same level of stability that Bitcoin now has.
Some ways to protect sidechains from hashpower attacks are described in section 6.1 of the technical document. The main ways here are to provide miners with more diverse incentives and limit the ability of attackers to steal coins.
Can this technology centralize Bitcoin?
There is a possibility that commissions and other incentives for mining will be distributed between sidechains, and mining profitability will decrease, which in turn will create an incentive for even more consolidation and centralization of efforts.
Section 4.3 describes the ability of a miner to dynamically enable and disable mining in individual sidechains during block confirmation or mining transactions verified by a 3rd party (similar to how pools operate today) and partially confirm the consensus provided by 3rd parties.
Such measures will allow miners to get the maximum profit, with a slight increase in the degree of centralization.
What is the difference between sidechains and treechains?
These are two different, unrelated ideas. Treechains is a proposal to expand within one, separate blockchain, and two-way binding is a mechanism for moving assets between blockchains without using a trusted person. It allows you to interconnect a whole system of different blockchains. Moreover, in order for the treechain to become available for Bitcoin users, it will most likely have to be implemented on a separate linked sidechain.
Is it true that for the implementation of sidechain you will need to make a small software branch for Bitcoin?
We would like to see the support of a large part of the community. The first reaction was positive, and the sidechain authors reacted with great interest to this change even before the founding of Blockstream. The release of the technical document was just the first step to get feedback, and we will closely monitor the community and work with it closely before moving on to any specific changes.
Where can I see the source code of the project?
The team has been working on the project for several months and plans to release an early version of the system over the next few months. The federated peg scheme described in the document does not require changes to Bitcoin. In addition, along with its launch, it is also possible to supplement the current dynamic multilateral signatures (DMMS) to their full-fledged version, which will instantly improve the security of blocks and their transactions.
The source code for the project will be available on Github.
Decentralized smart contracts
Next, we will talk about smart contracts (or as they are also called - electronic contracts), which can be created and verified digitally. The concept of partial or full automation of creating agreements between several parties and control over its implementation, as well as conducting operations or actions in the real world based on it, exists almost as much as modern digital systems and networks. However, until 1993, it did not receive wide distribution and did not even have its own name.
One of the first attempts to combine ideas from this field into a single whole was made by Nick Zabo, a well-known cryptographer, as well as a lawyer by training, who made a significant contribution to the development of Bitcoin. In 1994, he coined the term “smart contract”.
Original concept
A smart contract is an electronic algorithm that describes a set of conditions, the fulfillment of which entails certain events in the real world or digital systems.
The work of smart contracts is based on the development and use of so-called “low confidence protocols”. The concept of “low confidence” implies the maximum possible exclusion of the human factor from the decision-making chain, with the transfer of this task to an electronic system protected by cryptographic, biometric or other effective methods, using authorization or identification. The work of the protocol is provided by electronic algorithms, and a person acts only in the role of one of the parties that feel the result of the execution of the contract.
Like any new technology, the concept of smart contracts aims at solving everyday human problems:
- To make the fulfillment of contracts and agreements a more objective process, to avoid violations on the part of participants and manipulations by those responsible for monitoring its implementation.
- Make financial and business processes more transparent, efficient, faster and less costly.
- Minimize the factor of unintentional human error.
In the 1997 article “ The idea of smart contracts ”, Zabo explains the essence of “smart contracts” by the example of buying a car on credit.
The legal owner of the car receives the contractual ownership right through an electronic cryptographic key. In the simplest case, the machine will be in a locked state until its owner uses this key to request unlocking it. The protocol will analyze the request using the authorization method, verify the key, and give the owner control of the car.
Let's look at the case where a car is used as collateral for a loan. A strong and effective protection mechanism will become a problem for the lender - the person responsible for the confiscation of the deadbeat car will not be able to carry out this action under the conditions described above.
In order to change the situation, it is necessary to improve the mechanism of car ownership by creating a protocol for the smart retention of property that would transfer the car to the bank in cases of non-payment. Such a protocol would be much more efficient than any collector and would require less implementation costs.
In addition, you can introduce other improvements: for example, consider removing the right to retain property after paying the debt, and other unforeseen expenses of the bank. In addition, it must be ensured that the right to drive the car is not taken away at the moment when it moves at a speed of 90 km / h on the highway.
It turns out that from a simple security guarantee, we have come to control compliance with a complex agreement that contains many nuances.
However, the case of the machine is only one of the useful examples of the use of “smart contracts”. Their use in the field of financial and legal services could save people from many unnecessary procedures. Bank service is associated with standing in line and paying commissions for intermediary services. The bank is just a person who has taken responsibility for the storage of your money and the processing of transactions related to them. Notary services or legal advice are related to the payment of remuneration, the amount of which is not always comparable with the work performed. The use of smart contracts would remove queues, commissions and fees, allowing customers to save a lot of time and money and greatly simplifying procedures.
Smart contracts do not create any fundamentally new types of interactions: they only describe and formalize the already established relations between people and companies, using modern digital technologies, such as cryptography and authentication mechanisms, and in the future, the “Internet of things”. They are a more advanced, efficient and less costly copy of paper contracts, which many of us deal with almost every day. In addition, being the algorithms of digital systems, they are applicable everywhere - from buying items in an online game or renting real estate, to regulating trade with financial instruments on the stock exchange or signing agreements between entire states.
Such diversity leads to the fact that in the future, advanced control systems based on smart contracts will be able to carry out a huge range of various tasks with a large number of conditions. Smart contracts will regulate relations in completely different spheres of human activity, using various technologies for this and performing actions on various types of property. For each such case, it will be necessary to develop its own protocol, taking into account the features of a particular type of agreement.
Modern implementation of smart contracts
The implementation of Zabo's original ideas required an in-house digital system that would allow programmable transactions. The banking procedures that existed in those years assumed manual authorization of money transfers and were not suitable for a smart contract intermediary. And even despite the widespread introduction of electronic payment processing systems in banks, most customer actions still do not exclude the human factor, requiring manual verification and authorization of operations. Computer programs today still do not have the ability to automatically launch transactions or process payments on their own, making decisions based on certain conditions.
Only relatively recently, with the advent and development of Bitcoin, the field of “smart contracts” received a new impetus for development. The Bitcoin community has already proposed a number of as yet unrealized, but promising ideas in the field of smart contracts.
Using low-confidence protocols based on Bitcoin will allow you to create completely new types of products, such as, for example:
- Smart property (Smart property) - real movable and immovable property that can be used in commodity relations and loans, with operations through the blockchain.
- Transferable virtual property . This is the idea of a trade exchange of digital items: unique, existing in single copies (account) or copied under certain conditions (mp3 file, digital photo).
- Agents are stand-alone programs that sell services for Bitcoin and use part of the profit to pay for their existence on the server. Agents act completely independently and use their own wallet for operations. If demand exceeds supply, agents can create other, similar agents that continue to exist as long as they can still pay rent of server capacities for their needs or until the proposal is satisfied. Agents can also be involved in operations related to property, such as automobiles .
- Distributed markets represent the sale of securities, their derivatives and other assets directly between equal participants, without a centralized superior intermediary. Their implementation will allow decentralized cryptocurrency networks to compete with the international financial system, turning Bitcoin into its full-fledged analogue.
- Decentralized currency exchange exchanges that allow for instant cross-currency transactions.
As you know, Bitcoin, among other things, is also a computer program described by specific software code. This fact allows smart contract protocols to access its code and use it to retrieve data and conduct transactions. In other words, almost two decades after its inception, the concept of “smart contracts” becomes a reality, because, unlike its predecessors, an autonomous and decentralized Bitcoin network is able to independently process and conduct transactions.
However, the original Bitcoin technology has a number of severe restrictions, such as the time it takes to form the block and the extremely simple language for describing transaction scenarios, so smart contracts began to be embodied in third-party cryptocurrency projects, taking as a basis and expanding the ideas of Bitcoin, blockchain and using scripts to manage transactions . The technology of “smart contracts” is developing on the basis of community projects, which are secretly called Bitcoin 2.0.
Counterparty
The earliest and most successful attempt to expand the capabilities of the Bitcoin network is the decentralized Counterparty platform . It uses Bitcoin blockchain transactions to conduct its own, which, upon completion, are transferred to the Bitcoin blockchain and are tested during mining.
Counterparty consists of three components: the transaction protocol of the same name, XCP's own currency and the Counterwallet browser-based web application , which provides users with funds storage services on their own online wallets.
The Counterparty protocol has expanded the capabilities for describing transactions, and the introduction of its own XCP title sign has allowed the connection of the Counterparty and Bitcoin protocols. The use of these innovations allowed Counterparty users to expand the functionality of the Bitcoin network, turning it from a decentralized payment system to a more complex decentralized financial platform. Counterparty allows you to conduct the following operations based on the use of “smart contracts”:
- Creating new title units based on the Bitcoin blockchain, by exchanging them for a proportionally smaller amount of Bitcoin or XCP. Currencies created in this way only work inside the Counterparty platform.
- Creating new arbitrary assets whose value is measured in bitcoins or XCP.
- The implementation of analogues of financial instruments - the creation of applications for the purchase / sale of shares, options, futures and other created derivatives, as well as the organization of dividend payment systems. Automated deposit of assets or currency, as well as automated clearing, where the platform acts as the depositor and clearing center.
- The implementation of the betting system is insignificant for Bitcoin, but the innovation has long been successfully applied in practice.
The platform has been operating since January 2014 and boasts a successful example of crowdfunding for Storj (decentralized cloud storage, I wrote about it in a previous article ).
Ethereum
I also wrote about the Ethereum project in the previous part, but here I need to talk about it separately in the context of smart contracts, it is a decentralized platform for creating applications and significantly expands the capabilities of Bitcoin. Compared to Counterparty, Ethereum developers more thoroughly approached the idea of alternative blockchain applications, significantly expanding the platform's capabilities, as well as proposing a different concept of its operation.
The platform has its own currency, designed to replace Bitcoin within the system - ether. A feature of Ethereum is the fact that the concept of “smart contracts” underlies each transaction and operation carried out in the system. An integral unit of the platform are the so-called contracts are contracts that store systems in a distributed network and have their own memory and cash equivalent.
Thanks to community efforts, Ethereum has its own python and C-like languages for writing contract code, creating programs based on them, and integrating them into the platform. This opens up possibilities for creating a whole range of applications:
- Issue of own shares
- Legal agreements and deposits with a third party (without intermediary)
- Own financial instruments and their derivatives
- Decentralized Autonomous Organizations (Agents)
- Decentralized voting
- Decentralized data warehousing
The project is under development at the proof of concept stage and has already received wide community support. The output of the platform is scheduled for the winter of 2014/2015. You can familiarize yourself with the mechanisms of the system in more detail, download clients and get access to specifications for development you can in the Ethereum wiki .
Blackhalo
Another interesting project that does not make such radical changes as Ethereum is the Blackhalo project - a platform for anonymous decentralized exchange of any values.
Like the previous platforms, it provides users with its own protocol of the same name and client, the Blackcoin currency, as well as Nightwatch, a decentralized exchange and platform for trading assets and their derivatives.
The list of features that Blackhalo provides is impressive:
- Exchange of fiat currencies for Bitcoins and Blackcoins using services such as Western Union, Paypal, as well as bank cards.
- Barter trading in any real objects or rights or currencies
- Microtrade - payments are divided into small transactions, which can be sent gradually and in turn. This allows you to minimize risks and establish trust with the other side of the tender.
- Shared business accounts with partners or family accounts. Transactions are approved by a group of individuals through their cryptographic keys, based on a collective decision
- Hiring employees on a paid basis. The employee receives payment guarantees after a certain time or a certain amount of work, and the employer receives temporary guarantees for the work. Promising for areas such as freelance and outsourcing.
- Decentralized trading of any pairs of cryptocurrencies, without restrictions and risks imposed by platforms or owners of intermediary exchanges
- Possibility of preliminary regulation of conditions and automation of refund. Each of the parties will be aware of the conditions and anticipate the development of events.
- Collection and grouping of account balances on different wallets into one common account. Filing like $ 1 is no longer a problem, because over time they add up in one Blackcoin wallet.
- Deposit of funds for real estate transactions.
Platform developers plan to introduce other innovations, information about which is available on the official website. At the moment, the Blackhalo client is available for download and use by users, Nightwatch is under development and beta testing.
Codius by Ripple Lab
However, the most interesting is the open source project Codius , developed by Ripple Labs. Unlike other Bitcoin 2.0 developments, which are primarily aimed at creating advanced decentralized means of exchanging currencies and assets, Codius aims to make it possible to create real “smart contracts”. Ripple Labs is developing a universal environment for writing smart contracts, compatible with various technologies and interacting with the real world, accessible to everyone.
Codius introduces the concept of “smart oracle”. This is a computer program that allows you to create your own smart contracts, register them in the system, and collect and process information that relates to them. This program may also be responsible for accepting payments related to the contract. The work of the oracle must be automated, autonomous and based on a protocol with a low level of trust.
The smart oracle, as a client, works on the basis of its own Codius engine - a system that is responsible for executing the contract program code and notifying clients participating in it.
As a “sandbox” for creating contracts, Codius uses Google’s native client technology, which allows you to write program code in C and C ++ and instantly compile it directly in the browser, regardless of which operating system the user uses. In the future, it is expected that Codius will support a wide range of modern programming languages with the ability to integrate new ones that are convenient for specific authors.
Codius is a very promising project, especially given its openness. Currently, the project is in development and its authors need to solve many more technical problems related to security, reliability and integration with various blockchains and payment systems. The source code and prototype system with examples are available inGitHub repositories of Codius .
There are also a number of other Bitcoin 2.0 projects dedicated to the concept of “smart contracts” such as Mastercoin and Clearing house , which are also under development.
Development prospects
In addition to simply simplifying financial and legal procedures, smart contracts have many other non-trivial uses. In a broader sense, they can make legal services more accessible to the poor, vulnerable. It's no secret that the quality of protecting the interests of the client is the higher, the higher the lawyer's fee, since really good lawyers charge a much higher fee for their services. This creates a huge disparity in the right to receive qualified assistance.
Smart contracts will eliminate the human factor and in many cases just avoid the court and the need to look for a lawyer who can protect the legal rights of the client. In many cases, such procedures can make a crime or an offense simply impossible. Theft of a car or other property, for example, will lose all meaning if this property can be remotely immobilized or blocked. Of course, no matter how wonderful this picture is, in reality the human factor will still interfere in the processes, and, nevertheless, such technologies can still improve the transparency and quality of the systems in which they are used, as well as make them more objective .
Another interesting prospect is the use of “smart contracts” in conjunction with the “ Internet of things”" The previously described example of Nick Zabo with the transfer of control of the car is in principle impossible without the wide integration of means of remote interaction with the oracle and the parties to the contract. However, as a result of the symbiosis of only two such ideas, humanity will receive millions of useful applications. In combination with smart contracts, this process will become automated and transparent, and the risk of breach will be significantly reduced.
Of course, all these technologies are at the dawn of their development. The modern decentralized platforms that we examined above work mainly with financial assets, transactions and currencies, and only one of them - Codius aims at the widespread implementation of smart contracts regardless of their scope. In addition, most of them are still under development and have not passed the test of time, have not received widespread recognition and application. However, their successful development and use in everyday decisions, if it happens, will play a huge role, becoming just the first step of mankind on the way to a new, more legal, technological and humane future.