The Transformative Journey of Ethereum: From Inception to Innovation

Alberto Molina
iobuilders
Published in
10 min readJun 17, 2024

In 2015, a young programmer named Vitalik Buterin introduced the world to Ethereum, a revolutionary blockchain platform designed to enable smart contracts and decentralized applications (dApps). This vision promised a new era of digital innovation, but the path to realizing it was fraught with significant challenges. This is the story of Ethereum’s journey, highlighting the obstacles it faced and the ingenious solutions that propelled its evolution.

The Early Days: Scalability and Gas Fees

In its early days, Ethereum could process only about 15 transactions per second. As the platform’s popularity surged, particularly during the ICO boom of 2017, this limitation became glaringly evident. The low transaction throughput led to severe network congestion, causing delays in transaction processing and skyrocketing gas fees. Users had to compete by offering higher fees to get their transactions included in the next block, further exacerbating the issue. This bottleneck significantly impacted the user experience and constrained Ethereum’s potential for larger-scale applications, highlighting the need for scalability solutions.

Solutions:

  • Sidechains: Sidechains are separate blockchains that run alongside the main Ethereum chain, designed to offload transactions from the mainnet. They operate under their own consensus mechanisms but are connected to Ethereum through two-way pegs, allowing assets to move between the main chain and the sidechain. By offloading some of the transaction load to these parallel chains, sidechains help alleviate the main chain’s congestion
  • Layer 2 Solutions: Layer 2 solutions are built on top of the Ethereum main chain and aim to increase transaction throughput without sacrificing security. They achieve this by processing transactions off-chain and then settling the results on the main chain. There are several types of rollups (optimistic, zero-knowledge,…) but they all drastically increase the number of transactions that can be processed per second by reducing the data and computation load on the main chain.
  • Beacon Chain and Shard Chains: The Beacon Chain is the backbone of the Ethereum 2.0 upgrade. It coordinates the network of validators and will, in the future, manage multiple shard chains, which are designed to further split the transaction load by creating multiple parallel chains, each capable of processing transactions independently. This means the network can handle many more transactions by distributing them across these shards.
  • New Gas Model (EIP-1559): EIP-1559 introduced a significant change in how gas fees are calculated by implementing a base fee and a tip system. The base fee is burned, making it a dynamic component that adjusts automatically based on network congestion, aiming to smooth out fee volatility. This new model helps users predict gas costs more accurately and discourages the previous auction system, which often led to overpayments.

The Loss of Private Keys

In traditional Ethereum wallets, private keys are the sole means of accessing and managing funds, creating significant risks of loosing all your funds. Without a native recovery mechanism, the loss of a private key results in irretrievable loss of assets, a challenge especially for users unfamiliar with cryptographic key management.

Solutions:

  1. Multisig Contracts: Require multiple keys to authorize transactions, adding security by ensuring that funds remain safe even if one key is lost or compromised.
  2. Custodial Solutions: Third-party services manage private keys on behalf of users, reducing the risk of loss by entrusting security to a trusted entity.
  3. Account Abstraction (ERC-4337): Allows more flexible account management, reducing reliance on a single private key by enabling methods like smart contracts and multisig setups, thus improving accessibility and security.

The Quest for Privacy

Blockchain’s inherent transparency, while vital for trust and security, exposes all transaction data to the public. This design ensures that sensitive information, including personal data and confidential business transactions, can be traced and viewed by anyone at any time. This data will remain accessible as long as a full node of the blockchain exists. This lack of privacy poses risks to users and organizations that need to maintain confidentiality while leveraging blockchain’s other benefits.

Solutions:

  • Zero-Knowledge Protocols: Zero-Knowledge (zk) Protocols are cryptographic methods that allow one party to prove to another that a statement is true without revealing any information beyond the validity of the statement itself. They enable private transactions where the specifics of the transaction (like the amount and the parties involved) are hidden, but the integrity and correctness of the transaction are still verified and maintained. Smart contracts can be implemented using zk protocols to enable users to execute functionality on the blockchain without providing any information that could reveal their identities.

Crypto Texan | Aggregated on Twitter / X

The Oracle Problem: Accessing Real-World Data

Smart contracts on Ethereum and similar blockchains are powerful tools for automating agreements and processes. However, by design, they operate in an isolated environment — they only access and act upon data within the blockchain. This limitation restricts the range of applications for smart contracts because many useful scenarios require current, real-world information like weather, prices, or other dynamic external data. Without this, the potential for smart contracts remains confined to purely on-chain activities.

Solutions:

  • Decentralized Oracles : Decentralized oracles are intermediaries that fetch data from outside the blockchain and provide it to smart contracts in a reliable and secure manner. These systems ensure that the data is accurate and tamper-proof by using a network of nodes to validate the information before it reaches the smart contract. By incorporating real-world data, smart contracts can react to external events and conditions, vastly expanding their potential applications.

What Is an Oracle in Blockchain? » Explained | Chainlink

The Environmental Toll: Energy Consumption

The proof-of-work (PoW) mechanism, used by Ethereum and other early blockchains, requires extensive computational effort to validate transactions and secure the network. This process involves solving complex cryptographic puzzles, which necessitates powerful hardware and results in significant electricity usage. The environmental impact of PoW, especially as the network grows, has been a major concern due to its large carbon footprint and unsustainable energy demands.

Solutions:

  • Proof of Stake: Proof of stake (PoS) is a consensus mechanism that replaces the computationally intensive process of proof of work. Instead of miners competing to solve puzzles, validators in a PoS system are chosen to create new blocks and confirm transactions based on the amount of cryptocurrency they hold and are willing to “stake” as collateral. PoS drastically reduces the energy consumption of the network because it eliminates the need for continuous, intense computational efforts.

Ethereum Energy Consumption | ethereum.org

Storage Woes: Limited and Expensive Storage

The Ethereum blockchain, like many others, is designed for transparency and security, not for large-scale data storage. Storing significant amounts of data directly on the blockchain is prohibitively expensive because it requires more block space, which is a scarce resource. This limitation restricts the types of applications that can be effectively deployed, especially those requiring access to large data sets or frequent data updates.

Solutions:

  • Decentralized Storage : Decentralized storage systems like the InterPlanetary File System (IPFS) provide a way to store data off the blockchain while maintaining a link to on-chain smart contracts. In these systems, data is stored across a network of nodes, each holding a portion of the data, and can be retrieved using unique identifiers. This approach dramatically reduces the cost of data storage by offloading the bulk of the data to a more efficient and scalable system outside the blockchain.

Almacenamiento NFT: Comparación entre IPFS, Filecoin y Arweave

The Need for Finality and Reversibility

In the traditional Ethereum proof-of-work (PoW) system, transactions do not achieve immediate finality. This means that after a transaction is included in a block, there remains a non-zero probability that it could be reverted due to a chain reorganization (reorg). This uncertainty, albeit small, complicates certain types of transactions and applications, especially those requiring high security and immediate trust, as it opens a window for potential double-spending attacks.

Suggested Solution:

  • Checkpoint Blocks: In Ethereum’s proof-of-stake system, finality is achieved through a mechanism involving checkpoint blocks and validators. Each epoch starts with a checkpoint block, and validators vote for pairs of these checkpoints. When votes representing at least two-thirds of the total staked ETH are cast for a pair, the more recent checkpoint becomes “justified,” and the previous one is “finalized,” making blocks up to this point irreversible without significant loss. If finality stalls, an inactivity leak reduces the stakes of dissenting validators, helping the majority regain the needed two-thirds majority to finalize the chain. This ensures transactions are securely and permanently part of the blockchain.

Bridging the Gap: Lack of Interoperability

In its early days, Ethereum functioned as an isolated ecosystem. This isolation limited its ability to interact with other blockchains, hindering the broader adoption of decentralized technologies and the seamless transfer of assets across different networks. Such limitations were significant barriers to creating a truly interconnected and interoperable digital economy, where value and information could flow freely across various blockchain platforms.

Solutions:

  • Bridges: Bridges are intermediaries that connect Ethereum with other blockchains, allowing the transfer of assets and information between them. They work by locking assets on one chain and issuing equivalent tokens or representations on the other, effectively enabling cross-chain transactions.
  • Advanced Protocols like CCIP (Chainlink) and ZetaChain: Protocols like the Cross-Chain Interoperability Protocol (CCIP) developed by Chainlink and ZetaChain go beyond basic bridges by offering more sophisticated and secure mechanisms for cross-chain interactions. These protocols enable not just asset transfers but also cross-chain smart contract calls and data sharing. By facilitating deeper integration and interoperability, these protocols make it possible for developers to create complex applications that operate seamlessly across multiple blockchains. This leads to a more robust and versatile decentralized ecosystem, unlocking new opportunities for innovation and collaboration.

The Immutability Dilemma: Smart Contract Code

Smart contracts on Ethereum are immutable once deployed, which means their code cannot be changed. This immutability ensures trust and security by preventing tampering, but it also poses significant challenges. If bugs or vulnerabilities are discovered in a contract, they cannot be fixed or patched. This rigidity has led to significant losses and security breaches in the past, highlighting the need for a more flexible approach to manage and update smart contracts.

Solutions:

  • Proxies (EIP-1967): Proxies are a design pattern used to make smart contracts upgradeable. They work by separating the contract’s logic and storage. A proxy contract acts as the user-facing interface, while the actual logic is contained in a separate, upgradeable contract. Users interact with the proxy, which delegates calls to the logic contract. When the logic needs updating, a new version can be deployed, and the proxy is pointed to the new contract without changing the user interface or storage. This structure allows developers to fix bugs, update functionalities, and improve their contracts over time without losing the accumulated state or requiring users to migrate to a new contract address.

Overcoming the Size Limit: Smart Contract Complexity

Ethereum imposes a 24kb size limit on smart contracts, which restricts the amount of code that can be deployed in a single contract. This limitation is meant to prevent overly large contracts from consuming excessive gas and slowing down the network. However, it also limits the complexity and functionality that developers can include in their contracts, potentially stifling innovation and making it challenging to build sophisticated decentralized applications (dApps).

Solutions:

  • Diamonds (EIP-2535): The Diamond pattern, formalized in EIP-2535, is a design pattern that allows for modular smart contract development. It introduces the concept of “facets,” where a single “diamond” contract can have multiple facets, each containing its own set of functions. This structure enables developers to bypass the 24kb size limit by splitting the contract’s functionality across multiple facets, each deployed separately but accessible through the central diamond proxy.

Implementing Upgradeable Smart Contracts Using Proxy Patterns | Talentica.com

The Ever-Growing Chain: Managing Blockchain Bloat

The continuous growth of the Ethereum blockchain leads to significant storage and efficiency challenges. As more transactions occur and more data accumulates, the size of the blockchain becomes larger, making it increasingly difficult for nodes to store and manage the entire chain. This growth can lead to slower transaction processing times, higher storage requirements, and reduced accessibility for new participants, especially those with limited resources.

Suggested Solution:

  • State Expiry : State expiry is a proposed mechanism to manage blockchain bloat by expiring or pruning old state data that is no longer relevant. Under this system, data that has not been accessed or used for a predefined period could be archived or removed from the active state, reducing the storage burden on nodes.
  • Verkle Trees: Verkle trees are an advanced cryptographic data structure proposed to enhance the efficiency of state storage and retrieval. They are a type of commitment tree that combines the properties of Merkle trees and vector commitments, allowing for more compact proofs and efficient verification. Verkle trees reduce the size of proof data needed for verifying transactions and state changes, which can lead to faster sync times and lower bandwidth usage.
  • State Expiry & Verkle Trees Integration with Shard Chains: Integrating state expiry and Verkle trees with shard chains, as part of Ethereum 2.0, could further enhance the scalability and efficiency of the network. Shard chains are designed to distribute the data and processing load across multiple parallel chains, each handling a portion of the network’s transactions and state. This combination can manage growth more effectively by localizing data and reducing the load on any single part of the network.

A Vision for the Future

Ethereum’s journey has been a testament to the resilience and ingenuity of its community. From navigating scalability issues and security breaches to pioneering energy-efficient consensus mechanisms and improving interoperability, Ethereum has continuously evolved. As we look to the future, the ongoing advancements promise to further solidify Ethereum’s position as a leading blockchain platform, capable of meeting the evolving demands of the decentralized world.

Join us as we continue to explore Ethereum’s transformative journey, witnessing how it overcomes new challenges and seizes emerging opportunities in the ever-evolving landscape of blockchain technology.

--

--