Qtum Mainnet Ignition Results October 9–15


This is my second week of reporting on the public deployment of Qtum Mainnet Ignition, examining the parameters and performance of the Qtum blockchain. The Qtum Explorer Stats page charts are starting to show some promise, such as the Transactions chart, so I won’t need to cover this data in the future, but there are some other interesting things to review [1].

Data sources for this article come from the Qtum Explorer and custom real-time logging of the qtumd server application I posted on GitHub.

Mainnet saw increasing activity this week, with both the number of unique addresses and network weight growing during the week as more people moved their swapped QTUM out of the exchanges and began staking. This week, some bigger private wallets began to win block rewards — these wallets have the weight to win 3 or more block rewards a day, which gives them weights typically greater than 30,000 QTUM — see more in the section below “The Contenders”. About 26% of the Qtum ERC-20 tokens have been burned[2] so far (destroyed after being swapped for mainnet coins), and this number is growing slowly.

Network Weight

Network weight is a calculation by the wallet of a moving average of mining difficulty, that provides an estimate of the wallet weights for all wallets staking on the network. Network weight changes on a block-by-block basis, depending on this moving average calculation. For example, on October 13th, the network weight had a range between a low of 4,603,644 (block 25,713) to a high of 9,417,316 (block 26,009).

The chart of end of day (UTC) network weight is given below. At the end of day (UTC) for October 15 the network weight was 10,026,853.

Annual Return

There is always interest in the return from staking QTUM, and perhaps the “compound interest” from your block rewards, which could have the effect of increasing your return over the course of a year. However, if all the staking wallets add their rewards back to their weight, the network weight would grow proportionally and cancel out the compound interest. However, if the big wallets (run by whales) are cashing in their block rewards, then you could get compound interest during the year.

The expected return is plotted below for various network weights.

Unique Reward Addresses

On October 15th the number of unique block reward winners grew to 299.

Average Block Time

The target block timing for Qtum is 2 minutes (120 seconds). This week the blockchain was averaging about 600 blocks a day, with an average time around 145 seconds, which means the time it takes about 20 hours for coins to mature with 500 confirmations.

Transactions Per Day

In the second week transactions per day have grown into the several thousand range, as shown below and on the Qtum Explorer Stats chart [3].

Block Timing Variation

Due to the random nature of Proof of Stake (PoS), there can be considerable variation in the timing between blocks. For October 14th, the block timing distribution is shown below, based on times logged by my Python script, which provides a little more definition than the Qtum Explorer, and is accurate within +- 2 seconds. Block timing ranged from 4 seconds to 1250 seconds (20 minutes 50 seconds). The 4 second blocks are sprinkled across a variety of wallet sizes, and seem to land 5 or 6 times a day. Two of these recent speed demons are blocks 27,317 and 23,731.

For comparison the block timing from two weeks ago is also shown below. While the data buckets don’t match exactly (due to the different ranges for the two data sets) the slope of the distribution seems to be similar, which implies the variation has not gone down, but it is still too see network effects reducing this variation. With a few more wallets online this week, there were still some extremes, including two blocks on October 12th with durations over 40 minutes [4].

The Contenders

In week 2 there began to emerge a number of large private wallets. Below are the private wallets that won 3 or more block rewards on October 14th.

These are probably all private wallets because they started operation within the past week, and some of these are certainly the same size as Foundation wallets. The wallet address “…wL2f” started life on October 7th and began staking from a single UTXO of 870,000 QTUM. Now, after approximately 33 block rewards (see the next section for the derivation of this number), with splitting and resplitting of the UTXOs, this wallet is staking around 6,000 QTUM with each block reward. The original weight of 870,000 is down has slimmed down to 286,000, and you could guess the difference is powering some other big wallets on the network.

Fun with the Qtum Explorer

For Fun with the Qtum Explorer this week, we will look at the number of transactions (“No. Transactions”) in the Summary at the top of the page for each address, which is a good clue about how a wallet at this address is doing. The trivia question is: how many transactions will you get for a block reward that will show up in this “No. Transactions” field for an address?

For the answer we can look at the number of transactions for two wallet addresses. First, a very lucky little guy

QMu7rQcbbNPgYLwnd7BTzFEWWqEyTKvv7X. If you read the transaction history for this wallet, you can see the owner very carefully did two small test transactions before loading the wallet in two transactions of 451 QTUM (4 transactions to this point). These coins matured 500 blocks later, and even though the network weight at the time gave an expected time to reward of 11 days, in a little over 1 day this wallet claimed block 26,381. That would have been the 5th transaction, and careful observers can guess the nine 0.4 QTUM payments that followed starting 502 blocks later would bring the total number of transactions up to 14, because there are 10 transactions for each block reward.

Now let’s look at one of my favorite wallets, the “granddaddy Foundation wallet” at address

QTDpDZDAr9pxMLoZZQZsMavMZ1G7eN4MmC. At the time of this writing (October 16, 0036 hours UTC) this big guy had 7,922 transactions, and I’m not going to read through all of them like is possible with “…vv7X” above, but this should represent about 791 block rewards. Good job securing the network big guy!

Normalized Weighting for Foundation Wallets

This last chart section takes a look at the Foundation wallet’s performance over time. The approach is to look at a Foundation wallet or wallets, and normalize their results as the network weight grows. Starting with a simple example, let’s look at my favorite big guy, “…4MmC”. On October 2nd this wallet enjoyed winning 22 block rewards, with the same number won on October 14th. But by October 14th the network weight had gone up 2.3 times (3.9 million to 9.0 million) so normalized for network weight, he did much better on October 14th.

It is a little more complex to extend this methodology to the cohort of Foundation wallet addresses, but here goes. The approach is to identify all the unique addresses winning block rewards for the seven days before October 4th. By definition, these had to be Foundation wallets, and there were 39 such addresses. Make a string with the last 10 characters of each address and use the Excel string matching[5] to identify each block reward address as a Foundation or private wallet. For each day, calculate the percentage of Foundation vs. private wallets. Also calculate and plot the Foundation block rewards divided by the change in network weight normalized to the end of day network weight on October 4th.

The results in the chart below attempt show if the Foundation wallets are taking their proportion of the block rewards as the network weight grows, or if the Foundation is “taking their foot off the gas”[6]. I have less confidence in this chart (in part why it is buried at the end of this article where only the most intrepid readers will reach) since there are other factors (such as the Foundation changing their wallet addresses) which would distort the data. Given normal random variations (even averaged over 39 addresses) it appears the Foundation is holding their capacity constant.

Many thanks to the Qtum Community for all the discussion, education and enlightenment.

May your block rewards sprout up like a Supertree Grove,


Supertree Grove — day and night

[1] I am an independent researcher, not affiliated with the Qtum team, but I would like to acknowledge and have great appreciation for their advice and help along the way.

[2] The Ethereum — Qtum token contract, add up coins sent to the invalid 0x11111.., 0x3333.., etc. addresses.

[3] https://qtum.info/stats/transactions/30

[4] See blocks 25, 834 and 25,900.

[5] For Excelheads: IF(ISERROR(FIND(RIGHT(address,10), <composite address>,1)),0,1) gives “1” for a Foundation wallet or “0” for a private wallet, where <composite address> is the 390-character concatenated string of the last 10 characters of all the unique reward addresses from September 27th through October 3rd.

[6] This result will hover around 1.0 if the Foundation holds their staking capacity constant, and will decrease if they reduce their capacity.