Signum Plotting & Mining
Signum Mining: Introduction
Signum mining is the foundation for adding blocks to the Signum blockchain. There are two distinct processes, a preparatory stage referred to as plotting and a processing stage referred to as mining. This unique division differentiates Signum’s proof-of-capacity consensus algorithm from its functional counterpart, the proof-of-work consensus algorithm. It earns Signum the designation of “environmentally friendly”.
- Stage 1: Plotting software pre-computes and stores cryptographic hash function results in plot files. These plot files contain the data and computations necessary to forge blocks, including so-called deadlines. Because the calculations are retained rather than discarded immediately (as is done in traditional “proof-of-work” systems), mining capacity increases over time.
- Stage 2: Mining software reads quickly through a subset of the data contained in the plot files and submits the best deadline (cryptographic solution) to the Signum Network. The miner submitting the best deadline is granted the right to forge the related block and earns the associated block rewards and transaction fees.
Harvey Hard Drive has a hard day at the mine. Whew!
Plotting can be considered a modified proof-of-work component, but the process is temporary in nature as a preparatory stage and not comparable to the continuous proof-of-work methods implemented by proof-of-work blockchains.
While multiple operations are at work, such as division and string operations, the most notable calculations are Shabal-256 cryptographic hash calculations. Shabal-256 was selected because it is relatively slow and heavy compared to other functions such as SHA256. It slows the rate of plot file creation while remaining fast enough for live verifications.
Plot files are permanently bound to the account ID used to create them, and each ID generates unique plot files. They can be created on a computer with a faster CPU and transferred to be mined by a slower CPU. When using GPU-capable plotting software, reserve the GPU exclusively for plotting to avoid creating corrupted plot files.
Avoid creating duplicate or overlapping plot files by carefully entering a correct starting plot number for each plotting session. These may go unnoticed as they will not cause a malfunction. However, they are of no value in the mining process.
Engraver, a dedicated plotting program, and BTDEX, the perfect all-in-one solution for beginners, can be found in Signum Software. TurboPlotter 9000 is a good option if you have an SSD drive available and want to plot an external SMD drive. Although BTDEX can also use a staging device, the process is much easier to monitor with Turboplotter.
The maximum plot file size is limited only by storage device capacity. A device can contain a single large file or many smaller ones. There is a very small read time efficiency associated with large files, but there is more convenience in using smaller plot files in most cases. With smaller files, you can delete one or more to free up disk space when needed or remove and replace a single overlapping or corrupted file without deleting the entire disk contents. Smaller files are also easier to move among devices of different capacities. For 8 Terabyte hard drives, an individual file size of 1 Terabyte is recommended.
Physical mining capacity is the amount of physically stored plot files. A small fraction (around 0.025%) of these files are read each block interval. Mining capacity is determined statistically by the network based on the frequency and quality of deadlines submitted.
Physical mining capacity is a determining factor when choosing between solo and pool mining. If pool mining, it can inform the choice of which mining pool to join. However, there are no technical obstacles preventing anyone with a particular mining capacity from joining any specific pool.
Effective capacity is the result of the networks calculated physical capacity adjusted for a miner’s commitment level (amount of Signa staked).
Miners can stake Signa to statistically multiply physical capacity, resulting in a larger effective capacity. The chain compares committed balances with the average for all miners over the last 1,440 blocks and applies the staking benefit to the deadlines submitted.
Without commitment, effective capacity is reduced to 1/8. Average commitment results in a multiplying factor of 1. Committing 100 times the average increases effective capacity by a factor of 8. There is a linear relationship between commitment and factor at all levels.
A mining proceeds calculator can be found here: Mining Proceeds
Remember: It takes 1,440 blocks (4 days) for added commitment to become effective. During this time, effective capacity remains the same as before the transaction. To revoke or remove commitment, a miner must also wait for 1,440 blocks from the last forged block. Miners with large mining capacity need to stop mining for 1,440 blocks before sending the revoke commitment transaction. This behavior is made to incentivize miners to keep Signa committed to the mining process.
A solo miner benefits only from the plot files bound to their account. If a solo miner submits the best deadline to the network, they alone will be credited with the full block reward and 100% of the transaction fees associated with that block. Because the probability for any individual to forge a block is low, consistent success with solo mining requires many plot files. With the current size of the network, successful solo mining requires multiple terabytes of storage capacity. However, it is not unusual for a small miner to choose solo mining with the objective of network decentralization. In this case, however, profit is not the primary objective.
With pool mining, individual miners contribute their capacity to a cooperative group and share revenue according to a reward distribution policy. Reward distribution is generally proportional based on historical share, but pools may pay a larger share to the miner that submits the winning deadline. Most small-capacity miners prefer pool mining because it provides a regular stream of small payments. You can join any pool by initiating a reward assignment transaction.
Please note: Distribution methods, fees, payment schedules, and minimum payouts are set independently by pool operators.
Historical share is used to determine a miner’s share of a pool’s mining revenue. The calculation method for this statistic is set independently by each pool operator. It typically starts at zero for a new miner and rises to reflect total capacity over 24 hours based on the best deadlines a miner submits over 360 blocks. Because it is generated statistically, it usually oscillates above and below actual physical capacity by about five percent. To optimize this calculation, limit the maximum deadline submitted according to your pool’s specifications.
Anyone with technical expertise can operate a mining pool using Signum Pool Software.
Reward assignment is an on-chain transaction that notifies the network that all block rewards attributed to your plot files are assigned to another account. This mechanism allows pools to receive the block rewards to distribute to their participants. It grants permission for the blocks forged using the deadlines you submit to be signed by the mining pool’s account.
Find the reward assignment transaction in the drop-down menu in the upper left corner of the Phoenix wallet or behind the gear icon in Signum Node. In BTDEX, use the “Join Pool” button in the Mining tab. Enter the recipient account address, the minimum transaction fee of .01, your passphrase, and click “Set Reward Recipient.” The transaction becomes effective after four confirmations ( 16 minutes ).
New accounts created in BTDEX and Phoenix receive a small amount of Signa to cover the transaction fee. Accounts created in the classic wallet can also receive this amount if imported into Phoenix temporarily to use that wallet’s account activation functionality. Another option is to operate a full node and receive SNR awards to fund the reward assignment transaction fee. You can also request the amount needed in Signum’s Discord. Requests are usual and welcomed.
Some pools have a free option that allows you to set your reward assignment directly on their website. This involves entering your passphrase into an online form, so it is not recommended. After an account’s passphrase has been entered into an online form, it can never again be considered secure. For collecting mining proceeds, this may not be a problem. Just remember not to use the account for large amounts in the future.
Mining revenue consists of block rewards and transaction fees.
Signum block rewards reduce after every 10,800 blocks (approximately once per month), subject to a minimum block reward of 100. The general formula for calculating the block reward based on the current block height is as follows: max((month = block height / 10800reward = 10000 * 95^month / 100^month),(100))
As of block 972000, the scheduled block reward reduction period has ended and all blocks produce a block reward of 100 Signa plus fees.
Hash functions reduce data to a 64-character string of characters. Regardless of length or content, an original text produces an identical string each time. The slightest change results in a completely different string. Hash functions have many applications. One is checking a program for alterations by comparing the hash it produces with that of a version known to be good, or at least the original. If a program presented as original produces a different hash, this is evidence that it has been altered.
With Signum’s application of cryptology, each block contains the previous block’s hash so that each block in the chain is verifiable. If a previous block is changed, the hash for every subsequent block would also have to be changed, a task that would take billions of years due to Signum’s strong cryptology. Because new blocks are added approximately every four minutes, the short window of opportunity precludes such a lengthy task. Herein lies the security of the Signum blockchain.
Unlike Bitcoin, the problem is not solved by random guessing, but by reading through plots that contain pre-computed hash function results. Each is evaluated to determine a deadline. The account submitting the lowest valid deadline is authorized to sign the block and receive the block reward.
The account that creates a new block distributes it to the network.
For technical documentation related to Signum plotting and mining, including the process of creating plot files, see https://signum.community/signum-plotting-technical-information.