ForkCoin: Making Hardforks part of the design

seweso

Member
Aug 19, 2015
34
18
Netherlands
This is a message I sent to @solex privately, to see if this is something BU wants to slowly move towards or if it is better to present this as a new alt-coin. I've decided to post this message verbatim, to gauge community feedback before expanding the idea.


Hey,

Maybe I'm preaching to the choir here, and all this has been said. But bear with me.

I was thinking about how BU has a huge uphill battle to climb just because Hardforking is hard and destructive. Which is part perception and part reality. ( Btw. You already made hardforking less dangerous with better fork detection right? )

But why don't we take this a step further and try to get the cost of Hardforking to absolute zero? Make sure forks can even live side-by-side?

Compare this with evolution where if any animal develops a trait which is beneficial it gets killed immediately. Everyone would understand that this prevents evolution completely. Yet in the Bitcoin world the dangers of hardforking are perceived mostly as something good.

In reality this means that the Bitcoin economy isn't in full control of what is best for Bitcoin as a whole. Any change which is incremental and doesn't offset the cost of Hardforking (or doesn't seem to) has no chance of getting adopted. Ever.

Therefore there is no true consensus driven development. There is "whoever can bundle the most changes can add all kinds of un-economical changes, and block anything which is deemed 'controversial' "-developer model.

So how can you reduce the cost of hardforking to zero? Well most importantly would be to make a fork easily distinguishable and thereby tradable. So for instance, a payment-URI should indicate from where it wants to recieve coins (which chain). And a wallet should be able to grab such coins and send these, or automatically trade coins and pay with those (via ShapeShift or something comparable).

Going a step further you would want a fork not to be denoted by a chain, but you might want to have the consensus library/code available as byte-code (a coin represents future intent, not only past performance). Where a coin is simply a hash of this consensus library. But that would need a new coin. And it might be too similar to Ethereum already...

This might align with Bitcoin Unlimited, in the sense of Unlimited choice, and to ...well. ...remove limits and stuff.. But it might merit / need a new coin altogether, and call it "ForkCoin" or something.

What do you think?
 

seweso

Member
Aug 19, 2015
34
18
Netherlands
Just spitballing here...

Going further in the Forkcoin idea, I was thinking of writing LibConsensus entirely in a virtual machine language (platform independent). Maybe Java bytecode, or a custom virtual machine like Ethereum's vm.

This would mean that you can indicate which fork you are on by hashing the actual consensus library. Every transaction should contain this hash, and it needs to get signed. That way when you hardfork you will have 2 coins instead of three.

That would solve a lot of issues with hardforking. Because normally you would have transactions which are valid in both chains, which are valid in one, or in the other. Three different coins in terms of fungibility. That makes it almost impossible for the market to cleanly/slowly prefer one fork over the other. And it is a usability and security nightmare.
 
Last edited:
  • Like
Reactions: Tsontar

johnyj

Member
Mar 3, 2016
89
189
It does not matter at this stage, just fork it then people will get panic and realize nothing wrong later just like Brexit
 

solex

Moderator
Staff member
Aug 22, 2015
1,558
4,695
I think this is an interesting idea, but one for the longer term future.
BU has fork-tolerance but handling the coins mined from different forks goes to a new level. What is described in the OP is strong anti-fragility. I think it principle it can work technically, although it is certainly a major project. Bigger even than SegWit :)

The concern is more economic.

Let me back up a bit. I see the main problem with persistent forks being the over-issuance of BTC. So, if there are 3 chains and they are all mined more than 100 blocks then we are seeing 3x 12.5 BTC (soon) rewards every 10 minutes. This is very inflationary so what the market will do is reduce the real-world value of 1 BTC in terms of products or hard assets. So BTCa, BTCb and BTCc from the 3 chains are all worth less than BTC before the forks. However this is at once unfair and unstable. What if 90% of the hashing power was mining BTCa and only 5% each on BTCb and BTCc (the lower difficulty on the weak chains has been reached). Then we can't have a coin from the BTCa chain with the same value as BTCb which has 1/18th of the hashing power.

So, we can't assume that each chain has equal value, then it needs a floating fx-rate between the new coins from the forks to be seamlessly incorporated into wallets, which is what is needed for fungibility. This could work with lots of liquidity, so the proposal works better where a larger portion of the world economy uses BTC.
 

Erdogan

Active Member
Aug 30, 2015
476
856
This can not happen, due to the essence of what money is. The value is purely speculative (it is about the future), therefore the natural state is one type of money. All the technical and cultural differences are thrown out here, and the remaining trait is the actual liquidity, the ease with which you can get rid of your coins and trade them into something else. It is like walking on a knife's edge, it is quite the opposite of stability. One coin will remain, and in the normal case (my strong opinion) the stable situation with a winning coin will be found so quickly that most people will not see it, they just see an attempted but unsuccessful fork (or instantly successful, like we hope the 2MB fork will be).

The current money situation at large, is partially the gold with a strong culture and some disadvantages to fiat, therefore both, and partially the different fiats, which is a result of levels of money controls and some culture also, therefore multiple fiats.

The stable case is one money type.
 
Last edited:

nowayman

New Member
Mar 14, 2016
2
8
So BTCa, BTCb and BTCc from the 3 chains are all worth less than BTC before the forks. However this is at once unfair and
Maybe. But bitcoin not touched little before and after first fork will be worth much more because it gives you safe bet. Future of BTCa BTCb and BTCc remain uncertain until become obvious that one coin is superior to others and all new branches will grow from this one.
It not must be fast process at all.
 

Zangelbert Bingledack

Well-Known Member
Aug 29, 2015
1,485
5,585
This is like my Forkology 401 and 501 posts, which are somewhere on reddit. It is the future I think. Multiplicity of ledgers on a variety of chains; wallets just handle the details; investor puchasing power preserved always.