Jelurida’s Lior Yaffe Talks Building and Battle-Testing a Blockchain
The blockchain world is barnacled with esoterica, endless acronyms and specialist terminology that seem almost designed to puzzle outsiders. In a way, the lingua franca serves as a lantern or roadmap, making progress into different areas of the industry easier. Once you’ve gotten a handle on the confusing terms – not to mention the memes that are rife on Crypto Twitter – you are free to explore.
Although gamified and decentralized finance (Gamefi and Defi, respectively) protocols have taken a lot of the spotlight away from blockchains themselves, distributed ledgers are the technology that make the whole industry tick. No blockchain, no NFTs. No Defi protocols either. No bitcoin, ethereum or stablecoins, while we’re at it. Blockchain is to “crypto” what the combustion engine is to cars.
Few are as well-versed in blockchain as Lior Yaffe, the co-founder and director of software firm Jelurida, the company behind the Nxt and Ardor blockchains. Established in 2016 to help organizations and companies implement distributed ledger technology, Jelurida – and Yaffe – have been through multiple bull and bear markets. The unerring focus throughout has been on building robust blockchain architecture to serve the needs of the world.
As something of a blockchain O.G., Yaffe shared his thoughts on this fascinating technology, discussing tradeoffs, testnets, and the differences between various platform categories (private, public, etc).
Let’s start with the fundamental concepts of blockchain technology in very accessible terminology. In this context, why do we have so many blockchains instead of just one?
Lior: In essence, a blockchain is a software product that manages a token of value over the internet without having to trust a central entity to perform the bookkeeping. Anyone who wants to join the network, validate transactions, and generate blocks, is free to do so, and the underlying software is open-source, enabling developers to review the code and make sure there are no backdoors.
A typical blockchain solution relies on the following entities:
- Token is a digital currency managed by the blockchain.
- Transactions happen when tokens are transferred between addresses. A transaction can also represent a message, a vote, or a smart contract submitted to the blockchain.
- Node is a workstation, typically cloud-based and running software used to process transactions and generate and validate blocks.
- Block is a container of transactions. Blocks serve as a synchronization point for the blockchain, all nodes connected to the blockchain should eventually agree about the order of blocks and the order of transactions in each block. They are built atop each other and linked together using digital signatures to form a chain of blocks, i.e. blockchain.
- Address is a pair of private/public keys used to control access to tokens. You can think about it like a self-owned bank account: anyone holding the private key for an address can spend the tokens in the address by submitting a transaction, while anyone holding the public key can validate the transaction’s validity and assure that no double spend has occurred.
- Wallet holds all of the tokens owned by a single entity in multiple addresses. A wallet can be a software application, a hardware device or a combination of both.
- Consensus algorithm is the mechanism for nodes to reach agreement about the order of blocks and transactions to prevent double spend of tokens without central management.
- Smart contract is a special type of transaction that registers code on the blockchain.
- Fees relate to blockchain transactions: since such transactions are expensive to process, each requires a fee to be paid to the network. These are used both to compensate block generators for their processing costs, and as a spam prevention mechanism to make it expensive to spam the network with junk transactions.
There are many different design goals and tradeoffs in the implementation of the building blocks described above, some solutions focus on decentralization and privacy, others on scalability and smart contracts. Some solutions do not even use blocks but rely on other data structures, while others still focus on decentralized storage of data.
Existing solutions offer a tradeoff between three different, and sometimes contradicting, design goals:
- Security – safety of funds, user privacy.
- Scalability – capacity and speed of the network.
- Decentralization – don’t trust, verify; distribution of decision-making; censorship resistance.
Developers are constantly experimenting with different designs to tackle these tradeoffs.
Why are there so many different layers of blockchain? Please explain the different layers and whether each serves a specific purpose. Can they work together, or are they all meant to work differently?
Lior: The concept of blockchain layers is somewhat confusing, sometimes the term is used to describe the blockchain architecture as composed of five layers (hardware, data, network, consensus, layer). Due to the wide variety of architectures, I find that this model is confusing.
Instead, I prefer to define only two layers:
L1 – the blockchain itself as described above.
L2 – an optimization layer built on top of L1 that compromises on decentralization, and sometimes security, to gain more scalability.
L2 chains exist mostly because the cost of submitting transactions to L1 can reach dozens of $ per transaction on some networks during peak times. L2 solutions package multiple transactions into a single proof registered on the L1 network using advanced cryptographic techniques, and those offload much of the processing from the main network.
A testnet, meanwhile, is a blockchain with similar functionality to the main chain but using a worthless token. Testers use testnets to assess their enhancements and smart contracts without risking user funds before deploying it to mainnet.
Blockchains can be sorted into four categories: private, public, consortium, and hybrid. Could you help us understand what these categories signify?
Lior: Blockchains that deploy a token of value are always public and more or less permission-less by definition. In the past, there were various attempts to use the blockchain architecture as sort of a private “write only” database, or a hybrid between private and public solutions. However, in my view these solutions are less interesting and can usually be replaced with a central database which is much more efficient. From my perspective, the only promising blockchain is a public, open-source, and permission-less type, which is using a token of value that can be freely exchanged between entities that work together but do not trust each other.
Your company, Jelurida, created the Ardor blockchain in 2018. How do you 'build' a blockchain? How is it different from writing software code? Most importantly, how and where do the "decentralization" aspects come into the picture?
Lior: Blockchain is almost always an open-source software product; the source code is freely available to allow 3rd parties to review it for backdoors, bugs, and security problems. Our solutions are developed in Java, making them simple to integrate with enterprise software and application servers at the api or code level.
The “decentralization” of Ardor stems from the fact that the software is freely available and anyone can install it, automatically download the blockchain, and seamlessly start to generate blocks and validate transactions.
Of course, blockchain developers need to be extremely mindful of security issues, since launching a new version is somewhat like deploying a drone to space, in the sense that if you have a serious bug, hackers will mercilessly exploit it to steal user funds and destroy your reputation.
Jelurida’s Nxt blockchain is said to be the first open-source blockchain to rely entirely on a proof-of-stake consensus protocol. What is Proof-of-Stake and how is it different from Proof-of-Work?
Lior: As discussed above, every blockchain uses a consensus algorithm to decide about the correct transaction history. The first consensus algorithm introduced by Bitcoin back in 2009, and many others, rely on “mining” or using vast computing power to solve an artificially difficult computation. The purpose of this technique, known as proof-of-work, is to make block generation difficult, in order to guarantee scarcity of new blocks and thus new tokens which are typically distributed with each block.
Our products are using a different technique known as proof-of-stake which considers each token as a virtual miner: the more tokens you have, the better chances you have to generate the next block. The advantage of this algorithm is that it does not require wasting considerable computing power like proof-of-work. Today, most modern blockchain products, except Bitcoin, rely on some variation of proof-of-stake as their main consensus algorithm.
Jelurida’s Ardor, Ignis, and Nxt blockchains – do they each serve different purposes, or do they work together to support uses that other blockchains don’t?
Lior: Nxt is a mature and stable public chain already running for over nine years without service disruptions, which is by itself an amazing achievement.
Ardor/Ignis represent Jelurida’s next-generation blockchain architecture, built on Nxt technology. It features an innovative, multi-chain architecture, smart contracts, integrated wallet, and many other features and gadgets aimed to make blockchain development simple and secure.
The advantage of the multi-chain architecture we provide is that the consensus layer, also known as parent chain (Ardor), is relatively lightweight, while applications can be deployed to child chains such as our own Ignis chain which are cheaper to use and more scalable.
The views and opinions expressed herein are the views and opinions of the author and do not necessarily reflect those of Nasdaq, Inc.