[Cryptography] What happens when a smart contract forks?

iang iang at iang.org
Tue Sep 5 14:48:32 EDT 2017


This is not only a good question, but an important one:

On 02/08/2017 01:39, Phillip Hallam-Baker wrote:

> So what happens if someone spends the coins on both forks???​

Both forks have valid coins, so you doubled your coins.  However the 
value generally splits Presumably unevenly, presumably summed to 1. But 
oddly the sum of the value of the 2 coins can surge to greater than the 
original, just on the buzz.

This actually an OK result.  We know precisely what happens - 2 for 1 
split.  We know the accounting, we know what that means simply because 
we know that a coin has no meaning, so two coins has two no meanings.  
The only thing is that supply and demand bounce around a bit, which is 
fine, another day on the markets, exciting for some but always balanced 
at the end of the day.  We've now run the experiment twice and the world 
hasn't stopped spinning.



But there is another question - what happens to a smart contract that is 
on a chain that forks?

https://steemit.com/eos/@iang/life-is-a-cabaret-or-how-to-split-and-merge-a-blockchain

We do not and can not know the answer to this question in a completeness 
sense - because we don't know a priori what every smart contract does.  
We do know what a cryptocurrency does, a priori, because all it does is 
move numbers around.  But a smart contract is more complicated - we 
don't know whether it has issued rights, whether it has imposed 
obligations, liabilities etc.

In short, it would be the same technical effect as the coin, there are 
now two contracts.  Which means two sets of rights and two sets of 
obligations, two sets of liabilities.

If you hold the obligations and they suddenly double on you, are you 
capable of meeting those?  Are bankrupt, are you reneging, are you 
doubling your workload?

If you hold the two sets of rights, you might be happy but at the other 
end of the rights are two sets of obligations, and the holder of those 
might be ins strife.  Or, you might find yourself delivered with two 
sets of rights that are wasting because you can't consume them fast 
enough, if one considers the futures market.

I think the brutal conclusion is that you can't safely do 
rights/liabilities/obligations in smart contracts on any chain that has 
a chance of splitting.

Brutally, simplistically, this probably means you shouldn't do smart 
contracts on Bitcoin or Ethereum.  At least until you've resolved how 
you deal with the fork.

In example terms, imagine Ethereum were to fork today - what would 
happen to all the ERC-20 ICOs?



iang

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.metzdowd.com/pipermail/cryptography/attachments/20170905/f47e606c/attachment.html>


More information about the cryptography mailing list