Waves is a blockchain project focused on offering high scalability thanks to its LPoS protocols and advanced options for the development of dApps and smarts contracts that take advantage of all the potential that this platform can offer.
WAves is an interesting project that seeks to create an integrated blockchain technology platform especially focused on allowing companies and startups to grow and finance their projects.
This vision of Waves has earned it a great community and at the same time profile itself as one of the most valuable blockchain projects in the world. But what exactly is Waves? How does it work?
Wave's history
The history of Waves began in 2016 when Sasha Ivanov presented his project to the world and prepared a ICO (Initial Coin Offering) to finance the development of your project. The Waves ICO started on April 12, 2016 and concluded on May 31, 2016, after which it raised no less than 30.000 BTC (about $12 million at the time).
The initial launch of the network was made on June 10, 2016, and although with a fairly basic functionality, Waves showed enormous potential thanks to its great modularity and the use of the Scala programming language. While the rushed launch of its mainnet lessened its impact on the community, it was clear that the project was serious, and it gained trust among its tokenholders, especially those who invested in the project's ICO.
At that point, Ivanov began to seek more support for the development of Waves, and that is how in 2017 two giants joined his project: Microsoft and Deloitte. The arrival of these companies boosted the development of Waves, especially its capabilities to deploy private networks, network-level security, and smart contract programming. In fact, part of this collaborative work could be seen reflected in the creation of the Waves-NG consensus protocol (a protocol based on PoS), the generation of its Node 1.0 software version (released in 2018), and the arrival of smart contracts advanced that gave rise to WavesDEX (now Waves Exchange) and the generation of other dApps.
How does Waves work?
First of all, Waves is a blockchain project that is written in the Scala programming language and uses a consensus protocol based on PoS, called LPoS or Waves-NG. The use of the Scala language in Waves responds to the need to use a secure and extensible programming language. While the use of a PoS-based consensus algorithm responds to the need to offer speed and scalability in its execution.
However, there are many more elements that make Waves work and that we will detail below…
Leased Proof of Stake (LPoS), the network consensus protocol
Waves uses a proprietary variant of the Proof of Stake (PoS) consensus protocol, known as LPoS or Leased Proof of Stake. The goal of LPoS is to bring scalability and speed to the validation of transactions on the network. The difference is that your staking can be done by leasing or renting a full node that is running on the network, in order to obtain profits for said task.
In any case, to run a full node with validation capabilities you need to stake 10.000 WAVES tokens, but if you don't have that amount, you can lease your tokens and place them in a pool to earn profit from the token deposit.
dApps and Smart Contracts in Waves
In Waves, smart contracts or smart contracts are a fundamental part of the possibilities of this network. However, in Waves there are big differences between its smart contracts and those of platforms such as Ethereum or EOS. First of all, Waves smart contracts are not Turing Complete, that is, they are not capable of creating all kinds of programs that you can imagine. This, which can be seen as a weakness, is in fact its greatest strength, since Waves smart contracts are extremely secure. And although there is an intention to offer Turing Complete support, Waves currently sticks with the first option.
To program these smart contracts, the Ride programming language, created specifically for this purpose, is used. Its main advantage is that its syntax is similar to the F# language, and it is designed to be secure by default. This means that bugs or hacks like we see on Ethereum or other platforms are hard to see on Waves. And, the greatest example of this can be seen in other cryptocurrencies that take this approach, as in the case of Bitcoin.
An additional point of having smart contracts is that Waves can create tokens (fungible and non-fungible) and dApps tailored to the needs of developers. In fact, tokens can be created very easily, even with the official thin client for iOS and Android smartphones. The creation of a smart contract for a token, for example, is practically automated and has a very low cost, only 1 Wave (about US$13, for January 2022). These facilities have made Wave have more than 107 million tokens in circulation in its ecosystem, with a capitalization of 2.000 million dollars.
On the other hand, Waves is committed to creating secure dApps in a very simple way, something driven by its Ride programming language, and a community focused on offering a safe development space for everyone.
Tokenomics within Waves
The native token of the platform is the WAVES token. Initially this token had a fixed supply of 100 million tokens, all created at launch. However, in October 2019, Waves transitioned to an inflationary monetary policy, entirely governed by token holders. The initial block reward has been set at 6 WAVES. Every 100.000 blocks (approximately 70 days), miners have a 10.000 block window to vote whether to increase or decrease the block reward by 0,5 WAVES or leave it unchanged.
In this way, the inflation of Waves is completely controlled by the token generators within the platform. This has as a positive point, that the issuance of tokens is not centralized. In addition, it does not obey complex economic formulas and, at the same time, the issue can be adjusted to make it higher or lower. All this in order to promote cycles of revaluation of the token.
Governance and development over the protocol
Another important aspect in the operation of Waves is linked to the governance of Waves. In this sense, they have opted for a system similar to that of Bitcoin and Ethereum. For example, to submit an improvement to the software, users or collaborators can submit an improvement proposal (Waves Enhancement Proposals – WEP). These proposals are put through community discussion, and once a consensus has been reached, the Waves project team can merge the approved changes into the Waves Node GitHub repository.
However, the protocol changes are not activated once merged, as at least 80% of the validators on the network must first accept the changes and download the new code to start the update. Once the validators vote for an update, the new network features become available to all network users and developers. This system is very similar to updates triggered by miners or MASF the Bitcoin
Other elements within Waves
Another important point in the operation of Waves is its commitment to Platform-as-a-Service (PaaS), in which Waves offers comprehensive tools to its users with which they can facilitate their work. In such a case, Waves has these tools:
- Waves Exchange is an exchange specially designed to be natively integrated into the platform. This exchange allows any user to send tokens and transform them into others in a very easy way without leaving the ecosystem. Furthermore, it is closely linked to the Waves Wallet, a wallet where you can hold cryptocurrencies like Bitcoin or Ethereum, and exchange them for Waves tokens natively.
- Waves Keeper is a browser extension that allows users to manage their own private keys. In a secure environment, users can use their WAVES funds to interact with web-based services and decentralized applications (dApps) built on this platform.
- In addition, Waves has a set of PaaS tools that allow services to be deployed on other platforms. For example, it is possible to deploy private capabilities using Waves within a Microsoft Azure cloud and develop capabilities internally that exploit Waves capabilities privately. This is especially useful for companies that want to use blockchain technology without relying on a public network.
Advantages and disadvantages of Waves
Advantages
- It is highly versatile and has a very comprehensive set of development tools.
- A high integration of services in its official software.
- Use of Scala and Ride as secure programming languages by default for the development of its core and smart contracts.
- Cheap and fast transactions thanks to the use of LPoS.
- Use of proven and secure cryptography, as is the case with EdDSA with curve Curve25519-ED25519.
- Account-based system that greatly facilitates the management of addresses and associated tokens. You even have the ability to use "aliases" instead of an address for transactions.
- Complete ability to create both fungible and non-fungible tokens.
Disadvantages
- The lack of Turing Complete smart contracts can drive away developers who do not fully understand the potential of the platform.
- It is expensive to deploy a full node within the network (10 WAVES, approx. $130.000).
- The Waves-NG model based on LPoS has limited scalability (about 100 TX/second), and also has structural weaknesses that prevent it from scaling properly.