By Benjamin Scherrey, CTO and Chief Systems Architect for HotNow
It looks as though the long-awaited Constantinople fork is finally going to happen and it has an unexpected sidekick, Petersburg, coming along for the ride. Constantinople, which is actually part two of a larger upgrade called Byzantium, has been planned for launch on several occasions as early as last year, and most recently on January 16, 2019. However, the upgrade was stalled when a potentially serious exploit enabling the theft of Ether from certain smart contract structures was revealed only hours before launch. The Petersburg fork is the correcting response to that defect which is why we have two forks taking place at the same time as it was elements of the Constantinople fork that actually made the potential exploit possible. Will Ethereum complete the final step as part of the imminent Byzantium fork? Such drama and suspense!
So why all the fuss? Is Ethereum no good and should people stick to Bitcoin or some other alt-currency instead? Certainly not. These changes are driven first and foremost due to the incredible adoption of Vitalik Buterin’s vision of a truly decentralized and autonomous computing system; ETH, the crypto-currency that drives it; and the embracement of ERC token standards by just about all of the other token creators out there––my own company included. Such success inevitably breeds more challenges. Issues of scalability and the cost of transaction overhead have made micro-transactions, one of cryptocurrency’s biggest promises, entirely impractical due to Ethereum’s underlying consensus mechanism known as Proof-of-Work (PoW).
Ethereum’s predecessor Bitcoin suffers the same challenges for the same reason. However, Ethereum’s primary use case of enabling smart contracts particularly requires this micro-transaction capability. Constantinople, therefore, will finally switch out PoW and replace it with a Proof-of-Stake (PoS) consensus protocol that is expected to radically reduce per-transaction overhead. In fact, the defect that the Petersburg fork corrects was actually due to the apparent success of this cost reduction at such a level that it undermined the financial disincentive for “unfriendly” contracts to attempt to steal from others.
These forks, therefore, should be looked upon as great news for systems developers, such as myself, who want to explore and demonstrate the viability of crypto ledgers as much as for crypto investors who may appreciate the new demand for the use of these tokens that will suddenly become more practical. Forks in crypto ledgers are part of the natural evolution of this technology. It’s not unlike how new DNA is created when chromosomes split and pair up again. They are absolutely essential for crypto ledgers to ultimately demonstrate their revolutionary impact.
As my old friend Professor Brown, used to jest, “All’s well that ends!” Well, not so fast. The challenges that brought Byzantium about and the close call that we experienced by almost releasing Constantinople with a fundamental defect––one potentially larger than the DAO hack which destroyed millions of dollars of wealth––should certainly raise our resolve to re-evaluate the premises and architectural foundations upon which crypto ledgers such as Ethereum are based.
It is a constant source of frustration for the rare system architect who implements crypto ledgers and other decentralised systems that certain buzzwords or metaphors are misused and imply things that simply aren’t true in the world of crypto ledger implementations. Crypto ledgers promise an immutable ledger that is guaranteed through its consensus protocol and therefore can be trusted as correct. But doesn’t that also imply that entries should always balance as an accountant would demand? “Smart Contracts”, which are anything but smart, is an even more offensive term. Solidity, the primary language used to implement these “contracts” is entirely incapable of doing anything “smart” such as guaranteeing invariants are always true like “all sides of a transaction must balance before being committed”. Hardly what anyone would even consider a contract, much less “smart”.
The consequences of these technical weaknesses combined with other fundamental flaws in Solidity’s language design are precisely what allowed the DAO hack to occur and most recently, the defect that is hopefully addressed by the Petersburg fork.
What new challenges and opportunities will arise as a result of the completion of Byzantium? Firstly, the likely significant increase in the transaction volume of ETH and tokens built on top of the ERC token standards. This will make the Ethereum blockchain grow at even faster levels and will make the resources required to sync to a node even larger and more time consuming. Likely there will be many more unforeseen surprises that will also need addressing as the adoption of crypto ledgers in real world transactions increases. Constantinople and Petersburg are warnings that the current architectural drivers, tools, and base technologies lack the capabilities to carry us towards Vitalik’s promise of true decentralized organisations and contracts. What remains to be seen is whether or not Ethereum will follow a policy of applying band-aids on top of the existing system or if something more fundamental will come around and replace Ethereum as the go-to technology for crypto ledger development systems.
Either way, we’re in for an interesting ride.
Benjamin Scherrey has reviewed the issues surrounding Ethereum’s development in great detail and provided analysis of the root causes of smart contract failures as well as likely solutions at the 2018 FOSSASIA conference in Singapore with a talk entitled “State of the Cryptoledger & Smart Contracts for Developers“. This talk predicted exploits such as the one that blocked Constantinople’s launch last month and describes the mindset necessary to help prevent future occurrences.
About the Author & Conflict of Interest Statement:
Benjamin Scherrey is CTO and Chief Systems Architect for HotNow.
While he does own and work across several cryptocurrencies and blockchains, he has never executed a speculative trade for crypto and is focused chiefly on the development of fundamental technologies necessary to meet their potential.