Block creation speed, double spending and coin circulation on the Monero network.
Bitcoin difficulty parameter changes every 2016 blocks. Average block creation speed on the Bitcoin network is 10 minutes, which means that Bitcoin network on average adjusts the difficulty parameter every 336 hours (which is equal to 14 days or 2 weeks). Monero changes the difficulty with every block of its blockchain, which allows for much faster network adjustments. Monero is also different from Bitcoin in that Bitcoin has a block size limit of 1 megabyte. With Monero, there is no maximum block size limitation coded into the software that runs the network. What Monero has is block reward penalty mechanism. The mechanism is a part of the Monero protocol. The reward penalty becomes active between 100% and 200% of the block size for the median of the sizes of the previous 100 blocks after removing the outliers.
The target block creation speed on the Monero network is two minutes. This number may change in the future. For the latest up-to-date information about Monero’s specifications, please visit https://getmonero.org/resources/technical-specs/
Developers of Monero have decided that the emission of the currency will follow a curve and that by the end of May 2022, the network will create about 18.1 million coins. After that, the network will be adding 0.6 coins to circulation as a reward for the creation of the blocks on the Monero blockchain. As stated above, the speed of block creation on the Monero network is one block every two minutes. This means that the network will have inflation of less than 1%. Projected maximum supply of coins on the network is infinite. The developers of Monero believe that having an infinite supply of coins is the best way to incentivize miners to keep processing transactions and create blocks of the Monero blockchain.
Monero, double spending and coins in circulation
One of the questions some digital currency users have after learning about all the privacy and anonymity features of Monero is the following: how do we know that the developers of the currency are not creating coins out of thin air? This is related to another question, also known as the issue of double spending: how does the network prevent users from sending the same funds multiple times? The answer to both of these questions lies in the design of the Monero network.
Every transaction on the network has a key image parameter. A key image is an alternate public key that is a part of a traceable ring signature algorithm. Key image ensures that there’s a link between all signatures that are related to the same private key. When the link is missing, the Monero protocol will reject the transaction. Key images allow the Monero network to quickly identify outputs of transactions that have been previously spent.
When miners on the Monero network receive information about a pending transaction, they use the key image that comes with the transaction to check the network for double-spending.
Another way for the Monero network to track the spending of funds is by using commitment schemes and Pedersen Commitment in particular.
In cryptography, a commitment scheme is an algorithm that allows users to choose and commit to a value without disclosing the value to other members of the network. The goal of a commitment scheme is to prevent a party from changing its mind once it has committed to a decision. This means that a commitment scheme is a binding algorithm.
Here’s how a commitment scheme works: imagine that you need to send information or funds to someone without others having access to that information, which is exactly what happens when you send funds on the Monero network. You can place the funds into a box, lock the box, send the box to the recipient and give the key to someone else. That someone else will not know what’s in the box because they don’t have access to the box. All they have is a key. The recipient will not be able to open the box without the key. Once you send out the box or the key, you lose access to the contents of the box and can’t change your decision about giving the contents to someone else. That’s the essence of a commitment scheme.
Monero software consists of three parts. There is MoneroD, which is the software responsible for interacting with Monero blockchain. Monero-wallet-cli is the software for users to manage their accounts, wallets and keys. Finally, Monero GUI, which is short for Graphics User Interface, is the interface that makes it convenient for users to interact with both MoneroD and Monero Wallet. Just like with most cryptocurrencies available on the market today, all of the software is open-source.
The first time you install a Monero wallet, the wallet will prompt you to choose a twenty-five word mnemonic seed. The seed is a combination of twenty-five words that you can use to restore the account even if something happens to your hard drive or hardware wallet, which is why you should keep the twenty-five word seed safe and not share it with anyone.
When you send money using Monero to an address, the money will arrive in several payments. For example, if you were to send 18 Monero coins, they would arrive in three transactions of 10, 5 and 3 coins. Each transaction gets a separate record on the Monero blockchain. This is one of the reasons why tracking transactions on the Monero network is virtually impossible.
Suppose a third party knows that a store sells something for a very specific amount of coins, for example, 11.123888 Moneros. On the Bitcoin network, the third party could monitor the network looking for the transaction. On the Monero network, this would be useless because the network breaks all the transactions into un-differentiable units. This is the same as when someone monitors a cash register expecting a $100 bill which doesn’t come become the party that was supposed to pay $100 paid in $20s, $10s and $5 instead.