On the Ethereum sub-Reddit on Sunday, discussion ignited over the limitations of Ethereum and challenges in building the system; a sobering and valuable counterpoint to the increasing and common fanaticizing of the project. Over the past 2 years, the Ethereum project has been largely met with optimism and excitement within the cryptocurrency community. With increasing attention due to the governance issues in the Bitcoin development community as well as the staggering 1110.5% increase in the price of Ether over the past 3 months at time or writing, the hype around Ethereum was rightfully examined in the context of the inherent obstacles in building such a complex and new distributed computing system.
Also read: The Vanbex Report: Blockchain as a Business
Ethereum’s Flaws Brought to Light
Echoing this, the original post by mEthTrader reads:
“We all know what ethereum CAN do, but I think it would be great for us to better understand what it CAN’T do as well. This is not meant to put down this absolutely visionary organization, but I’m a big proponent of transparency and information. Let’s talk about our fears/reservations about ethereum. It would be great if some developers could chime in as well.”
Below, in no particular order, are the primary issues discussed and takeaways from the conversation:
- On smart contracts: With over 4 programming languages to choose from (Solidity, Serpent, Mutan, and LLL), smart contract programming is complex and at the moment is lacking functionality. Issues of speed, cost, privacy, third party integrations, and blockchain inclusion were all issues raised. There is also a computational maximum of 2 to 3 million Ether per contract, which could lead to scaling issues as larger organizations become involved. While Proof of Stake will likely improve confirmation times, building encrypted smart contracting functionality into a fully decentralized and automatically executing system has many inherent computing challenges. Best practices, protocols, encoding guidelines for state machines, and standards in the arena will likely aide initiatives moving forward.
- Privacy: Using a public blockchain model inherently raises privacy concerns. Encryption will need to be implemented within the Ethereum network to ensure a level of privacy. Initiatives such as Whisper protocol layer should help enable degrees of anonymity and hawala-style communication practices within and between users and distributed applications. Smart contracts themselves can even be used as a private communication tool between parties, if private keys are managed properly.
- Homomorphic Encryption: A means of ensuring access to data for particular parties while maintaining a high level of privacy, homomorphic encryption is yet to have been deployed on a blockchain. Possibilities, however, are exciting, yet not in place. One estimate on the forums put the timeframe as a 30-year window. Applications here will stem far outside of Ethereum as well.
- Data and content storage: The Ethereum network stores hashes and their associated timing of confirmation within the blockchain. The IPFS protocol, or the Inter-Planetary file system, is more-so optimized for file storage; as is Swarm, a bittorent-like protocol designed to transfer applciations that have difficulty passing through the blockchain. Given complexities brought forth by distributed applications, data and content storage needs to be approached carefully. As monzzter221 put it:
“The goal here isn’t to make ethereum do everything, but rather use it for what it can do, and use its related projects to make a whole system that can do everything. Embrace its limits.”
- Incentive structures: For now, Proof of Work incentives DApps to reward miners. Once the transition to Proof of Stake occurs, however, will the Ether coins have to be re-issued? If Ethereum’s goal is to move away from the mining centralization problem, users and DApps themselves should be reaping the rewards, one could argue. Crowd sale offerings of tokens are a short-term alternative to incentivize non-miners. Other options include betting on which DApps will be successful, or creating bounty rewards for development problems.
Led and initially popularized by Vitalik Buterin, Ethereum took wings with its $18 M crowdsale of Ether, the network’s “crypto fuel”, in August 2014. Affectionately known as a massive distributed computer with its own Turing Complete scripting language, Ethereum has currently released Stage 1, Frontier, with Stage 2 (Homestead) scheduled for release on Pie Day (March 14th) and Stages 3 and 4 (Metropolis, Serenity) still to come.
Just as Bitcoin’s ethos is built around trust between two parties who otherwise would have difficulty trusting one another, Ethereum is playing to a similar and emerging digital paradigm. By the Metropolis release, Ethereum will undertake a user-friendly interface and open up its platform to “non-technical” users. Additionally, switching from “Proof of Work” (which, as Bitcoin is demonstrating, is prone to mining centralization and governance dilemmas) to “Proof of Stake” could eventually prove momentous for cryptocurrencies. Getting there won’t be easy, but approaching the development conversations and timelines realistically and with awareness of Ethereum’s limitations should aid the development community in finding the best solutions and identifying potential problems quickly.
What do you think about recent trends around Ethereum development? What do you see as problems in the development process? Are there lessons to be learned for other cryptocurrencies? Share your thoughts below!
Images courtesy of Ethereum.