During the discussion about DeFi systems that use Automatic Market Makers (AMMs) on Bitcoin Cash it turned out that giving Bitcoin Cash the ability of weak confirmations that are faster than default 10 minute confirmations would be potentially extremely beneficial not only to the DeFi systems, but to massive number of use cases.
Ultimately it came down to me to spearhead this idea forward in order to research whether it can be done at all and what are possible implementation details.
The technology basics:
Weak blocks are small âintermediate blocksâ that miners mine in between normal, âbigâ blocks. They contain partial, weaker Proofs Of Work. The miners add transactions to the blocks and mine them, consecutively adding next blocks on top of previous blocks in a chain, exactly like they do with normal blocks, as defined in Nakamoto Consensus by Satoshi Nakamoto.
Theoretical advantages of this scheme:
- Faster (weak) confirmation time of transactions, without affecting the main blocktime of the network and significantly altering consensus. My personal suggestion is 15 second block time.
- Works great for Bitcoin Cash PR efforts, because Bitcoin Cash can be advertised as âthe network with fastest confirmationsâ after the implementation (assuming 15 second block time is used for the intermediate/weak blocks)
-
Significantly decreases the likeliness of miner-assisted double-spending attacks. Makes them harder to execute and more complicated. (EDIT: After investigation it seems this may be not true) - Positively affects DeFi systems, which are very confirmation-time-sensitive and hugely benefit from very short confirmation times for good user experience.
- Positively affects merchants and exchanges, that can use the weak confirmation as sufficient proof that a transaction will go through and not be reversed in a miner-assisted attack, thus allowing the users to transfer his funds faster.
- Psychological reasons: Pretty much any BCH transaction benefits because it can get Proof Of Work behind itself much faster, adding psychological validity and legitimity to the sent money. Itâs important to say that 0-confirmation already works well enough for 99.9% use cases of 99% people who mostly send smaller sums of money, so this is mainly a psychological solution. But still, it works because it affects people.
Theoretical disadvantages of this scheme I can see at this time:
- The change would probably significantly alter consensus, itâs consensus-critical, so it needs developers with high technical skills and good understanding of the underlying cryptography. The possibility of critical bugs and failures is very high and even the smallest bug in such critical code can have massive negative consequences.
- AFAIK the person that originally came out with the idea is not part of the BCH ecosystem right now, so coding + debugging and also repairing in case of some malfunction later in time can be extra difficult on top of already being difficult due to above
Advanced technological considerations:
Of what I understand about the technology (I am ready to be corrected though, not expecting that I will get everything right on first try),
- The miners mine weak/intermediate blocks in a chain, like they would mine normal blocks
- Each consecutive blocks contains the proof of work of itself, which is built on the proof of work of all previous blocks in the chain
- On average, after X=39 intermediate blocks [assuming 15 second weak block time; X = (600 / 15) - 1 = 39], a normal block gets mined that is built on the proof of work of the last(39th) weak/intermediate block.
- Alternatively, the miner can also skip the intermediate/weak blocks completely and just build the chain normally. It can also mine on top of any previous Weak Block in chain, thus orphaning some weak blocks (as it would work with normal Nakamoto Consensus). There is no penalty for not following the weak block chain.
Existing (unfinished) implementations:
- Storm/Bobtail proposal. Not completely sure if this is Work In Progress or maybe it was finished.
References:
Caveats:
My assumption is that miners will not be forced to always mine on top of the weak blocks, the weak blocks should be âoptionalâ, because otherwise that would directly alter basic nakamoto consensus, which we probably do not want to do.
But this creates a problem: How do we make miners mine the weak blocks despite they do not need to? Well, the answer is the same answer Satoshi would give: Incentives. Penalties and Rewards of some sort.
During my discussion in BCHâs Telegram channels, we brainstormed 3 possible incentives so far:
-
Rewarding miners with a specialized CashToken that can only be obtained as a mining reward for the weak blocks. The CashToken would be scarce, like BCH, could even follow the exact same basic mining schedule (21 million total in existence/halving every 4 years).
The CashToken will automatically gain trading value after some time, because this is simply how human mind works. Everything that is scarce and works and is useful will have some value.
-
Including an extra Transaction Fee that can only be acquired by a miner by mining a weak/intermediate block and not otherwise.
How precisely this could be implemented: Unclear at this time. Main problem is that transaction format of Bitcoin Cash would have to be changed to accomodate the extra fee in another field.
-
A âdonation poolâ that people can donate their funds voluntarily to. Such funds could only be claimed by mining weak blocks.
Possibility of future implementation:
Currently unknown. Topic up for discussion.
Proposed time of future implementation:
Cannot be determined at this time. Topic up for discussion.