Determining the best input size for staking
What is the best input size to maximize your staking rewards? This is an intensely discussed topic and there are many opinions about this. I have read a few threads about staking and how to optimize your rewards, but couldn't find a satisfying answer. The most common guess is about 200 $onions per input, but I wanted to be certain about this and decided to evaluate it.
Approach
My approach was to set up multiple wallets and send 1000 $onions to each wallet. Every wallet will receive transactions with different amounts, but in total they will all start with 1000 $onions.
Test Setup - Running Wallets
The wallet with the smallest input amounts will receive 200 transactions with five $onions each. The wallet on the other end will receive two transactions with 500 $onions and one wallet will receive random amounts between 0 and 150 $onions.
Coin Distribution
Due to the lack of $onions I created this setup on the testnet. Another advantage there is the low network weight, so I will receive staking rewards shortly after I funded the wallets.
Setup
It was time for the setup. I needed six running wallets for this evaluation. Therefore I created six DeepOnion testnet folders under roaming (right) and six shortcuts with custom ports (left). This is required that they don't block each others connection.
Wallet Setup
To save unnecessary work I created a script to start the wallets in the correct order. Just a few lines of PowerShell.
Sending
I needed to fund the wallets. This wasn't as easy as I thought. Especially for the smaller input transactions I had to automate this due to the high number of transactions.
I connected the standard bitcoin-cli to my sender wallet as described in this article.
https://deeponion.org/community/threads/tutorial-how-to-send-rpc-commands-to-your-deeponion-qt-wallet.24421
Then I sent all $onions to the dedicated wallets via scripts. It took about 20 minutes until all transactions were sent.
Sample script to send $onions
Results
The evaluation is still running, but I wanted to publish the intermediate results.
I started the tests on 31.03.2018 19:50 and 20 hours later the wallet with the largest inputs leads. The wallet with the smallest inputs only received one reward and is far behind. Other than I thought, it looks like the wallet only uses exactly one input transaction and doesn't combine them. So the rewards for the smaller inputs are always low.
Intermediate Results 31.03.2018 19:50
Below are the results after about 35 hours. The first and last place didn't change, but the other wallets with higher inputs catching up. I assume this is caused through the splitting of the 500 $onions blocks.
Intermediate Results 01.04.2018 07:00
I checked the results again and except of the small inputs, all wallets received similar rewards. It seems that the actual input doesn't have a high impact as long as their big enough.
Intermediate Results 01.04.2018 17:27
Intermediate Result - Overview Wallets
Findings
After a while of staking it was interesting to note that after every stake the locked amount is splitted into two parts of the same size. So, the longer you don't touch your blocks the smaller are your available input transactions. The screenshot below shows the wallet with the initial 500 $onion input transactions.
Splitted Block after Staking
Summary
It should be kept in mind that there are not many people stake on the testnet and therefore the network weight is quite small to the mainnet. But basically the same results should apply for the mainnet
It looks like the higher the input amounts are the more rewards you will get. From the above results the best input amount was also the highest with 500 $onions and it seems that the rewards could be even higher.
One important point to remember is the input halving after a successful stake. So, it could be an advantage to combine them from time to time (this will cause a reset of the coin age).
Lookout
I will update this article in a few days with the newest results. I have also planned to repeat this evaluation with higher inputs as it turned out that the higher the inputs the higher the rewards.
I also published this article on the DeepOnion community forum.
https://deeponion.org/community/threads/article-determining-the-best-input-size-for-staking.34189/
Follow me on twitter for the newest updates and giveaways.
https://twitter.com/BlockEncryptor