Skip to content

Behind the Byte: How Torrents Inspired This Developer's Leap into Blockchain

I've always been a torrent user and appreciated the utility of peer-to-peer sharing protocols. I see blockchain similarly—where each user has a copy of the data, enclosed in blocks linked to the previous one, forming a secure chain.

A couple of years ago, there was a massive wave of software developers. The co-founder of Stack Overflow, Joel Splosky said that every company is starting to realize that whatever line of business they're in, they're really a software company.

Furthermore, in an interview with McKinsey, even the former CEO of Twilio, Jeff Lawson emphasized the role of developers. He said that developers are creative problem solvers. Taking something from nothing and turning it into products and experiences that customers love is all about creativity.

Now, as technology evolves, so does the domain of development. And currently, the spotlight is on a fresh breed of innovators — blockchain developers. And why not? The buzz around Web3 is undeniable, with blockchain technology at its core experiencing explosive growth. 

In fact, Fortune Business Insights states that the global blockchain technology market size is projected to grow from $27.84 billion in 2024 to $825.93 billion by 2032.

Additionally, there’s a growing demand for blockchain talent as companies vie to develop and maintain innovative blockchain solutions. Not to mention, as per BSV Blockchain, spending on blockchain solutions is on the rise and the anticipated spending for 2024 is nearing $19 billion.

So to guide and motivate you hopefuls, we’re starting a developer story series called “Behind the Byte” where we’ll be sharing insights from interviews with developers.

For this week’s article, we’ve tapped into the experiences of Nischal Sharma, a seasoned Blockchain Developer at Web3 Labs. We delved deep to uncover his journey and extract valuable tips for aspiring developers. 

Nischal Sharma's Blockchain Beginnings

Nischal Sharma's journey into the world of blockchain development began during his Bachelor's in Computer and Communication Engineering. In his seventh semester, he secured an internship at VMware, where he joined the Blockchain Performance team and worked on Concord, the company's nascent private blockchain product. 

This exposure ignited his interest as he delved into blockchain fundamentals, particularly attracted to the decentralized nature of distributed databases or ledgers.

Also, Sharma was already familiar with peer-to-peer sharing protocols from his use of torrents. 

“I've always been a torrent user and appreciated the utility of peer-to-peer sharing protocols. I see blockchain similarly—where each user has a copy of the data, enclosed in blocks linked to the previous one, forming a secure chain. This structure ensures that no malicious actor can alter the data once consensus is reached and it's included in the block unless 51% of the peers are malicious,” said Sharma. 

Furthermore, given his college projects focused on backend development, transitioning to a dual role as a backend and blockchain developer in a corporate environment wasn't a difficult progression for him.

Nischal Sharma’s Development Endeavors

To better understand the technicalities of blockchain, we dived deeper into Sharma’s experience so far in the domain. 

At VMware, one of his initial projects involved creating Blockbench, a blockchain benchmarking application that used JAVA, Spring, and web3j to assess Concord's performance. This tool was designed to measure throughput, latency, and the network's overall health, and to perform batch and concurrent request stress tests.

Through this project, the team successfully enhanced Concord's performance from 100 transactions per second to an impressive 1500, marking a fifteenfold improvement.

Sharma also developed a proof of concept for the Bank of Israel, creating a bond issuance decentralized application (DApp) that allowed the bank to issue bonds using ERC20 and ERC721 tokens. 

Talking about his role at Web3 Labs, Sharma plays a multifaceted role where his responsibilities include maintaining and enhancing Hyperledger Web3j — a library that supports DApp communication with various blockchain nodes like Besu, Quorum, Geth, and Polygon.

His work also involves private blockchain development for Hyperledger Besu, which caters to both public and private networks, alongside providing support, consultancy, and maintenance for blockchain networks for prominent clients such as BAXE, Allfunds, and VMware.

Recently, Sharma spearheaded the integration of support for EIP-4844 in web3j, coinciding with Ethereum's Dencun upgrade. This update introduces the capability for handling "blob-carrying transactions," essential for Layer 2 chains, which involve large data sets crucial for commitment access but not executable by EVM. This development positioned web3j as the first web3 library to offer support for EIP-4844, thus enabling effective management of blob transaction fees.

When asked about his currency project, he said:

“I am working on account abstraction support for web3j, which is the next hot topic in the Ethereum world. It unlocks the power of smart contract wallets, or ‘smart accounts,’. ERC-4337 will be the biggest upgrade on how web3 wallets will work, creating a smoother experience for users.”

Sharma on Becoming a Blockchain Developer

Sharma describes blockchain development as akin to any other software development, whether backend or frontend. And for those interested in starting a career in blockchain development, Sharma offers a straightforward pathway to getting started, emphasizing the importance of a solid foundation in coding. 

The crucial first step is mastering coding and problem-solving skills, which he suggests makes one "already half a blockchain developer." 

“The first step is acquiring basic coding skills in any programming language — be it Python, Java, JavaScript, TypeScript, or GoLang. Next, focus on the fundamentals of blockchain. You could begin by reading the Bitcoin white paper or Ethereum's yellow paper, or watching videos to deepen your understanding of blockchain's core concepts.” Sharma suggested.

From there, the focus shifts to understanding smart contracts and DApp development. Familiarity with the blockchain architecture, such as how nodes connect, communicate, and reach consensus on transactions, is essential. 

Once you have a grasp on the theoretical aspects of blockchain, the next step is to learn about smart contracts. Sharma recommends starting with small projects using Solidity and aby preferred programming language to gain practical experience.

For resources, he points to several invaluable materials:

He also notes that a significant challenge in blockchain development is understanding the specific needs that blockchain technology addresses. Without this comprehension, the indiscriminate application of blockchain may not be beneficial. 

“I think the most challenging aspect will be understanding why we need blockchain and what problem it solves because if you really don't understand it and just try to use it everywhere it's not gonna help you,” added Sharma.

At last, Sharma emphasizes that beyond technical skills, curiosity, a willingness to learn, and problem-solving capabilities are vital for anyone entering the blockchain space. 

Blockchain is still an emerging tech and it is evolving every day with new improvements, research, and new applications. And as the community flourishes with fresh innovations, engaging, learning, and contributing is essential.

Edited by Harshajit Sarmah