Developer Showcase Series: Arun S M, Walmart

By February 8, 2021 Blog, Developer Showcase

Back to our Developer Showcase Series to learn what developers in the real world are doing with Hyperledger technologies. Next up is Arun S M, Senior Software Engineer at Walmart.

Give a bit of background on what you’re working on and how you got into blockchain?

Walmart is a pioneer in technology adoption. This case study offers a comprehensive look at Walmart’s journey in blockchain technology adoption. You might have read about multiple other pilot programs Walmart has either initiated or participated in as well. At Walmart Global Tech, we join hands in powering the next generation retail disruption. Listen to what Archana Sristy, Sr Director, Blockchain Platforms, had to say in the keynote panel at Hyperledger Global Forum 2020. 

While many say their journey into the blockchain started with either Bitcoin or Ethereum, mine started with the Hyperledger projects. I started my journey into this technology at my previous employer Intel. I remember when everybody was excited to see Hyperledger Fabric leaning towards its 0.6 version release. On the other hand, Hyperledger Sawtooth was prepping up to support EVM smart contracts. My first quest on the technology was to provide an option of byzantine fault tolerance to the Hyperledger Fabric project with the help of a trusted execution engine. I found myself digging through source code written in a language I was not familiar with back then. Project source code and logs from the test run served as documentation. It was quite a joyful experience to see a working POC completed in a short period of time.

What Hyperledger frameworks or tools are you using in your projects? Any new developments to share? Can you sum up your experience with Hyperledger?

The range of projects in Hyperledger’s greenhouse is sufficient to provide a starting point for any blockchain-based idea. I say that not speaking only for my employer. At Hyperledger I wear multiple hats:

First, and my favorite of all, being a developer! 

Though my journey started with the Hyperledger Fabric and I predominantly use it in my projects, I have spent a considerable amount of time on other Hyperledger technologies. I found myself enjoying the problem statements within Hyperledger Sawtooth and, eventually, became one of its maintainers. I started by fixing bugs in the sawtooth-core and working on consensus engines and then on a Hyperledger Labs project implementing a new protocol for the Proof of Elapsed Time. (Feel free to reach out in case you would like to revive it.) I took on adding missing features on the sabre engine, participating in the 2.0 release planning meetings and supporting Hyperledger Transact’s goal. 

Very recently, I started to find myself interested in the potential benefits of lab projects such as Blockchain Automation Framework. Likewise, Hyperledger Aries has never ceased to impress me. And don’t be surprised if you see me in Hyperledger Ursa meetings. 

Second hat, being a Hyperledger Technical Steering Committee member!

Walmart uses blockchain at scale like nowhere else, and yet we are pioneers in adopting new features. This gives me a great, dual point of view as I have worked extensively on the core protocol layer as well as on realizing potential use cases. On the TSC, this allows me to speak up for what an end user organization would like to prioritize when it comes to the advancement of blockchain technology.

Out in the community, I enjoy speaking at Hyperledger Global Forum and other conferences. From the time I started to help the community based in India, it has been my pleasure to meet several tech enthusiasts. It is amazing to see how people are willing to join and contribute back once they understand the technology. Oftentimes, lack of awareness is often what makes people think contributing to Hyperledger projects is out of their reach. Being a TSC representative has helped me be a bridge and bring in new perspectives. 

Third hat, leading the Hyperledger India Chapter and other speaking engagements! 

The idea of Hyperledger India Chapter was conceptualized by Amol Kulkarni in early 2018. The chapter was inaugurated in January, 2019. The chapter’s goal was to build a bridge between the global community and India. In the initial days, we spent time answering technical questions, running project specific developer forums and organizing national meetup events.

Since taking the baton from earlier chapter leads in 2020, I’ve had the pleasure of proposing and running multiple other modes of engagements. Our hackathons, a multi-week blockchain story sharing series and a technical deep-dive fest have all contributed to increased participation by the community in India. It’s been satisfying hearing the positive impact these engagements have created. It is evident in the feedback we receive from the community in India but also in the rest of the Asia Pacific, Europe, Africa, and, sometimes, the Americas regions. The latest approach has been to identify more community leaders, delegate responsibility and encourage smaller circle engagements to gradually build the community participation. Hyperledger staff members (so as not to miss out any names, let’s say everybody) have supported all the initiatives proposed by the Hyperledger India Chapter. There never was a no for anything. 

Having mentioned these, let me know if you have an idea. I am ready for the next hat 😉

What do you think is most important for Hyperledger to focus on in the next year?

Hyperledger is doing great with community participation and diversity. Technical diversity is what I can focus on here. These are the points I would pick up in no particular order:

  1. Encouraging projects up the protocol stack that are aimed towards easier and faster adoption to production. These could include ready-to-use tools and libraries such as deployment tools or core protocol management libraries/tools.    
  2. Prototyping possible interoperability patterns to integrate multiple blockchain protocols.
  3. Paving the way towards plug-and-play style, reusable modules development across protocols.

What advice would you offer other technologists or developers interested in getting started working on blockchain? 

If you are thinking about using blockchain technology and/or if you’re new to blockchain technology and this happens to be your first read about the technology, then you’re in good hands. Do not always overfit your problem statement. It could be just digitization of data that you want to solve your problem. Use of blockchain for the sole purpose of integrity protection amongst the trusted nodes can be debated. I am happy to help you in your blockchain journey! I’ve shared some background and advice for getting started below. 

Blockchain is a technology. As you know, any technology defines a well known process of achieving an outcome for a given problem statement. Blockchain technology is aimed towards removing intermediaries (many a times unnecessary) in transactions and establishing a high level of trust on the data exchanged between the involved participants.

Blockchain technology achieves this by the use of distributed, decentralized, digital ledger technology. You all might be aware of distributed databases. Now let’s add decentralization to it. As an example, what if multiple instances of the database (having the same copy of data) are maintained by different parties. Each of those involved parties don’t trust each other generally without a trusted agent making sure everything is rightly copied. Now, what if we remove the unnecessary third party agent and let the distrusting parties trust each other using a mechanism? The digital ledger is that mechanism.

Let’s break the myths and understand commonly used terms:

  1. Blockchain (often used as the name of the technology as well): Imagine it to be a linked list that is cryptographically protected so that you cannot change the position of the list nodes or the contents stored in it. This makes it an immutable ledger of data. 
  2. Smart Contract: If you have worked on database applications, you know about CRUD operations. How would you control how CRUD operations are performed and by whom in a distributed system? This is taken care of by the smart contracts.    
  3. Consensus: Just by controlling who and how can one perform CRUD operations may not be sufficient for making sure every participant in the network has the same copy of the data. This is not a totally new concept. Consensus in simple terms is getting agreement. You can follow multiple approaches to get different participants to agree to a common data point. RAFT, PBFT, PoET, etc. are examples.

To get started on developing or supporting blockchain applications, your first step is to decide what you want to do. It is quite uncommon that you need to understand how Fabric/Sawtooth is implemented if your goal is to develop an application. Similarly, if you would like to be an expert DevOps/administrator of the network, then you would learn how to maintain the application with the available options. Hyperledger projects have abstracted low-level handling from you. There are CLI or SDK options for you to interact with the running ledger.

 The following steps should make you an expert on a given project:

  1.  Familiarize yourself with one of the protocols.    
  2.  Understand how a framework is architected and the flow of data in it.
  3. Read through the documents and note down all possible configuration options. How well your production deployment will work will come down to how well you understand available options.    
  4. Write sample code to use the provided SDKs for smart contract and client application development.

As Hyperledger’s projects continue to mature, what do you see as the most interesting technologies, apps, or use cases coming out as a result?

Here are my top five picks, considering the needs of the hour:

  1. Tracking COVID-19 vaccinations: Creating blockchain-backed ledger verifiable credentials to provide greater confidence on the issued credential and open up international collaboration that gets things back to normal while maintaining individuals’ privacy. Similarly, enabling safer vaccine track and trace by making sure every process is followed as expected in the supply chain for effective progress. Blockchain can also play a vital role in future health emergencies in a range of ways such as increasing trust in the research data in the early stages and improving collaborating with parties in far places.
  2. Leveling the field in education: I am a strong supporter of education for all. Use of blockchain in eradicating the indifferences and providing quality education to the needy would be an excellent use case if somebody can come up with one.
  3. Federating learning: Use of blockchain in federated learning to achieve trust is something to be explored further. 
  4. Enabling the concept of global citizen: A person graduating in university from a far away place should be able to prove the knowledge and degree to get a job elsewhere. 
  5. Enabling eGovernance: Blockchain has a role to play in a range of areas, including the electoral process, security lending, property buying, government reach out programs, digital credential issuance, reducing corruption and legal processes.

What’s the one issue or problem you hope blockchain can solve?

After this set of intense answers, I will answer slightly comically (who knows it could be reality in future). I wish blockchain could become backbone technology to end the misinformation on the internet, eventually becoming the single source of truth for a peaceful humanity!

Where do you hope to see Hyperledger and/or blockchain in five years?

Blockchain technologies are evolving at supersonic speed. Even as we speak now there could be someone thinking of a new feature or capability. 

  • I hope to see interoperability becoming not just an advantage but a necessary parameter for adoption. Another analogy is that, in the near future, it would be great to have the option to switch between multiple blockchain frameworks like we switch the databases today. With standards governing how to transfer the data across blockchains and still maintain integrity.
  • I hope to see design patterns being defined for blockchain technology, eventually helping scale the network or overcome the limitations of today. 
  • I hope to see blockchain networks talking to each other, not just from the protocol perspective but at the domain level. This will open up a range of new use cases.
  • I hope to see techniques that would optimize the storage and compute requirements for running a blockchain network.

What is the best piece of developer advice you’ve ever received?

It’s hard to pick on one thing! The best piece of advice that I received as a freshman from my mentor Mark Chung back then is “do not give up because the code is complex; stare at the code until it breaks up and surrenders to you. Code will tell you more truths the more you stare at it.” Another recent from one of my ex-boss Ansuya Negi is “do not be upset because your project didn’t go beyond the POC. The learnings you got through the process is more important than the outcome.”

What technology could you not live without?

To be honest, I would prefer a life not surrounded by technology and would rather go out into nature’s serenity. But, to logically answer this question, I think the evolution of the computer system has accelerated and uplifted the human standard of living in many ways making it is difficult to live without a computer.