In this post, I propose the idea of a new mode of mining for bitcoin -which I call Tic-Tac coopetition mining- which could save energy by a factor of m/n (where m and n are two arbitrary constants that determine the lengths of each phase).
As such, it would not only be more environmentally friendly than the current model, but also cheaper to operate for the miners, which could potentially lead to lower fees if implemented.
Traditional bitcoin mining
As of now (December 2016) the mining protocol of bitcoin is essentially this:
After a new block has been found and broadcasted to the network, all the mining pools begin to compete simultaneously, trying to find a new block that builds upon the previous one.
In order to do so, they validate the previous block, create a new one by adding zero or more transactions to the block and increment repeatedly a nonce to find a hash which matches the current difficulty target.
During this process, every mining pool is actively using their full hashing resources at maximum speed, effectively competing to be the first one to find a valid block. In doing so, all available computers are working at full capacity, thus using a lot of energy.
While this behavior has the main effect of securing the transactions added to the ledger in a very effective way (by forcing an attacker to gather an enormous amount of ASIC power to revert any transactions previously committed to the ledger) it is also very energy and cost-of-operation intensive.
Tic Tac Coopetition mining proposal
The gist of the coopetition mining system is to alternate every m blocks a phase of competition with another phase of cooperation that will last for n blocks. The competition phase (Tic) is mining as usual. The cooperation phase (Tac) requires the most recent winners to cooperate by validating and signing blocks instead of finding a nonce that satisfies the current hash target.
Let’s introduce the idea with an example (m=144, n=1440).
Competition phase “Tic” (1 day, or 144 blocks)
Say the phase of competition lasts for one day (approx.), followed by ten days of cooperation.
One day is roughly equal to 24 hours x 6 block/hour = 144 blocks.
During this phase mining works as usual, with anybody competing to find as many blocks as possible.
After the 144th block has been found, however, the network changes its mode of operation from competition -Tic- to cooperation -Tac-, with the following characteristics:
Cooperation phase “Tac” (10 days, or 1440 blocks)
- The cooperation phase will last for 144 x 10 blocks = 1440 blocks.
- The rewards during this cooperation phase (fees and new coins) will be fairly distributed among the winners of the previous competition phase. Fairly should be interpreted as proportional. That means that a mining pool that solved 7% of the blocks during the competition phase will get 7% of the total proceedings from every block mined during the competition phase.
- Every 10 minutes a new block is created and broadcasted to the network.
- The new block is considered valid if:
- All of its transactions are valid.
- It transmits the newly generated coins and any fees due in a fair manner, as described previously in .
- The block has been signed by the winners of the Tic phase. The signatures must represent more than 50% of the total network hashing power, as proven during the competition phase.
- No hashing at all will be performed during this phase; signing will be interpreted by the network as proof enough that the block is valid. (That is where the energy savings come from, obviously).
- In case of conflict, the block with more valid signatures is considered the valid one.
After the 1440th block has been mined this way, the network will enter another phase of competition -Tic-, open to everyone, and the process will repeat indefinitely.
Possible risks and benefits
I haven’t performed anything near a detailed analysis of risks and benefits of this mining proposal, so I’d love to hear some ideas from the community.
Anyway, I am listing a few considerations hereafter :
- Very significant energy and money savings for the miners. This means a smaller ecological impact and lower costs for the system.
- Similar to the present mining system, no major changes required. The competition phase (Tic) is essentially, business as usual. Mining is however, closed to new entrants during the cooperation phase (Tac). By keeping the Tac phase reasonably short (say 10 days) we could achieve a reasonable compromise between keeping the system open to new entrants and saving energy and money for the miners.
- New security risks. It is possible that some form of collusion among miners could introduce some new risks. That obviously needs extensive study.
- Hard fork required.
- The relative duration of the phases is arbitrary. This example proposes a 1:10 proportion between Tic and Tac (competition and cooperation). A larger cooperation phase has the benefit of larger savings and the disadvantage of keeping new miners out of the system for a longer period.
- This system creates in effect an oligopoly during the cooperation phase.
- The cooperation phase would produce a block every 10 minutes, bringing more predictability to the system by reducing the current variability of block timing.
- The competition phase has to be sufficiently long as to allow a smaller player to have a significant chance of winning at least one block. In this example, the smallest player should have at least 1/144 (0.7%) of the total hashing power in order to have a reasonable expectation of entering the cooperation phase. A short competition phase promotes centralization while a long competition phase reduces the energy and cost savings.
- Transition from one phase to another could be tricky. In particular, competition for the last few blocks before entering the cooperation phase will have a very big impact since it implies locking in future rewards. I suppose this introduces possibilities for selfish mining and collusion that need to be explored more deeply.
That’s it for now. Please send me your comments !