Upgradeable Smart Contracts

Under development for over 6 months by our incredibly talented and experienced engineering team, we proudly announce that Upgradeable Smart Contracts finished the Proof of Concept phase and has moved to extensive testing to ensure proper security.

Complete immutability for every instance of a smart contract deployment opens a window of trustless possibilities never imagined before, but by consequence closes the door for legacy software development life-cycles (SDLCs) to function.

“Aside from solving performance issues, GoChain also has a goal of fixing another huge problem with Ethereum and that is theft prevention. Theft on Ethereum is almost always related to bugs in smart contract code (besides gaining someone’s private key via social engineering, SMS hijacking, etc). $100’s of millions (if not billions) have been stolen in the past couple of years due to bugs in smart contracts. One way to reduce the chance of theft by bugs is the ability to pause a contract (stop the theft) and upgrade it (fix the bug that makes the theft possible). This proposal is to enable both of those features. A nice side effect of this is that contracts can be upgraded for other reasons too, such as adding new functionality to a DApp or amending a contract which reflects real-life contracts.” — Travis Reeder, GoChain CTO

You can read GoChain’s full technical proposal for Upgradeable Smart Contracts here — https://github.com/gochain-io/gip/issues/22

Compatibility with Ethereum Constantinople

GoChain is dedicated on keeping 100% ETH compatibility to make it easy for projects to ‘lift and shift’ to our production ready network. The upcoming Ethereum Constantinople hard fork upgrade includes five EIPs.

Our GIP for Upgradeable Smart Contracts modifies the EVM and thus also requires a hard fork. Our Senior Software Engineer, Jordan Krage has proposed that it be included along with these other changes so that we have just one fork. The public won’t need to do anything for this change, we will work our node operators to ensure they have the correct client update available to them.

Effective Blocks:

Ethereum Rinkeby: 3660663

Ethereum Mainnet: 7080000 (~mid-January)

GoChain Testnet: Q1 — TBD

GoChain Mainnet: Q2 — TBD

You can read GoChain’s full technical proposal for Constantinople here — https://github.com/gochain-io/gochain/issues/332

For technical questions please join our developers channel on Discord!