Blockchain definition of the week: WAVES Platform

This article is the third of a series of articles titled “Blockchain definition of the week”. Every Wednesday, I will publish an article addressing an important definition of the decentralized world. These definitions may be relevant to the technology as a whole, some individual aspect of blockchain, or be regarding a specific blockchain protocol.

Additionally, if you speak Portuguese, you can check out my other series, titled “Smart Contracts”, with articles published every Tuesday.


Important: Attempting to stay on track and launch this article on Wednesday even during an extremely busy week, I decided to release it with some key information, but it will be updated in the near-future to explain more about the platform.

Today‘s article will be an overview of the WAVES Platform and its key features.

Introduction

WAVES is a platform that launched in mid-2016 and has its focus on digital assets, as well as providing a blockchain solution that is both decentralized and appealing to enterprise applications. It was founded by Sasha Ivanov and is the platform that has had the second-highest number of ICOs. As of right now, WAVES is listed by many as a competitor to Ethereum, but they claim to be going down a different route. While Ethereum has its focus on providing a strong backbone to allow for the development of n applications with maximum customization, WAVES seeks to provide simpler solutions that are more user-friendly, yet sacrificing customization and limiting what applications can be built on it.

Platform specifications:

  • Consensus protocol: LPoS (Leased Proof-of-Stake)
  • Token: WAVES
  • Token supply: 100,000,000
  • Integrated DEX (Decentralized Exchange)
  • Block time: 1 minute*
  • Tx/s (current potential): 1,000
  • Number of nodes: 168
  • Mainnet launch: June 2016
  • Smart contracts: Non-Turing complete (initially).

*With the implementation of WAVES-NG, “key blocks” are the ones with 1 minute intervals, not microblocks.

Leased Proof-of-Stake

WAVES uses an implementation of Proof-of-Stake as a consensus algorithm. The arguments for doing this, as per their Docs, are:

  • Energy efficiency
  • More distributed consensus
  • Incentivizes users to have the platform’s token

Proof-of-Stake is a consensus protocol through which validators in the network are given the chance to solve blocks by staking their tokens, instead of using hardware to mine blocks. Nodes will “bet” their tokens that they have correctly created a block, and lose these tokens if they are wrong. The higher the amount of staked coins, the higher the chance that a node will be given the chance to create the next block. In most cases, upon creating the block, nodes are given the block’s transaction fees and in some cases, nodes are also given a reward, through the minting of new coins. In the case of WAVES, nodes are only given the transaction fees of that block.

Image describing the differences between PoW and PoS, from the WAVES’ Documentation. https://docs.wavesplatform.com/en/platform-features/leased-proof-of-stake-lpos.html

To become a validating node on the WAVES Platform, addresses must contain a minimum of 1000 WAVES.

However, to participate indirectly in consensus, and also get some sort of “interest” for your coins, users that do not have 1000 WAVES, or do not want to run a full node, can choose to “lease” their coins to a full node, which entitles them to a portion of the rewards given to that node as a result of block creation. Hence, you can run a light client and still be able to benefit from the protocol by leasing your WAVES tokens. When leasing, the coins never leave your wallet.

This is the platform’s implementation of LPoS, which aims to make Proof-of-Stake consensus more accessible to all network participants, while maintaining the minimum stake for safety reasons.

Smart contracts & digital assets

The focus of the WAVES Platform is on digital assets. They aim to provide a platform for “storing, trading, managing and issuing your digital assets, easily and securely.” (https://wavesplatform.com/).

To achieve this, the platform provides clients with smooth-looking UIs and focuses heavily on user experience. Creating a token on the platform is in fact extremely easy, and they already allow the creation of reissuable tokens.

This is what it looks like to create a token on the online WAVES Client.

Keep in mind that the picture above is not from a third-party “token factory”. It is a screenshot from the official client of the platform. What is shown in the picture is actually the way to create tokens. The process costs 1 WAVES token.

Another benefit of creating tokens on WAVES is that they automatically get listed on the DEX, which will be explained below. That allows you to automatically start trading your token on a variety of trade pairs, including some fiat currencies.

As of this week, WAVES has started their implementation of smart contracts. These are, however, only Non-Turing complete for now. Their argument is that, while Ethereum allows for the creation of complex applications and a lot more customization, they want their platform to be more easily accessible for the general public, and also more secure from bugs and badly-written contracts. Hence, for now, the platform uses ready-made templates that allow you to do basic essential operations.

Eventually, WAVES intends to implement Turing complete contracts and allow for the development of complex applications. But until then, their focus is on providing a simple way for users to operate with digital assets. For those interested on WAVES’ smart contracts, you can read the Whitepaper for RIDE, the smart contract language of the platform.

DEX

One of the most interesting features of WAVES is their decentralized exchange (DEX). The DEX has support for over 10 currencies, which includes crypto and fiat. Out of fiat currencies, they support Euros and US Dollars.

The way the DEX integrates other currencies is through payment gateways. When you deposit bitcoins, for example, these go through a gateway which keeps the coins and sends an equivalent amount of “Bitcoin Tokens” to you WAVES address, which are pegged in value to the value of bitcoin.

The matching of orders is done by individual “Matcher nodes”, which verifies the validity of the offer and then matches limit buy and sell orders. The users sign the transaction using their public key, and the transaction is then included in the blockchain. The key here is that funds do not leave your wallet before the offer executes, as is the case with regular exchanges (you must deposit funds to the exchange’s account). Hence, if the Matcher fails, your funds are safe and remain in your wallet.

The image below, taken from the “DEX” section of the Docs shows a visual representation of this process.

Source: https://docs.wavesplatform.com/en/platform-features/decentralized-cryptocurrency-exchange-dex.html

The DEX has a Matcher fee of 0.003 WAVES per order, be it a buying or selling order, and independent of the amount of the order. If an order is only partially met, the fee will correspond to the amount of the order that executed, following the equation below:

executedAmount * orderMatcherFee / orderAmount.

Another feature of the DEX, as mentioned above, is the automatic listing of new tokens on the exchange. This allows token creators to immediately have access to various markets and more liquidity then they had otherwise. ICOs on WAVES can receive Euros for the token, for example.

Roadmap

Image from: https://bit.ly/2OcJwTe

As of September 2018, WAVES now supports Non-Turing complete smart contracts, in line with their roadmap. As shown in the picture above, other goals for the near-future are multi-sig features and a blockchain messenger. Their objectives are mostly regarding features that will make the platform more useful and interesting to average users, who do not have a profound knowledge of blockchain technology.

However, the team issues regular development updates, and they show that they are also aware of issues that need to be addressed regarding improvement of the actual protocol.

Limitations

  • Non-Turing complete smart contracts: As per the WAVES Team, this is not a limitation, but rather a choice based on a trade-off. WAVES prioritizes simplicity and ease of use, as well as the platform wants to shield its user as much as possible from security issues like bugs in smart contracts. However, its current implementation of plug-ins and expected implementation of smart contracts is limiting to developers who want to build complex applications.
  • Centralization: The richest 10 addresses contain almost 47% of all available WAVES Tokens (check this info here). Aiming to implement enterprise solutions, WAVES also sacrifices decentralization in certain areas, such as the use of gateways. Lastly, there is a company behind the project, as opposed to it being entirely community-driven.
  • Node count: At 168 nodes, WAVES could definitely benefit in terms of security and decentralization from having more nodes. However, this is an issue that — assuming the protocol is in fact good — disappears with time.

Read more about WAVES Platform from the links below: