A lot of talks has been brought up about cryptocurrencies. It is mainly the price that has been the highlight. The crypto markets are a highly speculative market with a lot of price being pumped and dumped based on future predictions of the price. Add regular mortals to the story which can now be in possession cryptocurrency with a swipe of a credit card and you are set for a perfect storm in capital markets which hasn’t been seen up until now.
But there is more to the story than just the price, and this is what I hope people will realize once they enter in the crypto domain through this one vertical which is currently the $ counter value.
The underlying machinery powering this new revolution in the digital domain is something that I believe will truly change how we perceive trust, ownership, and value. Some of the hardcore veterans of Internet and computing like Marc Andreessen have even gone so far to say that it is as big of an invention as the Internet. The Blockchain.
Although many still don’t understand nor visualize the impact scale of Blockchain Technology, there are already incredible solutions and innovations that are hitting the market each and every day. In this article, we will explore the Waves Platform and how you can start using it immediately in your own project, startup or company to test out the scale of integration you are able to achieve on a certain challenge or idea of your choice.
What Sasha (Alexander) Ivanov and the team at Waves Platform are doing is beyond fascination to me. I have been following Waves for quite some time now and they always manage to surprise me with their development and innovation efforts which is quite impressive as they are less than two years old but already managed to build great tools on their platform in regards to the distributed economy. In short, let me take the summary from Wikipedia which is quite concise and to the point.
“Waves is an open-source blockchain platform, developed, marketed, and operated by Waves Platform AG, that allows users to launch their own custom cryptocurrency tokens. Whilst popular cryptocurrencies such as Bitcoin and Ethereum can be traded on external exchanges, and Ethereum allows users to create new tokens on the platform using a smart contract, Waves includes this functionality in its core software and wallet. Users can create, transfer and exchange blockchain tokens on a peer-to-peer basis, paying transaction fees in the native WAVES token.”
Let’s break this down and take a deeper dive.
The Waves Blockchain & Architecture
Waves uses POS (Proof-of-Stake) mining on top of their cutting-edge Waves-NG blockchain. Waves-NG is the first ever implementation of a protocol designed by Emin Gun Sirer, a well-known figure, and researcher in the blockchain community. In the “traditional” bitcoin blockchain concept (which waves has modified), blocks are found on a time interval of roughly 10 minutes and only then the transactions contained in that block are added to the blockchain. In the NG model, the miner is selected in advance and they create a so-called “key-block”. This block is filled with micro blocks of transactions and requires no further proof-of-work but since waves uses PoS system, it increases capacity throughput by a factor of hundred. This results in the network being able to push around 100 transactions per second making Waves one of the fastest blockchains in the current blockchain space.
For comparison, BTC can make 3 TPS, ETH goes up to 7 TPS, while waves under vicious heavy stress tests went up to even 190 TPS.
Wallet & Functionalities
Waves has developed a wallet, that is actually in all its power, a complete interface to interact with the all the functionalities of the platform. Those things include:
- Balances and gateways – at any time the user is able to view the balance of waves or any other token being used on the waves blockchain
- Leasing – users can lease their waves to the miners and receive extra reward in return for supporting the network with additional mining power
- Token Launcher – for the price of 1 waves, any person on the waves blockchain platform can launch their own token through a simple issuing system
- Decentralised Exchange (DEX) – an already integrated an integral part of the wallet allowing users to trade already existing and newly created tokens.
Waves Decentralised Exchange (DEX)
The whole waves ecosystem has a built-in decentralized exchange for freely trading any token that is created within the waves platform. But the real kicker is that in accordance for with classical centralized exchange, a DEX is a type of exchange that does not require a third party to store the funds of their owners. The deal between the fund’s owners is concluded directly (peer-to-peer) in automatic mode while the funds never leave your wallet.
What that means is that at any point in time, a token that has been issued through the waves tokenization system can be added to DEX and offered to the general public. ICOs and Crowdsales on waves platform use this system for fundraising. If you are interested to know more about Decentralised Exchanges, then head over to our article to learn more.
All corners covered
When considering all these functionalities in the waves platform and taking a more thorough look you will see that what they are basically doing is a full-scale P2P capital market with no intermediaries. With that in mind, let’s try to see how we can utilize the tools given to us and give you a set of ideas how you can leverage those tools for your projects.
Unions, Associations, and NGOs
If you are a member or operate a certain association or non-profit organization then probably you have some hierarchy and voting system integrated with your organizational structure. Let’s say you are acquiring new members where each has a right to voice his or her opinion and therefore vote for decisions and directions in your association. What would be the most simple system that can be transparent, fast and tamper-proof? The blockchain of course. And in particular the waves platform.
Proof of concept
First things first. Let’s give our project and token a name. We recently started Croatian Union for Blockchain and Cryptocurrencies – UBIK, I will use this name for the purpose of this blog post. Maybe this will also serve me to present the idea to our association and see if we can push it forward with this model. We would create the UBIK Token which primary utility will represent a vote for each member.
Voting can be done in several instances and those would be:
- Election of the board
- Election of the president of the board
- Voting on proposals and projects
- Voting on important issues and challenges for and within the association
This would be the core voting possibilities coming to my mind a the moment but they can easily be expanded later on within our concept and model which I will demonstrate in the second paragraph.
1) The Union master account would create a certain number of tokens. Let’s say 1M UBIK tokens which can be set as re-issuable.
2) Each member of the union would be automatically given 100 UBIK Tokens to serve for the upcoming votes. Now you may ask why would you give that many tokens to someone initially and why not one for each upcoming voting event. The reason, in my opinion, would be the fees and financial costs. Each transaction on the waves platform costs 0.001 waves.
This means that with one waves token you are able to conduct 1000 transaction without any obstruction. Of course, you can send out the UBIK token every time when a vote is about to be conducted to all the member’s addresses but it all depends on how you will manage your costs which exist in this type of voting system. Now you might ask what exact costs?
There are costs inherently included in the waves blockchain (or any other blockchain). For waves, those are transaction fees that are deducted from your waves balance every time a transaction is placed on the blockchain. Therefore, we will first need to acquire a certain amount of waves tokens on the current market price. In that regards, we are in need to make this system as cost-efficient as possible. But it’s a good and bad thing that we have costs, especially in a system like this.
A finite amount of transactions and a financial constraint should push every member but also the Union master account to spend those tokens only when needed and with a justified purpose. More on that later. Let’s say we now have tokens prepared and every new member is given 100 UBIK tokens to conduct voting.
3) One use case scenario would consist of the following. A vote for the election of board members is on the way. Candidates can nominate themselves and each candidate receives an address associated with his name. How this exactly is going to be announced and shown can be of your choosing. Maybe you will send a newsletter, or add it to the group slack channel, I leave those logistics to be carried out later.
4) Once the candidates have the address, the voting can begin. Each member sends out one UBIK token that represents their vote to the desired candidate. Once the voting is completed (set a certain date and time of finishing), the tokens can easily be counted across all addresses of the candidates and depending on the internal policy of vote distribution, the candidates can be chosen.
Pros & cons of this kind of voting system
Transparency – as a major benefit of blockchains we get the transparency package. Every vote will be recorded on the waves blockchain as transaction and in that regards publicly visible and verifiable by any party. It is also anonymous in this instance so no data of the member is revealed. This helps us get a unique and unquestionable vote count and results that can be called upon at any time in the future.
Tamper-proof – the votes cast in the direction of the candidates cannot tamper. They are not subjected to change or manipulation as the tokens can’t be faked.
Costs – there are costs associated with every transaction and ultimately it is a con. The cost serves a purpose of not meddling with the extra expenditure of tokens is they are not to be cast and there are good sides to this con but every member will need to have a fraction of waves to be able to transact his votes.
When you consider all of the above, there isn’t much infrastructure required that you need to undergo to setup this kind of voting for your association.
There is, however, more work included how you will implement it to all your members but the waves platform is very much simplistic with their apps and “onboarding” of your member shouldn’t pose no more effort than using some other system you would usually take for voting.
“Overlooked” Use Cases
If you take an engineering and objective stance to this app, you will see many edge case scenarios that should be accounted for.
Like, what happens when a member leaves the union? What happens with his or her tokens and can they still use them to mess up the results of a certain poll or voting.
What happens when a user sends more than one token when just one should have sent?
Many of those are still in the air and I will be the first to admit that this isn’t a perfect system but can be a starting playground for you. However, when waves introduce smart contracts in 2018, a lot of this business logic could then be possible to implement.
Upgrade of the basic system
If you wish to take this a step further You can make a custom web app to get a sense how you can interconnect a classical web app with the waves blockchain. If you don’t know what kind of web app you are going to build, let’s use the foundation of our voting system to enhance it and customize it for our needs.
Here is a little image that we made to demonstrate how the process of implementation of your web app should look like.
You are able to build an app that will hold all the interface and maybe some part of the business logic but you can just leverage the waves blockchain for the transactions and essentially a database for your votes. How this would work is depicted in the diagram below:
We hope this can serve as some sort of a guideline for your next web app that is interoperable with the waves blockchain.
In the end, this article was intended to give you a rough guideline and a practical example how you can go out and try the waves platform and our train of thought in its implementation. This is by no means an imperative that you have to implement specifically a voting system, just an example of an idea and a solution that could be practical.
Now, there is one extra thing I wanted to leave for the very end once you went through this whole thing. Waves will actually introduce decentralized voting in the core of its platform and it is scheduled on their roadmap Winter-Spring 2018.
There isn’t much information I could find about it in particular but I believe it will be much more straightforward and covering some of the use cases I mentioned that would be needed to close the full functional circle. This probably will be possible because also the first version of smart contracts will be deployed so my guess they are essential backbone to implement more business logic for voting.
Nevertheless, we hope this article was interesting to you and gave you a real-world example where you could try to implement blockchain tech. Let us know in the comment section if you would need some more explanation on any part of this piece.