Hyperledger Iroha 2: Let it Shine! An In-depth Discussion with Iroha Technical Lead Aleksandr Petrosyan

Aleksandr is the technical lead and a long term contributor to the Iroha project. His goal at this stage is to explain Iroha and it’s achievement.

In this interview, Aleksandr talks about his job at SORAMITSU and his experience with IROHA. He also brought the latest news about IROHA 2.0.

Hey Aleksandr, would you like to introduce yourself and your role and responsibilities at SORAMITSU?

Hey, I am the technical lead of the Iroha v2 project, and until recently a maintainer of Hyperledger Ursa. I handle roadmapping, designing features and architecture, and often programming; whenever there’s a technical question or a problem, I’m there.

What is Hyperledger Iroha and Iroha 2?

Iroha v1 is the ledger that we built in 2016. It targeted the Ethereum Virtual machine, and it was a huge success in the private blockchain sector: Bakong is running Iroha v1 to this day. The consensus engine is working like clockwork, we have good performance, and the program does its job pretty well.

Iroha v2, is the ledger that we are building today. The main difference is that this ledger is meant to be flexible both as a permissioned and permissionless blockchain ledger, with a Byzantine-fault tolerant consensus, efficient in-memory world-state-view representation, and WASM as the extension language. This is a forward-looking ledger that will compete with the likes of Substrate, with code quality and usability as the main focus.

Why Iroha v2?

As the eponymous verse from the Japanese poem Iroha states “One cannot stay golden forever”. Iroha v1 has some intrinsic limitations: it wasn’t designed to work with Polkaswap for example, its consensus was only crash-fault tolerant, not Byzantine-fault Otolerant. Just reworking these aspects into Iroha v1 would have been possible, but it would make for a complicated transition period, which we almost completely avoided with a rewrite.

Most say that rewriting is the cardinal sin in software engineering, but I don’t agree. Windows successfully moved away from wrapping DOS by moving to the NT kernel.

What are the main focuses in Iroha 2?

We want the ledger to be flexible and easy to extend and reason about. This is what I like to call code quality. We want to be able to do what other competitors are doing with Rust-based DSLs, but with actual Rust.

This means that we’re going to use a more monolithic approach to deployment, which is mostly a benefit in blockchain contexts.

What particular help and support will SORAMITSU provide developers?

Well, for one, we’re going to produce lots of docs and examples. Secondly, and probably most importantly, we are going to make working with Iroha more closely related to how general Rust programming works. Other projects, in pursuit of modularity, impose too many abstractions which are extremely limiting in some cases. What we want to do, is impose restrictions which are much more natural and get out of the way in general.

What are some new features and functionalities in Iroha 2?

As compared to Iroha v1, we have a reworked consensus, we have a better smart contract facility an event-driven design. We are currently working on supplementing this system with a DSL that compiles to a RISC+Vector instruction set architecture, so that more trivial operations could be done more easily.

What Application would you like to see on top of Iroha 2?

That’s a tough question. With the advent of machine learning, I would imagine that applications that leverage blockchain technology to democratize access to things like large language models would be interesting to explore. Additionally, there are the traditional applications of decentralized exchange and digital money. I would imagine also that Iroha is particularly suited to handling non-fungible assets.

Latest from BLOG