Dear Waves Community,
With the recent Waves Node release, four exciting features/improvements are up for voting.
Data Transaction, feature number 5
Burn Any Tokens, 6
Fee Sponsorship, 7
Fair PoS, 8TLDR; we are voting YES on all four of them. Fair PoS is a necessary change in order to further decentralize the network and create a fair (=proportional) block producer selection process.Data Transaction is a great, useful feature and enables new use cases for the Waves network.Fee Sponsorship fixes the token fee feature, which was not usable after the upgrade to Waves-NG.Burn Any Tokens allows any address to burn tokens
Following we will get into the details of each featureFair Proof-of-Stake
Since its inception, Waves used the same pure Proof-of-Stake algorithm as Nxt. Ideally, the chance to forge the next block is proportional to the amount of Waves (held or leased) on the corresponding node address and the total of all Waves involved in the forging process at that particular point in time. Unfortunately, this has not been entirely true on the Waves blockchain as the Nxt algorithm is skewed towards favoring larger balances as you can see here http://dev.pywaves.org/generators-weekly/ .We at WavesGo got a performance ratio of 1.135 during the last month, in other words creating 13,5 % more blocks than we should. This leads to us receiving more fees and, subsequently, a higher reward for our lessors.
The Fair Proof-of-Stake update is going to fix these issues by implementing an improved algorithm. In the future, every node’s chance will be proportional to its stake. We expect this to support the decentralization of Waves as small nodes will receive the same proportional rewards making it more attractive to run a node in the first place. Furthermore, the new algorithm decreases the chance of multi-branching attacks. If you are interested in more technical details, please find the paper, written by the Waves team, here(https://github.com/wavesplatform/waves-documentation/blob/master/platform-features/fair-pos.md)Fee Sponsorship
Up to today, nodes had to decide which tokens they want to accept as fees. This led to a lot of open questions, long confirmation times as well as insufficient token fees compared to transactions paid in WAVES. While we do see the advantages of utilizing tokens as fees, the current approach got further broken due to the activation of Waves-NG. In Waves-NG, the fees get split 40/60 (creator block X/creator block X+1), which leads miners to receive tokens they have never chosen to accept. Last but not least, we have to be conscious of the fact that anything written into the blockchain is going to stay there forever; if this data storage is too cheap, we will see massive blockchain bloat.
With the Fee Sponsorship feature, we can now tackle these issues by still allowing token as fees but miners receiving regular compensation in Waves. Sponsoring transactions will be more expensive than the current model but still ensures business models built around a token ecosystem are feasible.
Example (thanks to Alexey Kofman) :
I issue my own asset — Super Coin. I want others to use super coin as a fee.
I create a SponsoredFeeAssetTransaction (asset=”Super Coin’s id”, sponsored=true, transactionFee=0.1). Then I put 100 waves to my account. Now anyone can create Transfer transaction with 0.1 super coin as a fee. Someone creates transaction with fee = 0.1 super coin, as a result I get 0.1 super coin on my account, and miners get 0.001 waves from my account.
Since I have 100 waves, users can do 100,000 transaction until the deposit will be fully transferred to miners, at this moment I will have 10,000 super coins from fees. As soon as the deposit is gone, no new transactions with super coin fees can be made.
Nodes (including ourselves) have included unreasonably low-cost transactions for quite some time in order to help growing projects and decreasing barriers for startups.
While this feature might be controversial and will lead to some nodes not being able to distribute their rewards every week, we think it is a necessary fix to the Waves ecosystem and its monetary incentives, with a better focus on WAVES itself.Data Transaction
With the upcoming release of first elements of non-Turing complete smart contracts on Waves, the network also needs a better fit for including data on the blockchain. While it’s possible to store arbitrary data on almost any blockchain, only a few are designed for this specific need. In order to serve the needs of businesses, a new transaction type is needed.
Data Transactions enable use cases like certifying authorship or origin, but more prominently will make it possible to provide data for smart contracts. The agent publishing this data to the blockchain is called oracle; imagine it as a one-way bridge writing data from an external source into the blockchain.
The data will be structured as as key-value pairs (for example key being “city” and value being “zurich” or “berlin”). If you would like to know more technical details, find an extensive overview hereBurn any Token
A nice-to-have feature to tackle the current scam/spam issue. Until now, only the asset issuer (address which created the token) was able to burn a token. With this feature, any address can burn tokens which it holds.Conclusion
The Waves network is constantly growing and evolving at a rapid pace. We are looking forward to seeing further development and hopefully the first smart contracts applications in the wild by the end of summer. The Waves Platform is at the forefront of making blockchain accessible to the masses and we are proud to be a part of this community.
If you have any questions/feedback/suggestions, just shoot us a message.
The WavesGo Team