A Decade in ETH: A Perspective from Ethereum’s Initial Crowdsale Developer

Have you ever stopped to think about how you ended up where you are now? Recently, I was asked to reflect on my professional journey, and I was reminded of a decade-long adventure marked by continuous learning and innovation. Starting as a web developer in 2005, I explored various industries and technologies, each project sharpening my skills and expanding my horizons. My path took a transformative turn in 2013 when I was introduced to Bitcoin, sparking a fascination that led me to the groundbreaking Ethereum project. As a volunteer in early 2014, I immersed myself in pioneering work that would shape the future of blockchain technology and the trajectory of my life.

UX is Crucial in the Crypto Space, Especially for Onboarding New Users

My journey in web development began with a focus on top-notch technology and user experience. When I first encountered Bitcoin in 2013 while coding an e-commerce platform, I saw its potential as a game changer. This led me to discover Ethereum and join as a volunteer in early 2014. During the 42 days of Ethereum’s crowdsale, I was responsible for coding the first decentralized crowdsale in the world.

We continually gathered feedback from participants to improve the UX, ensuring a safe and easy journey. One simple mistake could mean a loss of funds for participants, which would make or break Ethereum as a project. This experience solidified my belief that UX is crucial in the crypto space, especially for onboarding new users. If the UX is not easy to navigate and understand, people get confused, which can lead to them either becoming scared to do anything (potentially losing them as users) or making mistakes and losing funds.

Healthy Ethereum Nodes Will Guarantee Speed

After the successful crowdsale, my journey with the Ethereum Foundation continued for another year and a half. During this time, I contributed to developing the JSON-RPC, the interface for communicating with the nodes, and Web3.JS, a collection of libraries that allow users to communicate with Ethereum nodes. These tools were essential in enabling developers to interact with the Ethereum blockchain easily and efficiently, laying the groundwork for the vast ecosystem of decentralized applications (dApps) we see today.

My main focus, however, was on EthStats.dev, the network health monitor. This tool was used to ensure all Ethereum client implementations worked well with each other and to test the speed of block propagation between nodes. EthStats provided real-time insights into the health and performance of the Ethereum network, displaying metrics such as block times, uncle rates, and node synchronization status. It was crucial for maintaining the integrity and efficiency of the network.

Working on EthStats was an eye-opening experience that taught me the importance of network health in blockchain systems. One of the critical aspects I learned was the necessity of having a healthy Ethereum node running to get the latest block as soon as possible and to capture as much of the MemPool at any time. If nodes don't have healthy connections, they will receive blocks with a big delay, go out of sync, or have difficulties finding nodes from which to sync.

For instance, we observed that nodes with poor connectivity often fell behind the rest of the network. This latency in receiving new blocks meant that these nodes were always a few steps behind, leading to a higher likelihood of encountering stale data and missing out on the latest transactions. This issue was particularly problematic for applications that relied on real-time data, such as decentralized exchanges and financial services. A healthy peer list is the difference between having a latency of milliseconds rather than seconds.

Handling Reorgs is a Must; Otherwise, You Rely on Wrong Data

Two years after my work with the Ethereum Foundation, I co-founded Alethio, one of the first data analytics platforms built for Ethereum. Leading the project as CTO presented new challenges, particularly when moving the blockchain into queryable traditional databases.

One major challenge was dealing with ReOrgs, which occur frequently, especially with Proof of Stake (PoS). ReOrgs happened often (6-7 times per day), and not dealing with them would mean storing inconsistent or wrong data. ReOrgs occur when the blockchain discards part of its chain and reorganizes based on a longer chain found by the network. This means data from discarded blocks could become invalid. To handle this, we developed algorithms to detect ReOrgs and reprocess data to maintain accuracy.

For example, during a network upgrade, ReOrg frequency increased, and our system had to quickly adapt. We implemented real-time monitoring and automated rollback processes to manage the increased activity, ensuring data integrity and consistency.

Building Alethio required breaking down raw block data, decoding it, and formatting it for analysis.

These experiences taught me the complexity of handling blockchain data and the importance of accurate, real-time information. Handling ReOrgs effectively is crucial for data consistency.

Decoding Blockchain Data and Understanding It is Not a Trivial Job

Building Alethio required breaking down raw block data into the smallest pieces, decoding it, and formatting it accordingly so it could be consumed later on. This process involved extracting individual transactions, smart contract interactions, and state changes from each block and converting them into a format suitable for analysis and visualization.

Building a strong, reliable, and fast data pipeline was not a trivial task. There were numerous challenges to overcome, such as ensuring data integrity, managing large volumes of data, and optimizing processing speeds. We faced trials and errors, including dealing with data inconsistencies and performance bottlenecks. It took persistent effort, many iterative improvements, and innovative solutions, for us to eventually create a robust system.

Decoding blockchain data is a complex and demanding job that requires significant effort and innovation. Each piece of data within a block must be carefully parsed and interpreted to provide meaningful insights. The complexity of blockchain data, with its intricate transaction structures and interdependencies, made this task particularly challenging.

Through our work, we developed custom algorithms and tools to automate parts of the decoding process, but human expertise remained crucial for handling edge cases and ensuring accuracy. It highlighted the importance of having a deep technical understanding of blockchain technology and continuously adapting to new developments in the field.

Fast Real-Time Data is Crucial for Risk Assessment

All the experience I gathered from these projects culminated in the creation of a very strong, reliable, consistent data pipeline architecture. Real-time data is crucial for risk assessment, and this architecture relies on accurate and timely information. In the world of blockchain and cryptocurrencies, having access to real-time data can mean the difference between making informed decisions and reacting too late.

For instance, during my time at Alethio, we built systems that could track blockchain transactions as they happened, providing up-to-the-second updates on the state of the network. This real-time capability was essential for various applications, such as monitoring large transactions that could impact market prices, detecting unusual activity that might indicate security threats, or ensuring compliance with regulatory requirements.

One of the key components of real-time data processing in blockchain is the memPool. The memPool is where all the pending transactions are stored before they are included in a block. By analyzing the memPool, we could gain insights into future blockchain activity. This allows for proactive risk management, as we could anticipate and react to potential issues before they became critical. For example, seeing a surge in high-value transactions in the memPool could indicate upcoming market volatility, enabling traders and analysts to adjust their strategies accordingly.

Not relying on real-time data means you're looking at the past and not the present. In the fast-paced world of blockchain, where new blocks are created every few seconds, outdated information can lead to missed opportunities or, worse, significant losses. By ensuring our data pipeline could handle and process real-time data efficiently, we provided users with the tools they needed to make timely and accurate decisions.

Whether it's for trading, security monitoring, or compliance, having a real-time view of blockchain data is essential. It allows for better risk assessment and more informed decision-making, ultimately contributing to the stability and growth of the blockchain ecosystem.

Conclusion

As I look back on the past decade, I am convinced that the future of Ethereum and blockchain technology will be shaped by our collective efforts and the confidence to continuously develop new innovations despite the challenges that come with it. The journey has been demanding yet incredibly rewarding, and I look forward to collaborating with the community to push the boundaries of what's possible in the blockchain space.