Blockchain is the future, and there are no two words about it! Recently Armia Systems has been adopting an informed shift into the world of blockchain through our client project and in-house research and development teams. A lot of it has to do with the sheer number of queries we get regarding Crypto Tokens on a day-to-day basis.
Since the beginning of the new decade, interest in blockchains, especially cryptocurrencies and tokens, has skyrocketed. For investors and developers, they offer a lucrative money-making opportunity when issued for trade in major crypto exchanges through Initial Coin Offering (ICO). For businesses, blockchain opens up many new possibilities in Fintech, IoT, Smart Contracts, and other new-age tech segments.
Armia Systems is currently fully capable of creating Crypto Tokens based on any blockchain. We are extending this support to our clients as well. However, many of our ambitious clients want to go further and implement Crypto-based reward systems on their websites and apps– similar to what ‘Brave’ web browser is doing. Such a system’s complexities are in a different ballpark altogether, but we’ve taken this up as a challenge.
The first step in creating a Crypto-based reward system is to select the right blockchain. In this article, we will concentrate exclusively on this aspect of development.
Subscribe to our newsletter to receive subsequent updates to this story and learn more about how we are creating a robust reward system in the blockchain.
Crypto Reward System: Which blockchain to use?
An essential part of implementing a crypto-based reward system for a website or app is finding an efficient token minting process where users are rewarded tokens for specific interactions within the platform. This could be sharing new content, interacting with other users, or inviting non-users as affiliates. These tokens should be able to be transferred within the app and even be used for transactions outside.
Many reliable blockchain options are available in the market, but their minting prices are too high or lack proper support. For these reasons, we decided not to go with bigger blockchains such as Bitcoin or Ethereum and zeroed in on Solana.
Solana is a relatively new blockchain technology launched in 2020 but has quickly risen in ranks due to its stable nature, high performance, and robust token support. The Solana blockchain is one of the world’s biggest contributors to crypto tokens. However, for all its positives, Solana claims high gas prices, which would be difficult to incorporate on a mass scale, especially if the platform owner has to bear the brunt of each minting.
We decided to look for a blockchain that demands a lesser gas fee and found an affordable alternative in Stellar. Stellar’s native crypto XLM costs just a fraction of Solana (SOL), making it an affordable option to mint. However, it does suffer in terms of performance using ‘stellar consensus protocol’ instead of Solana’s more modern ‘proof of history algorithm’. The price is a central plus point, and only testing will prove if its performance is adequately comparable to Solana and thus become a viable alternative for our projects
Stellar vs Solana – Performance Testing
We did the test to understand how the performance of Solana and Stellar blockchains vary across different real-world conditions. This should ideally provide us with data on which one to use for a mass-scale implementation as an error-free and fast crypto reward system on websites and mobile apps.
A test environment was created to study the performance of specific APIs within multiple simultaneous transactions- starting from 30 and going all the way up to 300.
Tool used : Apache Jmeter
Networks : Solana and Stellar
Network Type : Testnet
Internet Speed : 4MBPS
Maximum simultaneous Transactions on both networks : 300
APIs that were tested
Three APIs were tested to their limits by requesting simultaneous transactions in the order of 30, 100 and 300. They are:
CreateTokenAccount: Creating a new token account in either Solana or Stellar blockchain.
TransferTokens: Transferring tokens from one account to another within the same blockchain
getWalletBalance: Checking the wallet balance of a created token account
Performance Testing Parameters
Response time is the time taken for the API to respond to the transaction command. It is measured based on minimum, maximum and average scales. For this testing, Response time is the average response time value of all three APIs.
The Standard Deviation measures how response time is spread out around the average value. The smaller the Standard Deviation, the more consistent the response time.
If there were errors in executing the transaction, the Error % shows the percentage of failures after the test condition was met.
This is one of the most important parameters of the study. Throughput shows the total number of APIs processed in a second
Stellar vs Solana- Result of the testing
Solana was the clear winner in this comparison testing, outperforming Stellar in almost all the benchmark parameters we had set. We started by sending 30 simultaneous transactions to each API to check how the performance varies.
This was the result:
|Minimum response time||0.6 seconds||4 seconds|
|Maximum response time||1.2 seconds||6.5 seconds|
|Average response time||1 second||5.4 seconds|
|Standard Deviation value||177||537|
|Throughput ( apis / second )||15.4||4.0|
We can see that Solana has outperformed Stellar even at a meager 30 transactions per second. The average response time was 1 second for Solana. Processing above 15 APIs per second. On the other hand, Stellar had a response time of 5.4 seconds and could only process 4 APIs per second.
Now we increased the simultaneous transactions to 100. The response time of both decreases- Stellar by about 3 seconds and Solana by 1 second. Solana performed much better in this test, too, and the response time was within acceptable levels to provide a great user experience.
|Minimum response time||1.3 seconds||3.3 seconds|
|Maximum response time||2.2 seconds||9.7 seconds|
|Average response time||1.7 seconds||5.9 seconds|
|Standard Deviation value||241||1990|
|Throughput ( apis / second )||31.3||9.8|
In order to maximize the test’s potential, we sent 300 simultaneous transactions in the final round of testing. The test network IP immediately got blocked for Solana, and we couldn’t get a result. However, based on the trend in the previous two tests, we are providing expected figures for the purpose of comparison.
Stellar allowed 300 concurrent transactions in test condition, and the number had deteriorated, but surprisingly not by much. The average response time was only six-tenths of a second slower than what it was at 100 transactions. The throughput also increased, from 9.8 at 100 simultaneous transactions to 21 at 300 transactions.
|Minimum response time||1.8 seconds||3.9 seconds|
|Maximum response time||4.5 seconds||10.3 seconds|
|Average response time||2.8 seconds||6.5 seconds|
|Standard Deviation value||380||6567|
|Throughput ( apis / second )||80||21.3|
Stellar vs Solana: Creating a Crypto Reward System
An ideal cryptocurrency reward system would provide steady performance even at 1000s of simultaneous transactions, is based on an appreciating crypto blockchain, and could be implemented affordably. Our tests prove that Solana offers a safe bet when considering the first two factors, but affordability is an issue. At $27 (On 22nd October 2022), using the Solana blockchain as a reward system would prove too costly. On the other hand, Stellar is priced at just $0.1103 when writing this article and is hugely affordable to implement. However, it struggles on the performance front.
Solana’s stable performance makes it a great candidate for any website, provided that development and operational costs are not an issue and users don’t have to bear the brunt of its gas fee. Stellar would best suit small, enterprise-level websites with smaller internal traffic. It would ensure affordable, reliable delivery within a stable and widely accepted blockchain environment.