Please login or register.

Make Monero Fork-proof

Just thinking out loud here....

Maybe there is some way to make monero fork-proof (or at least fork resistant)? The idea would be to make existing coins spendable only on one branch of a fork. If it was a choice of one fork or the other it would be less tempting to try to extract fork-coins in addition to Monero proper. It might be possible for at least the planned hard fork upgrades? That way the scheduled upgrade cant be 'exploited' to create new [scam]coins. If somebody wants to create a fork they would have to put in at least enough effort to create and relase a new software version.

I dont have a technical solution to propose but am guessing it may be possible to "lock" all utxo's in the last block before the scheduled forking block in a way that only the "official" new consensus rules can unlock them in the first post-fork block?

Replies: 1
Mrawesome posted 6 years ago Weight: 0 | Link [ - ]

It's not possible to do anything like that. Unlike resistance to ASIC mining (through changes in the way Proof Of Work works) you can't make a fork-proof blockchain. Because really a fork is just a copy of a blockchain's history that from a specific point is going off with different consensus rules which are incompatible with the original chain. For example a change in the Proof of Work rules (like what happened recently on April 6th 2018) technically made a fork of the chain. The only difference is that more individuals or organizations (notably big organizations like exchanges) adopt the new fork of the chain with the new rules. If nobody adopts the new chain with the new rules then technically speaking nobody forked (because no new chain was developed) even if there was a client for it.

Blockchains rely on clients to keep consensus. Sound consensus is what gives crytocurrencies value. Without a doubt unplanned forks can hurt the consensus because it breaks the certainty (soundness) that if I send funds to an address they will receive it correctly. If two parties are running on two different chains (due to a fork) then one will need to update to receive or send the funds to the other party. Unless the different chains are contested (like when Ethereum classic forked from the main Ethereum chain due to the DAO) generally one of those two parties will update to the latest rules. If it is contested, generally the fork will named itself different unless it is expected to completely replace the main chain. This is to make sure the fork has the same sound consensus as the main chain. If the fork and main chain are battling it out (with near 50/50 client and mining split) it will hurt both of theirs consensuses. That will most likely never be the case because development and the community around the development generally won't have that 50/50 split.

A little bit of my thinking out loud there... now onto why fork-proof blockchains are not possible. It's because rules can or can not be followed and when they are different a fork generally happens. So if you make a rule that "locks" funds or transactions at a specific block height the fork chain can just say "ah no we aren't doing that" and remove that rule from the forked blockchain. Thus the fork happens anyway. Freedom of choice man. If you want to be on the same network as everybody else you need to follow the same rules as everybody else. If you don't care about the rules and want to go on your own you can do that anytime. Fuck the systen man. The only issue is that you need a sizeable following and big organization support to really make it worth your wild. Both of which relys on you following a system.