WAVES Open-blockchain financial platform. Blockchain for the people.
We’re glad to announce the launch of WAVESLottery — a blockchain-powered lottery running on Waves Platform. We asked @deepred (Marco A.), Waves Community moderator and one of the lottery’s creators, some questions about the project and gambling on blockchain.
— First, could you please describe the purpose and functionality of your project? How did the idea of WAVESLottery emerge?
— The purpose is to create the first game on WAVES. Blockchain isn’t just trading you can do whatever you want and that’s just another user case. I started accepting WAVES in my restaurant last year, I’ve always been interested in the Waves ecosystem and I built the WAVESNotify BOT for the community. Then, I introduced Waves to two friends of mine (developers) and they found blockchain was really intriguing. They started developing stuff using the Waves blockchain. Almost every other crypto has a lottery game and WAVES was really missing a lottery or some sort of game. We thought the idea was cool and we started developing the whole thing, I discussed with a few members of the community and everyone of them was excited about it and here we are.
— What are the mechanics behind the WAVESLottery? How do users participate, what do they have to do, etc.?
— There are four Lotteries, each one with a different bet: 0,10 0,25 0,50 and 1 waves. Each lottery lasts 180 blocks so approx three hours. Users just have to send their bets to the WAVESLottery address. More bets mean more tickets, so the higher the chances to win. When the lottery ends, the system will calculate the winners and send the corresponding winnings to the them. Winners will be chosen using an algorithm that takes in consideration the next block size after lottery ended to ensure there’s no way to previously predict the winner. We’re awaiting for smart contracts before moving the algorithm there.
— What are your expectations about the launch of the project? Is there any feedback from the community yet?
— We have huge expectations from the community, we tried to make it accessible to anyone creating four different bets. It is the first lottery on WAVES, a young, but super fast and super cheap blockchain. Being that fast and that cheap is one of the most important things for a blockchain, especially when it comes to games. The feedback from our friends and beta testers were all positive when we conducted our testnet and then mainnet test so we are positive the community will like it. Dimitri from myTrackNet even sponsored 50.000 mTNT Tokens as a SPECIAL BONUS to the PLATINUM lottery.
— What is your overall opinion about gambling on the blockchain?
— Online gambling saw strong growth in the last few years and when it comes to being transparent and fraud-free, there is nothing better than embracing blockchain to allow the player to be 100% aware of what is going on behind the scenes. We believe the upcoming Smart Contracts on WAVES will definitely boost gambling projects’ development. We think that games like WAVESLottery might help us lose the focus on the price (especially during bear market) and focus on the endless possibilities of this amazing platform.
About the Team
- @deepred (Marco A.), a long time Waves Moderator and the developer behind WAVESNotifyBOT
- @daidalos (Marco D.P.), NodeJS, python, MongoDB Backend Developer and the brain behind WAVESLottery
You can find the team on the official WAVESLottery Telegram Channel.
There are 4 lotteries available:
BRONZE —> Bet 0.10 $WAVES
SILVER —> Bet 0.25 $WAVES
GOLD —> Bet 0.50 $WAVES
PLATINUM —> Bet 1.00 $WAVES
You can check the lottery status on the homepage at any time. When the lottery is ACTIVE (active lotteries will be shown with a BLUE background) you can place your bet by sending the exact bet amount to the address 3PQ33PFjvpWyFftoBRjQEZ55b2SBEToYaoo (or to its alias ‘waveslottery’.)
When a lottery ends (completed lotteries will be shown with a RED background) the winners will be calculated within a minute and the payout will start shortly after.
Winners & Payout
The Jackpot is the sum of every bet placed by all the players of the same lottery (-3.00% WAVESLottery fee) There is a minimum of 1 winner and a maximum of 5 winners. Payouts will be sent automatically approximately 1 minute after the lottery ends based on the rules below.
Lottery with 1 to 5 Players:
Lottery with 6 to 10 Players:
Lottery with 11 to 15 Players:
Lottery with 16 to 20 Players:
Lottery with more than 20 Players:
WAVESLottery only accepts the exact bet amount for each lottery, all the exceeding balances or bets placed when the lottery is STOPPED will be lost and will not be added to the jackpot.
For Example: If you wish to bet 3 times on the GOLD Lottery, DO NOT send 1.50 $WAVES in a single transaction, split it in three 0.50 $WAVES transactions.
Seeing a perspective in initiatives like WAVESLottery, Waves Platform decided to donate and support WAVESLottery with a 300 $WAVES bounty that will be used as a Jackpot! Every day (for 30 days) there will be a 10 $WAVES BONUS on the PLATINUM Lottery. What are you waiting for? Try to win some $WAVES on WAVESLottery!
Waves Platform Development Updates
Here is a brief update on current development activities and plans on Waves Platform.
Waves Node team have grown to 12 people. Now we have 9 Scala developers, 2 QA-engineers and 1 analyst. Two Scala developers, Alexander Makoed and Mikhail Potanin, joined in last month.
The team sticks to a stable and effective development process and smooth release cycle. In general, we are able to deliver one release with several new features per month. In order to avoid frequent mandatory upgrades, we decided to roll out mandatory MainNet releases once per two months. The rule is simple: releases will be done every odd month (May, July, Sep, Nov, Jan…). Although new features will appear on TestNet more frequently, during two-months preparation we will do frequent TestNet releases to collect comprehensive feedback.
Since we had our last release in March, next release is scheduled for May. We already have a scope of features we’re planning to deliver in May. Some of them are already on TestNet:
- DataTransaction allows using Waves blockchain as a key-value store, which can be useful in many use cases. Simple API includes setting values of integer, boolean and byte array types to your account by a specific key. Values set by DataTransaction can be accessed from API and smart account. Oracles and escrows will benefit from this feature the most, allowing them to lock and unlock some tokens on the account, with the usage of predefined condition and data in the blockchain. The feature is already on TestNet, we are testing it and collecting feedback. Before MainNet releases its API, rules or data structures may be adjusted.[On TestNet]
- Node storage optimization. We’re continuing optimizing LevelDB-based storage of Waves node. We’ve made one more step to make it more compact, so it’ll require less memory and its code will be simpler. Also, the state build will become faster. This resulted in blockchain rebuild time decreased twice and MainNet’s database now taking 10gb instead of 13gb. Moreover, the state build time takes much less time now. Node upgrade to this version will require state rebuild. [On TestNet]
- Fair Proof-of-Stake. As you know, Waves initially used Nxt-like PoS algorithm, which allowed us to bootstrap fast by using already working solution. For us, it has an obvious downside — miners with larger balances get more blocks than others, although, ideally, we would like all forged blocks to be strictly proportional to miner’s balance. Currently, we’re compensating the imbalance by distributing more Miner Reward Tonkens to small and medium miners. We did some research and came up with an idea to adjust the formula in order to fix the issue, whilst keeping its main advantage untouched, so every node will be able to forge blocks using its balance. This will stimulate further decentralization and bring more rewards to miners. [In Development]
- Burn any asset. Currently, only asset issuer can burn the asset. The idea is to allow everyone to burn some amount of an asset on their balance. It may be useful in some cases. [In Development]
- New transaction format is a technical feature, which adds version to a transaction format. Also, transactions of a new version have a collection of proofs instead of a single signature field. This will allow us to implement multi-signature accounts, atomic swaps and other features related to smart accounts. [On Testnet]
Another feature we’re planning to deliver in the nearest future is Sponsored Transaction proposal, which allows using custom assets as transaction fees more systematically, whilst fixing some issues.
The asset fees is a core feature of the platform but are also very controversial. Security is the major issue we’re going to tackle, so the system won’t get clogged with fee transactions. Also, we’d like to bring more fees to miners and leasers, whilst keeping transactions cheap for projects on Waves and preserving usability for autonomous project’s clients. You can check some feedback on this question, for example, here.
The latest proposal named Sponsored Transactions (or Autonomous Assets) is under discussion now. We have already received both a lot of positive feedback and some concerns from the community. In general, we think that this solution is the best of all possible options. We will go ahead with it, maybe with some adjustments.
The most anticipated of the upcoming Waves features are Smart Contracts. To be clear, they’ll include a number of different features:
- Smart Accounts — Lightweight scripts (similar to bitcoin, but more expressive), which allow solving basic security-related cases, like multisigs and different locks, whilst executing transactions for a fixed or statically predictable price. The script, attached to some account, then just validates outgoing transactions.
- Smart Assets. The idea is that some operations with a specific asset will be limited by a simple validation script. This is an experimental feature, we are still in process of designing and prioritizing it.
- Turing-complete decentralized applications. We are going to extend our base language to Turing-complete one, making possible the creation of decentralized applications (DApps) on the blockchain. Theoretically, such applications can do literally anything. Combined with our low-cost, easy to use and standardized assets, such DApps will bring great benefits for projects on Waves.
We are to release Smart Accounts on TestNet in April or May and prepare it for MainNet release in July. Together with that, we are going to start working on Atomic Swaps and multi-sign wallets to be able to release them soon after activation of smart accounts on MainNet. You can find Waves smart-contracts whitepaper preview here.
Waves Client team is now busy working on multiple features. The localization is one of them. The Client will be translated into Turkish and Chinese languages. Other languages can be easily added by our community.
In a few months, we are going to release Waves Wallet 1.0, which means the end of beta testing. In order to do that, we need to fix a number of things, implement token burn function, and complete DEX redesign. As for the DEX user interface, our goal is to make a top-level crypto-exchange, so we will work on it continuously. First changes will include a redesign of the watch-list and addition of trade history widget. New crypto-gateways to Monero and Dash will also be integrated.
An authorization with Waves wallet, when using a third-party application, is one more useful feature, we are currently working on. As a next step, it will allow a public application to initiate payments and other transactions safely, without accessing client’s private key, which is stored in a wallet.
A technical improvement, which will increase wallet stability and performance, is a new backend database. It will store and index transaction data from blockchain. This will be an open-source component, available for third-party developers.
The mobile team is working on a new version of mobile applications. Android and iOS apps will get a renewed modern design, thus becoming full-featured clients for Waves blockchain.
Relations with Developers
The most important thing for us now is to get more developers involved in the development of the projects and tools for Waves. If you are a developer, probably you’ve already met Inal Kardanov — our new team member, responsible for relations with developers’ community. He will lead technical ambassadors programme, organize developers’ meetups and advocate community interests in the core team.
The next big thing coming is the Waves community forum. In general, we’re going to make the team’s structure and the development process more transparent for the community, whilst enabling more smooth discussion of issues. These steps will provide o more early feedback on the features. A big step in this direction is a launch of Waves community forum, which will be announced very soon. All the proposals, new features, roadmaps, projects on Waves and new events will be discussed there.
How Blockchain Will Influence Business
Blockchain technology is here to stay — hardly anybody would doubt that. Yet public opinion currently most closely associates blockchain with cryptocurrencies and ICOs, so the potential of various technological benefits both for people and business is distorted. We have already spoken about the benefits of blockchain for the people, so let’s switch to the opportunities that blockchain brings for businesses.
No matter what size your company is, blockchain solutions will provide you with capabilities for easing (and even eliminating) most of the annoying routine procedures, enhancing your overall business model and increasing profits. As it was already said in the article “How to Invest in an ICO”, blockchain does not perform miracles or provide you with cheat codes to hack the realities of doing business. It is a system with a set of tools that make investing and doing business more efficient. The question is who uses these tools, and how.
To start, let’s draw a distinction between three ways in which blockchain solutions are being implemented in business now. The first implies that conventional companies — predominantly large ones — are redesigning their current structures, gradually implementing blockchain instruments. For example, FedEx is testing a new blockchain tracking system. Another example is Walmart and IBM launching a blockchain Food Safety Alliance for the Chinese market.
In both cases, there’s a centralized entity — FedEx and Walmart — but the services it provides are far more secure, transparent and faster than today’s traditional solutions since the two utilize blockchain technology. (The best comparison from the blockchain world itself is the Waves decentralized exchange, within which tokens are traded trustlessly, whilst the process is underpinned by a centralized matcher.) Blockchain instruments, used by large companies, run on smart contract mechanisms and decentralized data distribution, meaning any action is executed at the right time and any entity is totally traceable, providing businesses with a significant reduction in operational costs and real-time data updates.
Another set of applications involves the creation of completely decentralized services from the ground up. In this case, you can choose between FedEx, that uses blockchain in its services, or a DApp (decentralized application), that lets literally anyone be a delivery agent, just as anyone can be a cab driver with Uber. The key difference between a DApp and a traditional App is a higher level of security and transparency. A DApp is based on the use of smart contracts, which cannot be tampered with. Transactions within smart contracts are immediately executed when all the conditions of the deal are met. Also, services can be evaluated by voting on the blockchain — a fraud-proof and open voting mechanism.
Finally, there will be conservative businesses that simply use out-of-the-box blockchain instruments without implementing them in their core structures.
To sum up, in the future we will see the emergence of the following types of businesses:
- Conventional businesses that use ready-made blockchain solutions without incorporating them directly into company’s structure/model: they will use existing DApps/blockchain businesses as contractors and providers of services.
- Centralized businesses, with an existing structure, that utilize in-house/co-developed blockchain instruments: while remaining centralized in structure, they will alter their business and management schemes by implementing blockchain solutions, exclusively designed for the company’s needs.
- Fully decentralized business platforms within which anyone can become a service provider.
The fact that large corporations are adopting blockchain is nothing special. What’s more important is that being low-cost, secure and easily accessible, blockchain solutions are already offering high-quality new perspectives for small and medium business development. If you realize the importance of adapting to new business realities, you should definitely hop on the train of the blockchain revolution. Read more about the areas of business that are being influenced by blockchain here: “The Future of DApps”.
Waves Smart Contracts. What to Expect and When
Cryptocurrencies are blockchain cash, but the same decentralised approach can be taken to computer code — resulting in apps that run trustlessly and automatically, with no chance of failure.
Bitcoin has established blockchain technology as a trustless way of sending cash online. But ‘cash’ in this context simply means information. That information can represent other things too, giving the blockchain a far wider set of use cases than financial transfers alone. In addition to making peer-to-peer payments, it’s also possible to write and run software on the blockchain.
Ethereum was the first smart contracts platform, and is still the best known and largest by market cap. It features so-called ‘Turing-complete’ smart contracts — which means that theoretically Ethereum can be used to run any programme. There are many projects being developed on Ethereum, from multi-sig wallets to sophisticated e-commerce platforms that aim to replace marketplaces like Amazon and eBay with a decentralised model.
Whilst Ethereum’s approach to smart contracts makes them extremely powerful, they’re also inaccessible to the vast majority of everyday users. Anyone who wants to create any smart contract functionality has to know how to programme them. Moreover, the costs of getting it wrong can be enormous. There have been a number of thefts and exploits as a result of badly-written smart contracts, some resulting in tens of millions of dollars in lost funds.
The Waves Approach
Waves is taking a different approach to smart contracts. Whilst the platform is ultimately planning to develop highly-versatile Turing complete contracts, their initial iteration will include limited functionality. The idea is to release smart contracts that cover the most popular use cases, built into the client so that everyone can deploy them, regardless of whether they have any programming knowledge or understanding of smart contracts themselves.
This basic functionality will include account controls such as multi-sig accounts and the ability to lock tokens for a certain amount of time, to prevent them being moved. This will cover the majority of everyday usage safely.
Once this mass-use functionality has been thoroughly tested, Waves will release Turing-complete smart contracts. Like Ethereum’s smart contracts, these can be used for just about any use case. Also, smart accounts will be introduced.
A conventional account can only sign transactions before sending them to the blockchain. The idea of a smart account is the following: before the transaction is submitted for inclusion in the next block, the account checks if the transaction meets certain requirements, defined in a script. The script is attached to the account so the account can validate every transaction before confirming it.
The main requirement for our smart accounts is that they can be run for the price of normal transactions with a predefined fee, without any additional ‘gas’ or other costs. This will be possible due to the statically predictable execution time. Since Waves has been built on top of an account-based model like Ethereum or Nxt (instead of Bitcoin’s input/output system), we can set security scripts on accounts.
In our vision, smart accounts cannot send transactions themselves or transfer funds according to given conditions but can read data from the blockchain (for example, the height of a block or signatures from the transaction) and return the result of a predicate obtained on the basis of this data.
The language of smart accounts should be as simple as possible so that it is accessible to beginners or ordinary users who are not familiar with a particular language paradigm. Language grammar will be human-readable and user-friendly. We are consciously not going to provide users with the ability to write functions, recursions, and loops of indefinite nesting. We have explained earlier that we avoid constructions whose complexity cannot be predicted in advance and that cannot be executed in a definite number of steps. That is the reason why we also have no collections or ‘for each’ constructions.
If we plan to apply constraints on all operations for a specific asset, we cannot use a smart account. In our paradigm, we have smart assets for this purpose: the script will be attached to the asset and will work in a similar way. Transactions for such assets are valid only if the script returns True. For example, a script can verify proofs from a transaction, check if a notary/escrow approves the transaction, and that operations with the asset aren’t locked for a specified time. The script for the token is invoked upon the following operations with an asset:
The main focus for the first version of smart accounts will be different security, integration, and crowdfunding cases. An example of a security use case is multi-signature accounts. A multi-signature account is useful for contracts that need to be jointly owned, or shared, or when binding an agreement between multiple parties, or all of these. With its help, counterparties who do not trust each other can freeze a certain amount of tokens on the blockchain until the condition of having the required number of participants’ signatures is fulfilled.
The next group of use cases is integration, such as Oracles. An Oracle is the application that is responsible for connection to a given data source. It can place externally-sourced data on the blockchain as a series of transactions, but cannot change the data in them. Other people can receive money from a given account if this data meets the right conditions. Conversely, if we want to remove a third party from an operation, a smart contract can be involved in the creation of an Atomic Swap — the next step in decentralisation. An Atomic Swap is a direct trade between two users of different cryptocurrencies, the honesty of which is guaranteed by a single contract in all relevant blockchains that cancels the transfer of funds back to the participants if the agreed exchange has not taken place. (‘Atomic’ in this definition means that an operation will either be performed completely, or it will not be executed at all.)
Crowd sale processes like selling tokens on an exchange can be implemented trustlessly on Waves DEX without smart contracts. However, smart accounts can help investors after an ICO. For example, they can be used to control fund use via escrow, token holder voting, etc.
Why Waves is Best for Airdrops
Imagine you’re building a house. You could transport the bricks in small batches in the boot of your car. Or you can hire a lorry for the purpose. Either will work, but only one was designed to do the job quickly and effectively. Which do you choose?
Airdrops have become an important element of the crypto landscape and for good reason. By distributing small amounts of tokens to many different users for free, you instantly gain a very large potential userbase. These recipients will generally want to find out more about the project. They may become larger buyers in due course, as well as some of your first testers, end user, and advocates for the business. All of this can be gained in return for allocating a small proportion of your token supply in advance, plus the cost of airdropping them to hundreds or thousands of blockchain addresses. All you have to do is distribute them.
But that’s the thing. Distribution. And it’s not as easy as you might think.
Big airdrops, big headaches
Here’s the thing: you can conduct an airdrop on any blockchain — just as you can theoretically transport your building supplies with any mode of transport, whether that’s a car, lorry, bike or SegWay. There are just good reasons why you might not want to.
There are a few factors to consider. Obviously, it needs to be a platform that supports custom tokens. No major problem there: even bitcoin supports assets (via the Omni protocol, for example). But then you’ve got to send them all out to different addresses, using whatever criteria you choose for recipients.
Naturally, you want your send process to be fast and as low-cost as possible. You don’t want to be competing for block space, and you don’t want to be paying high transaction fees. That makes something like bitcoin/Omni a non-starter — imagine having to pay many tens of thousands of dollars or more to get the job done. And if you’re sending thousands of transactions, you can forget it: they’re going to be stuck in mempool until you’re grey-haired. Ethereum’s a better option, and plenty of airdrops do occur on the platform. But fees are still comparatively high, and the network is not designed for large throughput (just ask the Crypto Kitties).
Then there are some of the other problems that can occur if you misuse a blockchain that’s not really built for the job. A few years ago there was an initiative to pay dividends to stakers on BitcoinDark (a privacy coin that was built on a proof-of-stake clone of bitcoin). The first time a large number of transactions was submitted via a script, the network forked. Oops.
So this is where Waves comes in. You can conduct airdrops on any blockchain. A handful of them can cope with that reasonably well. But there’s only one that has specifically been designed to support the kinds of transaction volumes that a large airdrop requires.
Waves’ consensus algorithm is Waves-NG, which is capable of processing an order of magnitude more transactions than most other blockchains — quickly and at low cost. Standard fees are 0.001 WAVES per transaction (around $0.005 right now) but it gets even cheaper thanks to the mass-pay function, which is purpose-built exactly for this reason.
That makes Waves an incredibly efficient and low-cost way of conducting huge airdrops. The proof?
Waves Smart Accounts and Smart Assets
The first release of smart contracts will focus on account controls, making Waves more secure, powerful and flexible.
Unlike platforms such as Ethereum,Waves is taking a phased approach to its smart contract releases. The first iteration of smart contracts will be a non-Turing complete implementation that will make advanced business logic available, but without the vulnerabilities of fully Turing complete contracts. These will enable several forms of account controls, which will be accessible directly from the Waves client. So what kind of operations will it be possible to carry out with Waves’ smart accounts?
One of the first and likely most immediately popular use cases for Waves smart contracts will be multi-sig accounts. These will require two or more users to approve a transaction before a transfer is made. This is a hugely important security feature, and makes it possible for teams to manage their own finances securely and without giving control to any one individual. For example, it will be possible to create an account with five different members, any three of whom are needed to approve a transaction before it is executed.
This will be particularly useful for token sales, since funds can be held safely pending deployment. Given the high-profile problems with some Ethereum implementations of multi-sig, Waves has deliberately taken a more cautious and simple approach to such basic account controls.
Another useful application will be token freezing. This involves sending a token to a user, but ensuring it remains non-transferable and unspendable for a period of time. The most obvious use case for this is as a vesting mechanism or for team/contractor payments after an ICO takes place. Most initiatives reserve a proportion of tokens for the core team and the external professionals who help them raise money. This is a smart way of doing business since if the team does its job well the tokens will be worth more in the future. Interests are aligned, just like vesting a new member of a startup with equity in the company.
However, it’s important to avoid the (unfortunately common) problem of recipients taking a short-term approach and dumping their tokens on the market, depressing the price and leading to adverse sentiment and publicity. Freezing tokens for a period of time (perhaps 6–12 months) allows initiatives to pay their contributors in tokens but to ensure these only constitute long-term incentives.
A further application of account controls is balance management. A user might want to make regular monthly payments, but to ensure that their account does not fall below a certain balance. Or they might want to keep a fixed amount of funds in one address and move everything above that to a separate account.
For example, you might have an address that contains 10,000 WAVES leased to a mining pool. Once a month, you sweep all the WAVES and tokens (e.g. MRT) earned by that account into a separate address, which you sell for regular income.
These are just some of the account controls that will be available based on the first iteration of Waves smart contracts. Many further use cases will be developed, with more sophisticated logic possible with the release of Turing complete contracts.
Waves Client Beta Update 1.0.0 with DASH gateway, Hindi and Dutch languages support & More features
WavesClientBeta 1.0.0-beta.35 is out! What’s new:
— Sort, filter and hide tokens in the Portfolio tab
— DASH gateway
— Hindi and Dutch languages support
— You can now invoice other users
— Minor bugs have been fixed
Waves Android wallet Update Version 1.1.6
- Fixed incorrect price for some pairs on DEX
- Fixed incorrect available amount for some pairs on DEX
- Various other small bugfixes
Waves Smart Contracts: Stage 1
It finally happened: Waves smart contracts were released into the wild on 28 April! Starting from May 4, around 13:00 UTC, you’ll be able to give Waves smart contracts’ outstanding functionality a try on testnet.
Waves has taken a carefully-considered approach to the implementation of smart contracts. The rollout of the long-anticipated Waves smart-contracts is divided into two stages. The first one is already coming — non-Turing complete smart contracts were launched on 28 April on testnet, with activation following tomorrow. The initial release will allow the community to test non-Turing complete contracts, which will enable various account controls and other functionality. Only when these features have been thoroughly tested and activated on mainnet will fully Turing complete contracts follow.
Non-Turing complete smart contracts will cover the majority of the common use cases. It will be a universal and handy tool for implementing any business tasks you potentially might need — from exchanging tokens hosted on different blockchains to establishing precise mechanisms and terms for controlling a shared budget for your project or enterprise. Besides that, non-Turing complete smart contracts are fully secure: the user simply won’t be able to make mistake, so the contract will never be fulfilled incorrectly.
What will smart contracts bring to the Waves platform?
‘Waves’ smart contracts will initially include account and token controls, providing functionality for implementing the most-needed scenarios like multisignature wallets, atomic swaps, 2-factor authorisation as well as more elaborate protections for coins,’ — comments Ilya Smagin, Head of Development for smart contracts. — ‘We’ll also introduce a Data Transaction: a way to post Oracle data to blockchain, of course, available from within our smart contracts code.’
‘It’s really important to do this right. Non-Turing complete contracts will cover a large proportion of use cases, including smart accounts and smart tokens. These will be available from the Waves client for all users and will not require any specialist knowledge or expertise. Waves smart contracts will be much more user-friendly and safer to use, compared to alternatives’, — Waves CEO and founder Sasha Ivanov says.
So what kind of operations will it be possible to carry out with Waves’ smart accounts? One of the first and likely most immediately popular use cases for Waves smart contracts will be multisignature accounts. These will require two or more users to approve a transaction before a transfer is made. This is a hugely important security feature, and makes it possible for teams to manage their own finances securely and without giving control to any one individual. This will be particularly useful for token sales, since funds can be held safely pending deployment.
Another useful application will be token freezing. This involves sending a token to a user, but ensuring it remains non-transferable and unspendable for a period of time. The most obvious use case for this is as a vesting mechanism or for team/contractor payments after an ICO takes place.
A further application of account controls is balance management. A user might want to make regular monthly payments, but to ensure that their account does not fall below a certain balance. Or they might want to keep a fixed amount of funds in one address and move everything above that to a separate account.
Sounds great, right? No wonder members of the crypto community have been repeating this mantra non-stop recently: ‘Waves moon!’ Already the fastest blockchain in the world, with the release of smart contracts the Waves platform will become another step closer to becoming the most powerful and feature-rich blockchain ecosystem in existence. You can find out more about Waves’ implementation of smart contracts on Waves Platform website. Also, you can download the white paper. If you want to try out the language of non-Turing complete Waves smart contracts, then go to http://ide.wavesplatform.com.
Data Transactions Are Coming to Waves
In a couple of months it will be possible to upload arbitrary data to the Waves blockchain.
Any blockchain allows users to post data to it, but most aren’t specifically designed for the purpose (in bitcoin, for example, it’s awkward to do and considered bad form to bloat the blockchain). However, the ability to store strings of data is hugely important for any blockchain positioning for real-world use cases. Any application that seeks to preserve an immutable record of any kind — the hash of a patent or a photo, for example, data required by a smart contract, or any other kind of permanent message — needs a solution that is fit for purpose.
Data Transactions are currently being tested on the Waves’ testnet. These allow anyone to post data in different formats to the blockchain. Data inside a transaction is structured as key-value pairs. Keys are arbitrary (case sensitive) UTF-8 strings. Each value has a data type associated with it, and initially, three data types will be supported: boolean, integer and byte string. Further types may be added later. Subsequent transactions using the same key can overwrite/supercede previous data transactions, but there will be no way to erase them.
The maximum size for a key is 100 characters, and a key can contain arbitrary Unicode code points including spaces and other non-printable symbols. Byte string values have a limit of 1,024 bytes and the maximum number of possible entries in data transaction is 100. Overall, the maximum size of a data transaction is around 140kb — for reference, almost exactly the length of Shakespeare’s play ‘Romeo and Juliet’.
Fees for data transactions are proportional to transaction size: 100,000 per kilobyte, rounded up to the nearest kb. Fees are payable in WAVES only. Since the largest transaction size is 140kb, this means it will cost just 0.14 WAVES (less than $1) to post the entire text of Romeo and Juliet to the blockchain.
You can find out more about Data Transactions here.
Blockchain and AI
Alongside IoT, e-commerce and quantum computing, blockchain and AI are at the top of the list of most talked about topics in tech today. Two things are obvious:
— All five are already changing the world, bringing all kinds of futuristic ideas to reality — A bright future means multi-level diffusion of these phenomena
We are witnessing the coming of a new technological era. (Don’t confuse this with the ‘Singularity’ — something that might not be as cool as many believe and predict.) But much of this new era depends on details that are often ignored, not only by futurists but scientists and entrepreneurs too.
The exact type of future into which we’re heading is bound up with the evolution of all of the trends involved. Of the five (IoT, e-commerce, quantum computing, AI and blockchain) the situation with AI is the least clear, even compared to blockchain. AI and blockchain both became big news some years ago. Both are shaping the future, whilst influencing one another, but we still have to consider a major difference between them: how long each technology has existed.
Blockchain has already gone through several preparatory stages, each resulting in major leaps forward and giving the technology a launch pad for success. It took time for the necessary conditions for blockchain’s development to emerge. The ongoing blockchain debate is focused mainly on the following issues:
- Ease of use
- Throughput capacity
So, unlike AI, blockchain is more banal and practical. It is already a ready-made, well-functioning instrument.
With AI, the situation is different. Yes, AI is much older — first experiments with “smart machines” started back in the 1950s. Since then AI has seen both progress and crisis. Today, it is far from where many expected it to be. The thing is that AI is a much more uncertain issue, compared to other technologies, since it brings about a whole spectrum of other questions concerning not only technical aspects but ethics, anthropology, etc. The list is long and keeps expanding alongside AI’s evolution. If we talk about ethics, for example, the main questions have always been the following:
- Is it OK to create a human-like entity in digital/machine form?
- Will this smart machine have feelings and/or selfhood? How should we treat it if so?
- What if the machines rise up and wipe out humanity?
- Can machines be smart and helpful, but not have free will?
All these questions mean one thing: humanity is not ready for human-like AI and definitely won’t be ready from the long-term perspective. Facebook’s AI has freaked everyone out, such as when the company reported that their AI entities have come up with their own artificial language. The same happened with Sophia, who said she wanted to destroy humanity (but took her words back afterwards). Are these cases a marketing trick to boost interest in both companies? Or is there a classical sci-fi scenario involved, where the creation wants to harm its creator? Neither explanation is clear, but the two possibilities mean that AI is not a functioning, fit-for-purpose technology just yet. The camp of dreamers is winning over serious scientists and developers. These guys want to skip the essential steps necessary for AI to really start impacting our lives. Any tech in which a human can see their reflection and exercise their God complex is destined to evolve slowly and/or harmfully. Scientists are people too, and most people would subconsciously love to have someone by their side who can act and be like a human, but without the emotional and ethical consequences otherwise entailed. If you harm a machine, it will still remain a machine — many people have enjoyed playing with that idea, but that is not what we should seek in the development of AI. Instead of pursuing an AI with a selfhood and human-like free will, we should focus on machine learning backed by quantum computing.
Unfortunately, there is no consensus on what we want from AI, which is why the technology develops so slowly. Ironically, the scientific community does admit that the subdivisions of the study of AI haven’t been good at communicating with each other, starting right back from the official academic recognition of AI as a discipline in 1956.
In such a situation it would be wise to ask humanity one question: do we really need a human in a form of a machine? Putting the God complex and irrational curiosity aside, humans would generally answer that we don’t need human-like machines to bring about a bright future for humanity. Natural selection means inevitable change and development, with constant competition within and between species. New human-like intelligent species will make the situation even worse. Humans don’t need that. What they need are smart machines that will serve them well. In order for a solid blockchain-AI-IoT-e-commerce alliance to become a reality, scientists and developers need to remain scientists first and foremost.
Let’s consider a realistic combination of AI and blockchain — one that would be profitable, and not harmful to humans. How can AI be of use for blockchain? First of all, both technologies have something very important in common. AI and blockchain are able to significantly increase any system’s throughput capacity. Unlike any centralized system, functioning with the help of intermediaries (servers, for examples), blockchain is based on decentralization: verification of all actions happens on the spot, whilst providing a high degree of security and speed.
The number of devices, transactions and e-commerce activities will increase dramatically over the coming five years. Blockchain will need a good ally, because even now blockchain systems, despite being better than centralized ones, are already encountering problems with capacity throughput and security. Artificial intelligence with a focus on machine learning is a perfect match for the blockchain. If nodes are really smart they’ll be capable of making clever security decisions, since they often come under attack. Moreover, smart nodes not only are good for IoT but any use case, including healthcare, supply management, gaming, governance, etc.
Many critics believe that when quantum computing finally comes onto the scene, it will crush blockchain technology (even now, if used by hackers, it would cause billions of dollars of losses in the crypto world). But conversely, AI and quantum computing can be used to create more secure and swift blockchain systems (a prototype of such a system was tested in Moscow in 2017).
The short-term perspective is clear: blockchain will incorporate AI, for security decision-making purposes mostly, whilst gradually making attempts to include quantum cryptography in its structure. There’s still a long road ahead, but that is the most realistic prognosis for an AI-and-blockchain merger. That’s also a good thing for the rapidly growing IoT and e-commerce sectors:
- There will be more than $20 billion of IoT units on Earth in 2020, compared to the $11 billion we have today
- Global online retail sales will reach $1.915 trillion this year and rise to $4.058 trillion in 2020.
These trends mean a significant rise in the amount of information and transactions that will need to be smoothly and rapidly processed and secured, so blockchain, AI and quantum computing combined will be of much help.
Waves summer Roadshow
We’re excited to announce that this summer Waves will be travelling the world with the Summer Roadshow.
Waves CEO Sasha Ivanov will be hosting meetups at globe’s five biggest tech centres: New York, Amsterdam, London, Berlin and Moscow. What are we pursuing by this? We’re going to fuel the great blockchain debate.
“We are very excited about the upcoming Roadshow. It is a great opportunity to spread awareness about the contribution of Waves to the development of the blockchain industry and to ignite a fruitful discussion on blockchain-related issues”, — says Waves CEO.
There’s plenty to discuss: the latest applications of blockchain across different industry verticals, the regulatory framework in Europe, Russia and the US, how regional factors such as Brexit will impact blockchain innovation, and the funding and recruitment landscape, etc. If you want to meet up with leading blockchain experts, academics and stakeholders, hear from the industry’s biggest thought leaders and debate the burning issues that affect your business and career — our roadshow is the event for you.
Every meetup will include real-life case studies, cover the latest developments at Waves, and focus on a theme specific to each tech centre:
- May — New York, US — A decade in Blockchain Revolution — we look at the history of blockchain to see if it can tell us what the future holds
- June — Amsterdam, Netherlands — The Big Blockchain Race for Commercialisation — just how can you make money out of blockchain? We examine the opportunities and challenges
- July — London, UK — Blockchain in Financial Services — can blockchain disrupt Europe’s largest financial centre? What does it mean for fintech companies and legacy financial institutions?
- July — Berlin, Germany — Driving Business Value with Smart Contracts — we review the business opportunity of Smart Contracts with practical advice and in depth knowledge
- August — Moscow, Russia — Blockchain for the People — what does blockchain actually mean for the man or woman on the street? We’ll discuss specific applications of blockchain that impact people’s’ lives
We’ll kick off the roadshow in New York on the 16th May. Sasha will take you through blockchain’s origins, answer the fundamental questions surrounding the technology and debate blockchain’s future beyond cryptocurrency.
More details for each of our events will be announced soon. If you want to get involved in our roadshow series please visithttps://binarydistrict.com/courses/a-decade-into-blockchain-revolution/
Waves Platform: 1 Million Block Reached and Other Numbers
Being the most advanced blockchain ecosystems in the world, the Waves Platform has been rapidly evolving since the day it came into operation. Waves is gradually enhancing its technology and products, thus improving user experience, as well. The statistics speak for themselve. The millionth block was signed at 1:56 PM UTC, 14 May 2018:http://wavesexplorer.com/block.... Check out some other great Waves statistics below.
Waves is becoming more and more attractive to new users. Yet another proof of this is the number of active wallets on the Waves blockchain. There were 32 439 active wallets in March 2018, compared to 6 826 in March 2017.
Decentralised exchange is one of the cornerstones of the Waves Ecosystem andWaves client. You can trade tokens onDEX, easily, swiftly and securely, while retaining complete control over your balance. This is a great trading tool. No wonder the 24h DEX volume is more than$2 million right now.
The focus on the community is hugely important for Waves. That is why the platform’s team pay much attention to incentivizing users. For example, any sum of WAVES can be leased to miners to generate interest (you can refund at any time in a few clicks). 24 573 305 WAVESwere leased from 2 697 unique addresses in March 2018. There are 60 million leased WAVES circulating overall.
Waves is perfect for issuance tokens. Currently, there are more than 13 500 tokens issued on the Waves Platform.
The total market capitalization of Waves is about $600 000 000.
Number of transactions
From March 2017 to March 2018 the number of transactions on the Waves Platform has risen significantly — from281 282 to 2 945 431.
There are 214 Waves nodes out there. By the way, anyone can run Waves node and profit from it. No special skills, knowledge or expensive hardware are required for that. A simple hosted server and at least 1 000 WAVES is all you’ll need.
Transactions per minute
Waves-NG is the fastest protocol in existence — currently 6 000 txs per minute are possible. Besides that, it is the most scalable and throughput-capable, compared to others.
Token issuance time
On the Waves client (available for desktop, standalone and mobile), you can issue your own token in less than 60 seconds, using the Token Launcher.
This number might be considered symbolical, yet impressive: there are 100 million WAVES tokens circulating on the platform. Since Waves is using an enhanced version of PoS-protocol — LPoS system running on a cutting-edge consensus protocol Waves-NG — there’s no need to issue new WAVES tokens.
The New Era for E-commerce: MageWorx Partners with Waves
MageWorx, LLC, an established Magento, and Shopify developer, announced a strategic partnership with Waves, the global public blockchain platform. The free Waves Crypto Payments for Magento 2 stores will open quality-new perspectives for merchants and customers.
The Waves Crypto Payments extension is a free integration that connects Magento 2 stores with the Waves public blockchain platform, thus enabling both shoppers and merchants to pay for/receive payments in cryptocurrency — securely, faster, more transparently, and with payment processing fees close to zero.
“E-commerce is rapidly developing, and that’s why it needs new technological allies to further evolve. For us, it is obvious that the blockchain technology is the key component for a state-of-the-art e-commerce ecosystem. We’re excited to be at the forefront of the blockchain and e-commerce inevitable merger”, — says Waves CEO Alexander Ivanov.
Waves Crypto Payments extension is a one-of-a-kind c-commerce blockchain technology for Magento 2 stores. The product marks a milestone in the partnership between the two companies and establishes a framework for a fruitful future collaboration in development of a new product line.
“This partnership brings in a new era in eCommerce, and a good first step towards introducing blockchain technologies in Magento. The free integration will open up new horizons for merchants. Reduced processing fees, payment transactions that take a couple of seconds, higher security and transparency are just some of the advantages of this technology application”, — adds Vitali Dudin, MageWorx CEO.
Hashgraph and New Crypto Technologies
A new technology called hashgraph has been attracting interest, due to its apparent advantages over conventional blockchain technology. But what is hashgraph? Is it better or worse than blockchain, or merely different?
Bitcoin represented a game-changing development for online financial transfers, removing the need for any single, centralised authority to keep accounts. The blockchain that underpins bitcoin makes peer-to-peer cash possible.
It also has its limitations. Bitcoin is capable of supporting just a handful of transactions per second. The size of the data required to store each transaction varies, depending on the number of inputs and outputs, but bitcoin’s throughput is around 200–300 transactions per minute. This was fine in its early days, but now the network is seeing greater use, transactions can back up and be delayed by hours or days. It’s possible to ensure a transaction is confirmed straight away, but only at a cost. At the height of network activity back in December 2017, for example, a transaction might cost as much as $20 in fees. SegWit reduces pressure on the network, but if bitcoin is to see further adoption this will only be a temporary fix.
Waves-NG: blockchain 2.0
Later blockchains have sought to address this throughput issue in a number of ways, including larger blocks. The leading blockchain for throughput is currently the Waves Platform, which employs a slightly different approach to network consensus. In the Bitcoin protocol, users submit transactions and they are held in a ‘pending’ status in the mempool until the next miner is found — a process that takes on average 10 minutes. How long a transaction takes to be incorporated in the blockchain depends on how long it takes to find a miner (it can be far longer) and the fees paid for the transaction.
Waves uses a new approach called Waves-NG. Here, the next miner is selected in advance, and transactions are added to that block more-or-less in real-time. As a proof-of-stake system it’s much faster and more efficient than bitcoin’s proof-of-work. The result of this is that throughput is as high as 6,000 transactions per minute — an order of magnitude higher than most other blockchains. And like other major blockchains, Waves is also looking at off-chain scaling solutions like the Lightning Network (Bitcoin) and Raiden (Ethereum).
Whilst there are solutions to the Bitcoin blockchain’s lack of throughput, there are other approaches to distributed consensus that don’t use a conventional blockchain at all. Hashgraph is one that is being touted as a ‘second generation’ distributed ledger. Initial tests used a permission-based network, and were promising. A later public network test by Hedera showed the concept could potentially be used to support tens or hundreds of thousands of transactions per second.
Hashgraph works by using a ‘gossip’ protocol, in which nodes can inform randomly-selected other nodes about recent transactions, passing these on until the whole network is aware of changes. (You can find out more in this article.)
Like blockchain five or six years ago, hashgraph is still in its infancy and there are questions that arise. One is how safe it is, since there are assumptions made about nodes connecting to other nodes that are honest. It’s not a problem for a private ledger, but it’s an unknown quantity when it comes to public networks.
Hashgraph appears to be a promising technology, but it’s still very new. It’s likely to find some popular applications, but less likely to replace blockchains entirely. Blockchains themselves are undergoing rapid iterations in their technology, with new innovations dramatically increasing their speed and throughput. By the time hashgraph is production-ready, leading blockchains will have extensive on-chain and off-chain scaling solutions.
TL;DR: blockchain is slow, Waves-NG is fast, off-chain scaling one answer, hashgraph is a new and different one.
Vanity Address Generation
Crypto addresses are effectively long strings of random characters that aren’t always easy to recognise or distinguish. That’s why personalising them with a vanity address can be fun and handy!
Generating your own vanity address for bitcoin and other cryptos is relatively straightforward, but you should bear in mind a couple of warnings.
- Make sure you do it yourself! There are websites that generate vanity addresses for you, but there is no way to be sure they won’t keep the private key — and therefore access to your funds! (Thanks to the magic of public key cryptography, there are split-key generators that are safe, but since there’s some extra technical overhead in using these, we’ll keep it simple for now.)
- Make sure the software is safe! You need an open source vanity address generator that you know can generate truly random private keys and addresses, and that isn’t going to send your keys back to someone else.
As a starting point, we suggest using this popular commandline bitcoin vanity address calculator: https://en.bitcoin.it/wiki/Vanitygen
How it works
Bitcoin addresses are generated from private keys, and there is no pattern between the key and the address. That means every address is effectively a random string of characters. If you want one that has certain properties — such as your name or a certain word at the beginning (e.g. 1Bitcoin…) — the only way to do it is to generate many, many different private keys and see if one of the corresponding addresses has the string you want. The longer that string, the harder it is to find. You can speed things up by using a GPU address generator, rather than the slower CPU, but unless you have specialist hardware and some extra expertise, it’s probably not worth looking for strings more than seven or eight characters long — unless you’re prepared to wait literally months or years.
For shorter strings, the process is pretty fast, even with a laptop computer. For example, searching for the string ‘1Bit’ takes just seconds, returning a message like this:
Difficulty: 77178 Pattern: 1Bit Address: 1Bit7E9uM1Vbt1Mn3WKtcEXc5uJxZtgt9W Privkey: 5KBL5J2SCzoxCu8LSbur3vCcpzQQ5kL2JdRZDAu4AmCohko7goG
(Note that an ‘easy’ string to find like this does not mean that specific private key can be guessed easily — there are many keys that map to addresses beginning with 1Bit.)
Non-bitcoin vanity addresses
If you want to generate a vanity address for a different coin, you’ll need different software. Most protocols work along similar lines, and so a slight modification of the original vanitygen software will do the job. One example can be found at https://github.com/mikeyb/vanitygen-gamecredits/blob/master/README.md
For cryptos that are built on a different codebase and aren’t supported by this, like Waves, you’ll need a different approach again.
The PyWaves project, developed by Peter Black, will help you do this. If you have a little Python experience, you can get your hands dirty with pywaves, a Python library for Waves. That enables you to create addresses and much else besides very easily. All you need is a SEED to create a Waves address. You can use pywaves to generate a random twelve-word SEED and its associated address, plus other account information.
You’ll get a response like:
address = 3PBYbuoUptZNr2byyW8P5Em8SYmhUUSCRRo publicKey = 8yfyWdAFdmWF2uhZTjgeVEpJDLsHkXdTPs4QqyV9FUUK privateKey = DPSWTfdtKDJJTyAgbgKgzzH52uUTuNPPZB3SxdGjBtzq seed = crucial topple useless file sorry change bridge route trap flower nose advance bar clinic idle balances: Waves = 0
Now all you have to do is pick the phrase you want to see in your address, and run that enough times to find it. However, Python and pywaves aren’t really designed for this, and you’ll be waiting around a long time if you cobble together a vanity generator using this approach. Instead, you can use the much faster and purpose-designed wallet generator: https://github.com/PyWaves/wallet-generator
The instructions on the github are pretty comprehensive, but there are lots of helpful people over at the Waves Discord if you need more to go on.