Understanding blockchain smart contracts

Understanding blockchain smart contracts

Rage Comment : The wide applicability of blockchain and smart contract technology has led participants in the field to interpret it according to their respective disciplines, so there is still a lack of unified terminology definitions, which is a major shortcoming for a technology field that is developing so rapidly. The author of this article, Josh Stark, is a lawyer and operations and legal director of blockchain consulting and development company Ledger Labs. He summarizes the current classification of smart contract definitions and their respective shortcomings, and calls on the two types of participants to learn from each other and reach a reasonable definition.

Translation: Annie_Xu

There is no clear and established definition of smart contracts.

This idea has emerged in the public eye as the core of the next-generation blockchain platform and is seen as a key feature for practical enterprise applications.

Others describe it as “autonomous machines,” “contracts on the blockchain,” or “any computation on the blockchain.” Much of the debate about the nature of smart contracts is simply a battle of terms.

These different definitions basically fall into two categories; sometimes they are used to describe a specific technology - code stored, verified and executed on the blockchain. Here I will refer to this type of definition as "smart contract code".

In addition, smart contracts are used to refer to a specific application of this technology - a supplement or substitute for legal contracts. We call this definition "smart legal contracts".

Using the same term to refer to different concepts certainly makes it difficult to answer even the simplest questions. For example, a simple question I often get is: What is the function of a smart contract?

If we are talking about smart contract code, the answer to the question depends on the capabilities of the language used to express the contract, as well as the technical characteristics of the underlying blockchain of the contract.

But if we are talking about using smart contract technology to create legally binding contracts or their replacement, the answer is not just the technology itself; it depends on the existing legal provisions, the attitude of legal, political and business institutions towards the technology. If businessmen do not trust it, the judiciary does not recognize it, and the courts cannot interpret it, then it is not a truly useful contract.

Trying to change people's existing ideas about the term will only be futile. To be honest, we are currently stuck in the application of the concept of smart contracts, or at least in the interpretation. This requires every enthusiast to understand how the term is applied and clearly distinguish it.


As smart contract code

Blockchains can run code. Although blockchains were initially used for simple programs — primarily the transfer of tokens — advances in the technology have made it possible to implement more complex transactions and recognize full-blown programming languages.

Because these programs run on the blockchain, their characteristics are different from other software. First, the program itself is recorded on the blockchain, so it has the characteristics of blockchain such as permanence and no need for auditing; second, the program can control blockchain assets - for example, it can store and transfer cryptocurrencies; third, the program is executed by the blockchain, that is, it is executed according to the pre-written content, so it is impossible for anyone to interfere with its operation.

For developers and other people directly involved with blockchain technology, the concept of smart contracts often refers to blockchain code. You can see this term in Ethereum documents, Stackexchange, and technical articles. It often appears in the Ethereum project, which was originally intended to be a platform for smart contract code. But now the concept of smart contracts is generally used by the blockchain community to refer to complex programs stored and executed on the blockchain.

The point of calling these programs contracts is that this code runs something important or valuable. We only choose to do the hard work of making contracts when it is important that the terms are enforceable. Similarly, we only use smart contract code when the code is about money, identity, or other important things.

So in this sense, smart contracts don’t have to be the contracts we’re used to. While the code can express conditional financial transactions (such as transferring 1 bitcoin from A to B on July 1, 2016), it can also be a regulatory application that controls account permissions (if A votes in favor, exclude B from voting on application X and notify other accounts).

In many cases, smart contract code does not exist in isolation, but as part of a larger application. Every decentralized application, DAO, or other blockchain-based application is built with smart contract code and then runs on the blockchain of its choice. Any application you have heard of on Ethereum - Augur, Slock.it, or Boardroom - was developed using smart contract code.


Imperfect, misleading, and possibly outdated

The term has received a lot of legitimate criticism. Using “contracts” to refer to them is misleading because it only sees a single use case; it fails to capture the core functionality of blockchain programs — that they have independent institutions.

Smart contract programs can store cryptocurrency balances and even control other smart contract programs. Once generated, they can run autonomously as long as they receive execution commands. Therefore, many people call it a "smart agent", which is more similar to the general concept of software agents.

Eventually, as blockchain technology matures, this term will gradually fade from people's view.

Developers are used to talking about a specific language or platform, rather than a general term used to describe complex programs on the blockchain.

The function and purpose of smart contract code can be simply seen from the content, without the need for complicated analogies such as "contract". Maybe it will be as simple as talking about HTML and JavaScript now, without thinking of smart contracts as a "markup" language, and without comparing them with the role of JavaScript in web applications.


As a smart legal contract


People in the financial and legal fields often have different understandings of the concept of smart contracts.

Smart contracts here are specific use cases of smart contract code, the way blockchain is used to supplement or replace existing legal contracts. This is the definition I mentioned above - using code to express, verify and execute contracts.

These smart legal contracts are likely to be a combination of smart contract code and traditional legal language. For example, a product supplier and a retailer enter into a smart legal contract. The payment terms can be defined and automatically executed in code. However, the retailer will insist on adding an indemnity clause, where the supplier must guarantee compensation for losses caused by defective products. However, this clause cannot be expressed in code because it cannot be automatically executed. In the event of a lawsuit, the court will need to interpret and enforce it.

There are many boilerplate clauses in commercial agreements that ensure that both parties do not bear various marginal responsibilities, but these are not necessarily suitable for code expression and execution. That is to say, smart legal contracts require both code and natural language (at least in the foreseeable future).

This is the basic idea behind the dual integration system of Eris Industries, Primavera de Fillipi Legal Framework for Crypto-Ledger Transactions, and R3's smart contract system Corda.

Will smart legal contracts be legally recognized? Maybe. Whatever people think, the conditions for a contract to be legally valid are flexible and depend on the relationship between the parties, not on the form of the contract. Any verbal agreement or email content can become a legal contract as long as it contains the essential elements of a contract.


Many contracts and use cases

The categorization of smart legal contracts is complicated by the large number of contract types in the world, some of which are obvious candidates for smart contracts. A legal contract can be a verbal agreement to commission a house to be painted, or a derivative in the financial market.

The use case that has attracted the most attention since the beginning of 2015 is the use of smart legal contracts for smart financial instruments such as stocks, bonds, and derivatives contracts. Using code to express these contracts makes financial markets more automated and simplifies many process-intensive financial instrument trading and service systems.

These smart financial tools are not yet available, although many are working on them; R3’s Corda project is dedicated to this type of smart contracts; Digital Asset Holdings recently acquired Elevance, a Swiss company that uses code to develop financial agreements. In April, Barclays announced an ISDA agreement signed in collaboration with R3 using smart contract code.

Financial instruments are just one type of contract that can be coded on the blockchain, and other assets can be stored and traded on the blockchain as the technology matures. As new asset types are released on the blockchain, related contracts will also benefit from blockchain-based alternatives.


Alternative to traditional legal contracts

Many blockchain advocates see more possibilities than just mimicking or improving existing contracts. Perhaps smart contract code can be used for different business activities.

Perhaps we can even call it the third definition of smart contracts - using smart contract code to create a completely new form of contract with commercial value. We call it "smart alternative contracts."

It looks at the real-world problem of contracts more broadly, and relies on individual businesses to develop more stable and predictable contracts. In risky commercial transactions, contracts with strong legal systems are the primary mechanism used to express the incentives of the parties.

But perhaps legal contracts aren’t the only solution to these common problems. Smart contract code provides new tools for expressing and enforcing terms, which can be used to create new incentive systems sufficient to build business relationships.

A common example of this type of contract is M2M commerce. An environment with an ever-increasing number of smart devices will eventually require new ways of interacting with businesses. For example, a dishwasher that automatically buys detergent or a car that automatically pays for gas.

These transactions require a minimum level of trust to be used for business, but are not suitable for legal contracts because they are relatively expensive and require the participation of legal representatives such as companies or people. Smart alternative contracts may bring about completely new business models to complete transactions between our computers, cars, mobile phones and other devices.

There may be other business interactions that are not amenable to traditional legal contracts, such as those that emerge as a result of new technologies, where legal tools are lacking and innovation and adaptation are slower.

Smart alternative contracts may be able to further expand the trust network beyond the scope of the legal system and enable business models that are not possible today.

The lack of clear terminology around smart contracts is an unfortunate reality, and those working in the blockchain space need to understand how different communities interpret the term, be prepared to ask annoying but necessary questions, and provide their own answers when asked about the nature and potential of smart contracts.

The different uses of the term illustrate a larger challenge in the field, where the interdisciplinary nature of blockchain technology, and especially smart contracts, leads people to understand it in terms of their own disciplines, and then see what they see as slightly improved legal contracts, ignoring the greater potential of blockchain code to transcend the legal realm.

Developers see the unlimited software development possibilities of smart contracts, but ignore the business realities and details reflected in traditional legal contracts.

Like any interdisciplinary field, they need to learn from each other.


<<:  From drug dealing to financial crime, Bitcoin finds its way into the grey area of ​​local commerce

>>:  DAOs: The Internet is getting weird again, all because of regulation

Recommend

Which men are more likely to get divorced?

In this modern society where the divorce rate is ...

IPFS mining machine has landed! Rabbitbit H16

Dear readers, it's been a long time since we ...

How you seduce the opposite sex depends on your face shape

How you seduce the opposite sex depends on your f...

Is PoS a lie?

After releasing Fork It #22: PoW vs PoS on August...

What are the facial features of a man who is destined to be rich in the future?

Physiognomy is a kind of folk knowledge that tell...

What are the facial features of people with a miserable life?

People with big face and small nose have a misera...

Polish government and community debate Bitcoin regulations

Source: Bitcoin Chinese Network The Polish Bitcoi...

A major financial shift will allow you to save money without a bank

Peer-to-peer lending, namely Bitcoin and other co...

How to tell your health status from the lunula on your nails

Some people believe that nails are a barometer of...

What does it mean if a man has a mole on his neck?

In fact, many men also have moles on their necks,...