So July 20th has come and gone… and the long debated hard fork happened in Ethereum to resolve the previously attacked funds in the DAO.
Prior to this event, it was probably a safe assumption to say that the worst possible outcome would be to have two competing blockchains as it would weaken the very theory that strengthens the network effect; the number of users connected to the system according to Metcalfe’s law.
Anyway, as per democratic votes and all that… it was decided that the fork would occur. Whilst there were a lot of non-voters, the ones that did vote showed a clear preference for the fork which would essentially make it possible to return all the hacked funds to the original owners. As we wrote on July 13th, this would not be equivalent to a roll-back but a change in the underlying Ethereum protocol.
Source: Ethpool data .. 3 days before the hard fork.
So in the end, the hard fork was pretty much decided on and teams of developers worked day and night to make sure it happened…..
And it happened… quite successfully…. except nobody (that we know of) quite anticipated what would happen next. The assumption seemed to be that the non-forked chain would be valueless.
However, only four days after the hard fork the largest exchange for Ether by volume (Poloniex) made a surprising announcement. Poloniex released a statement they will support trading for ETC (Ethereum Classic, the original non-forked chain). Only a few hours later, Hong Kong-based Bitfinex followed in their footsteps. This was a genius move by both exchanges. They realised the business opportunity of being the first-movers in capturing trading volume for this highly controversial event. By being the first liquidity providers they had virtually zero competition during the first few days of trading !
Competitors quickly realised they were missing a share of this pie and followed Poloniex’s lead. Even if it was only a 2 day opportunity for Poloniex, it set them aside from everyone else because they were the only ones ready to provide liquidity to their clients. Furthermore, given they were the first movers on this – many speculators were forced to open Poloniex accounts to be able to trade ETC!
On the same day, Gavin Wood released an ETC client which also took people by surprise. Gavin Wood has stood out as being a very neutral party throughout the DAO attack and provided solutions for all clients.
First days of trading were certainly full of fun. The chart below shows the ETC/ ETH ratio (ie. Old Ethereum/ New forked Ethereum). Tuesday certainly proved to be a particularly interesting day with volumes spiking to tremendous levels and the ratio spiking briefly to above 0.4 !!!! 40% of the Ethereum market capitalisation in just two days of trading?
Of course after a 600% intraday move is bound to have a correction!! And now the question is.. what happens from here?
Well…. after consultation with Ethereum Developer Reto Trinkler, Blockchainwizz obtained a new angle on the hard fork. Perhaps there is a way for the two chains to live side by side or eventually merge again. Perhaps this situation of two chains could even resolve some of the issues of scalability.
“I initially was very worried about having two Blockchains as from a network topological view: two similar networks (as for example blockchains) have less value together than one by it self (metcalfe’s law).
However if one can bridge at least the exchange of information between these Blockchains I believe that some of the lost value can be recovered.
And it might even have some advantages at some point from a scalability standpoint.”
Reto then described one example of how the two blockchains could work alongside each other;
“Lets make the following assumption: Alice and Bob both have public keys on both Blockchains and want to trade assets with each other.
1) Alice generates a secret x.
2) Alice locks funds f_1 of currency c_1 in a smart-contract on Blockchain b_1;
The smart-contract is designed such that if Bob knows the secret x, he can trigger a function that sends the funds f_1 of currency c_1 to his public key on Blockchain b_1. If a certain time period passes and Bob didn’t reveal the secret, the funds get returned to Alice.
3) Bob then locks some corresponding funds f_2 of currency c_2 in technically the same smart-contract as above but on his Blockchain b_2. He also makes the triggering of the funds to Alice conditional on someone knowing secret x.
4) Since Alice knows the secret x she can trigger the sending of funds f_2 of currency c_2 to her address on b_2. By doing so the secret x becomes public. This enables Bob to trigger the funds f_1 of currency c_1 to his address on b_1.
It’s not decentralized but it’s trust-less (as long as hashes can’t be efficiently guessed).
Reto goes on to explain;
“Both Alice and Bob would put a Hash of the secret x on the Blockchain. Thus the secret is not publicly visible.
So the algorithm would check it something like this:
if (Hash(input_secret) == Hash(x)) then
send funds f to recipient
This makes the transaction: trust-less (as long as hashes can’t be efficiently guessed).”
The limitation with this solution seems to be that one can’t really execute the contract at an exchange rate that is agreeable to both parties at the time it is executed.
“Essentially the corresponding offer of Bob would be like a limit order that he can’t cancel until a certain time period passes. Which Alice can accept (by revealing x) or not.”
Anyway, the jury is out… but in the meantime, maybe ETC is not to be entirely dismissed!