What is a Splitter Contract?

In the world of cryptocurrency, there are quite some intriguing technological developments people need to take into account. One of those concepts revolves around splitter contracts, which are used by companies dealing with Ethereum and Ethereum Classic. Such a splitter contract helps companies prevent replay attacks against either of these currencies. Now is a good time to look at the inner workings of such a contract, and how it can be helpful.

The Value of Splitter Contracts Should not be Underestimated

Ever since the Ethereum ecosystem introduced a new hard fork in July of 2016, there have been quite some interesting developments. More specifically, this moment in history represents the creation of Ethereum and Ethereum Classic, due to some community members not agreeing with the hard fork for political reasons. As a result, any company dealing with ETH, ETC, or both, needed to come with a solution to ensure they would not be impacted by replay attacks.

The solution comes in the form of a splitter contract. As the name suggests, this particular contract allows companies and individuals to accept Ethereum Classic transactions and have all funds moved to a separate new account. This avoids the aforementioned replay a tax. Quite a few companies – especially exchanges dealing with ETH and ETC – have implemented such a splitter contract to keep user funds secure.

Users can generate a splitter contract directly from their wallet client. By going through the “contract > Watch Contract” option, users can copy the address and ABI of this etherscan page. Once it is written to contract and the Split function is selected, users can enter the addresses for the associated incoming transactions. It is quite a convenient solution to ensure no mishaps will occur at any given time.

One of the exchanges using the Ethereum splitter contract is QuadrigaCX, a Canadian company. The company has been using a splitter contract for quite some time now, and they have had no issues with it whatsoever. That was, until recently, as the contract stopped executing the hot wallet transfer for multiple days. This all occurred after upgrading the Geth client to version 1.5.9.

Luckily, all of the funds was still in the splitter contract itself. That is a positive development and highlights the value of proper split contracts. This means no user funds were lost in the process since they couldn’t be sent to any other address. Unfortunately for the company, they lost out on quite a bit of profit due to this bug, which took several days to resolve properly. This is not due to the contract’s fault, though, but rather an oversight on behalf of QuadrigaCX and the prefix requirements due to the Geth upgrade.

This is quite a valuable lesson for everyone using a splitter contract, to say the least. People should never “assume” things need to be set up in a specific way. Using something as advanced as a splitter contract is about more than just copy-pasting the code in the wallet client’s window. It means doing some research regarding the validation of inputs, especially where the first characters of an address are concerned. Otherwise, anyone could run into potential issues like these and see the funds “locked” in a contract for quite some time.

If you liked this article, follow us on Twitter @themerklenews and make sure to subscribe to our newsletter to receive the latest bitcoin, cryptocurrency, and technology news.