Imagine you wrote a blockchain program that keeps your money and the instructions on how and when release them. Based on your instructions and timing, your program can send, or receive more cryptocurrency tokens, from specified wallet addresses. Finally, until the specific conditions are met your program can withhold a payment from being wrongly distributed.
Would this smart program make sense as an escrow?
Escrow is a service that is paid to oversee the transaction process between a buyer and seller to exclude cheating from any side. An escrow agent ensures that a seller receives a payment, and a buyer - a product/service that's paid for.
But before we dive deep into escrow, the blockchain program you wrote is called a smart contract.
It is the subject of our discussion today and the key element of escrow transactions that happen on a blockchain, a.i. a blockchain escrow service.
That being said, let's see how smart contracts are used today and what the future holds for us.
If you are new to our Devto profile, we are Zenland, a multinational team of blockchain enthusiasts with the grand vision for smart contracts making P2P payments safe, trustless, and simple.
Check Zenland website for more information about our mission and goals.
By definition, smart contracts are specific programs with pre-determined conditions that run on the blockchain. Such conditions may include time limits or access rights of the program user(s).
Because of their blockchain integration, smart contracts are some of the most secure and intelligent programs increasingly used in more and more industries today. In supply chain, for example, smart contracts are used to record ledger entries and release payments ultimately improving the transparency, traceability, and efficiency of the process.
That said, finance and gaming industries are among the biggest users of smart contract technology.
Ethereum as one of the first blockchains specifically designed for smart contracts has long been housing thousands of decentralized applications (dApps) and protocols based on ERC20 and ERC721 smart contracts.
As open data suggests, gaming and finance (DeFi) are among the most active categories with Ethereum dApps.
Some of the well-known examples of DeFi dApps using an ERC20 contract include Uniswap (for swapping one token to another), and Aave (lending and borrowing). Similarly, NFT and gaming category offer OpenSea marketplace and Metaverse experience of Decentraland.
A little less often, smart contracts are used in healthcare for safe and transparent data sharing saving hours, associated costs, and eventually, lives.
Another area where smart contracts are yet to realize their potential is legal industry. Due to their accuracy and transparent nature, smart contracts can be used to create enforceable legally binding agreements (escrow contracts for example), saving time and costs associated with legal services.
Now, let's look into the features and capabilities of smart contracts that make them popular and effective in many industries. Below are the most commonly used features that smart contracts are praised for.
Because smart contracts are hosted on public blockchains like Ethereum most of the time, contract transactions can easily be verified via blockchain explorers like Etherscan. This makes a payment transfer into and from a contract traceable to sender's and receiver's wallet addresses. Simply put, contract transparency prevents parties involved in the contract from cheating.
Building and maintaining a smart contract application may require either specific programming skills and time or money to hire people who can do the job. However, smart contract ensures the process where it's used is cost-efficient. Take for example supply chain company handling shipping. Smart contracts with clearly defined conditions register entries from hundreds of stores across the country on the blockchain, receive and release payments once the conditions are met allowing it to save on human workforce without decreasing the output or its accuracy.
Smart contracts are not only cost-efficient and transparent but also reliable. Unlike humans, these smart programs are not prone to multiple factors like sleep deprivation or mood swings, causing accidents and inaccuracies. They are also hard to cheat because of their pre-set conditions excluding a human factor.
Because a smart contract code executes in real-time within a few minutes (or even seconds, depending on the blockchain) and exactly as written in code, smart contracts are fast and safe payment alternatives. These features are used in DeFi applications where the slightest miscalculation or time delay may result in a loss rather than profit.
The problem with the centralized applications and services is that there is always a risk for accidental mishandling, slow retrieval of data, or even its loss due to a system failure. Smart contracts are often used as a solution to store a safely encrypted data on the blockchain instead of a single server. This way the data has three layers of protection: code encryption, pre-set smart contract conditions, and a blockchain transparency.
With all that said, smart contracts as web3 products are not particularly limited to a specific country, or owned by a central authority. They are specific blockchain programs that can be used by any company, state, or a person with Internet access. Similarly, most smart contract applications in DeFi and other industries are used across the globe.
In the following paragraphs, we will look into a specific area where the application of smart contracts may well decrease the chances of fraud - online trade. In 2020, Americans alone has reported a total loss of 70 million due to various online activities.
Online commerce is one for the fastest growing industries that attracts fraudsters from around the world.
E-commerce giants like Amazon have at least a screening process for sellers, while online forums and P2P marketplaces - don't. This leaves us with two options:
- to spend time and money to do our own research before making a deal with a stranger; or
- to hire someone to safeguard money and rules - an escrow agent.
Because we already know how to DYOR, let's focus on the second option and see whether a traditional or blockchain escrow service is better and why.
To start, a traditional escrow is centralized, which means that all escrow operations are handled by a single party. This gives an escrow agent/company full control over the sales process and buyer's payment that is stored in a private bank account.
With the increased number of cyberattacks targeting escrow accounts because of the large sums stored there, hackers may hack email accounts and impersonate escrow agents. Unsuspecting users may get hijacked sending payment to the wrong address following the email instructions.
Another risk of centralization is the client's data that is stored on a single server that is owned by someone. The escrow database with client's personal information like billing details, emails, etc. may get targeted. In this case, that is not security of a single payment, but your whole account and financials may be at risk.
Alternatively, a blockchain escrow service is decentralized. The information about a contract along with the payment is stored inside the blocks of the blockchain. Now, compare hacking a single computer code to a string of cryptographic data spread across multiple blocks of the blockchain.
High fee is another common frustration with the traditional escrow. Most online escrow services have a standard minimum fee for their service. For example, escrow.com charges $10 minimum if the deal's worth is less than $150.
According to forum reviews other existing escrow services, including self-employed escrow agents, may charge as much as $50 (or more) as a minimum fee. To top that all, fees vary depending on the payment method and usually does not include the bank fees which are paid separately by the client.
Last but not least, because of the differences in payment systems and regional laws, traditional escrow services are not available to some countries and states.
This limited availability of affordable escrow services often leaves online users vulnerable to fraudsters.
While there are obvious benefits of a blockchain escrow service, there are certain difficulties associated with it.
The first thing to mention is that a smart contract is a programmed machine that follows pre-set instructions and unlike a regular machine, once deployed on the blockchain cannot be changed. For this reason, the escrow instructions with multiple conditions must be initially written in code.
Another point to consider is who, how, and when gets access to escrow contract and payment. It is important that both buyer and seller agree on the contract conditions beforehand. Otherwise, a contract with no other participants with the access may never execute, and the payment will remain locked up on the blockchain.
Finally, given cryptocurrency market's volatility, the agreed payment's actual value may increase or decrease based on the market price. As a result, a payment worth of $2000 of Bitcoin (BTC) locked in a contract in April, would have lost nearly 50% of its worth in June. Imagine having a long-term contract (with the freelancer, for example) at that time.
With that in mind, we have built a simple blockchain escrow app - Zenland. It is the world's first blockchain escrow service with stablecoin integration that combines best qualities of blockchains and smart contracts. Because it's a web3 application, an email address, billing details, or a password are not required to use it.
Because smart contracts have a steep learning curve and may seem complicated for regular escrow users, we have built a default contract form. It is managed through the interface by users on both sides taking contract actions.
Once the contract is deployed on the blockchain, this control interface serves as your private pipeline. On the one side it is connected to the smart contract and the blockchain, and on the other - to its two users (a buyer and a seller). Through that pipeline you send commands (contract actions) and payment to your contract, and confirm blockchain transactions.
Stablecoin integration adds a blockchain escrow service a real-life value. Upon agreement with the seller, you can pay in USDT, USDC, DAI, and BUSD. The payment is kept on the blockchain inside a contract, and is released to seller's wallet address as the product/service delivery is confirmed.
The contract log messages, or for simpler understanding a contract history, are integrated with the specific contract chat, and can be seen only by the two users. We've added this feature to keep the transparency between a buyer and a seller about their deal.
Also, at any point while the contract is not executed, parties can
send private messages about the contract through this built-in chat.
If both sides argue and a specific case goes unsettled, they can request a neutral third party to be assigned for its resolution. This is the only circumstance when a third party may get access to a contract and decide whether the seller must be paid, or buyer gets it back.
Smart contracts hold the future for all web3 projects. Given their inherent transparency and traceability, escrow smart contracts may help prevent P2P fraud.
That said, what do you think?
Do you see smart contract's potential to replace traditional escrow?