Community Conversations: Behind the Scenes with Vincent Botbol, Research and Development Architect at Nomadic Labs

Michael of Blokhaus
TQ Tezos
Published in
7 min readJun 17, 2021

Hello everyone and welcome to the fifth installment of Community Conversations! As the community manager for Blokhaus, I am on a journey to interview builders, creatives, and community members from around the Tezos ecosystem. Our guest today is Vincent Botbol, Core Developer at Nomadic Labs.

Nomadic Labs houses a team focused on Research and Development. Their core competencies are in programming language theory and practice, distributed systems, and formal verification. They have been instrumental in the development and evolution of the Tezos core software. They are one of the key organizations behind the Granada proposal.

Check out the interview below!

Can you start off with a short background about yourself and your work at Nomadic Labs?

I joined the project a few years ago just prior to the launch in 2018. Right now, I’m one of the architects at Nomadic Labs and I lead the shell team. I’m pretty involved in all the code base; plus, I’m currently working on developing Tenderbake, the next consensus algorithm. Prior to Tezos, my (PhD) research domain was the formal verification of distributed systems.

What got you into Tezos?

At first it was just out of curiosity. Some former colleagues from my academic background were working on Tezos and were looking for developers. I thought it would be a good challenge. I didn’t know much about blockchain but I worked my way through and I learned a lot.

What made finality a priority for the team? Why is Tenderbake so important?

We are looking at instant finality because we think it’s required for a lot of applications — especially financial applications where you need to make sure that your transactions clear in a matter of seconds. If you don’t have this guarantee, some applications just can’t be realistic; you wouldn’t want to wait 5 minutes or more after paying your bill at a restaurant until they are sure that the payment went through.

So, you see this as something that will appeal to institutions and enterprises that want to build on Tezos?

Yes, exactly.

What would you say is the general order of priority for features to work on and include in future Tezos protocol upgrade proposals? What comes after Tenderbake?

Our immediate priority is Tenderbake; our longer-term priority would be to increase throughput and maximum transactions per second. A lot of different blockchains publicly state that they are able to process a lot of TPS. It’s definitely useful to have — it’s important for scalability, sustainability, and usability.

What is Tezos’ current maximum transactions per second?

Based on my recent computations, we should be around 200 TPS. The node implementation may occasionally lower this number for security reasons or because the hardware is not powerful enough to handle many more transactions.

Can you explain what actually goes into limiting maximum TPS and then what the potential scaling solutions would be?

The current limitation is probably the gas usage. While sending money from one account to another is very simple, executing big smart contracts is very complex and requires a lot of gas. Reducing the required gas for expensive smart contracts and such will indirectly increase max TPS.

Granada plans on lowering gas costs anywhere from three to five times all the way up to eight times — would that increase maximum transactions per second by the same degree or by a smaller degree? How would you estimate Granada will affect max transactions per second?

Theoretically, it will increase the max TPS. However, it’s not only about the theoretical cap, but about hardware requirements as well. If someone runs a node on a low-end server, they will still bake blocks but they won’t be able to include all the operations that they could have. Therefore, these kinds of nodes would globally limit the transactions per second.

Would you say it’s a trade-off — where you’re lowering throughput in exchange for decentralization?

In some sense, yes.

Would there be an effort in the future to boost the hardware requirements to run the Tezos network?

Perhaps. However, there are a lot of low-hanging fruits that we can tackle right now. Tons of improvements can be made to scale the network without changing hardware requirements. The Granada upgrade proved that. Personally, I really enjoy the fact that you can run a node and be a baker on a Raspberry Pi. If we want to really scale up, for thousands of transactions per second, then we will probably need to change the minimum requirements.

Would you say that the focus on maximum transactions per second is overblown in the wider cryptocurrency community? Do you think placing too much emphasis on maximizing TPS leads to neglecting other aspects?

Yes and no. At this current stage, it’s usually not needed to have thousands of transactions per second; as a blockchain gains in usage and users, then it will be. One solution to improve the TPS is to use a layer 2, or some sort of mechanism like that. The main problem, to me, with a layer 2 is that it brings centralization. There is an entity that supposedly aggregates operations and includes them as a single transaction on layer 1. For some specific usage, it’s completely justified — some applications don’t necessarily care about decentralization. For the more general use case, however, I think it’s quite important to be able to process a lot of transactions without a layer 2. I mean, the major strength of blockchains is decentralization.

What’s the current goal for maximum transactions per second by the end of the year?

Well, for the end of the year, our goal is set to reach 1000 TPS or more.

How would you say a system like LPoS compares to alternative mechanisms like PPoS, PoH, etc.?

Although I’ve looked into it, I’m not an expert on the specifics of these different algorithms. I’ve been through many interesting academic papers and my understanding is that all these consensus algorithms aim to achieve fast finality and Byzantine Fault Tolerance. So, to me, it’s a matter of different approaches to solve the same problem.

Does this really help with the TPS? I don’t think so, to be honest. Solana specifically made the choice be more centralized. They have a few block producers with highly optimized infrastructure that are all very well connected so they can process transactions extremely fast. It’s normal that they can reach their high TPS when they have these setups. The drawback of this approach is that you trade TPS for centralization.

What would you say are the positive aspects to Tezos’ approach to development in comparison to other projects? If you want me to narrow that down a bit: Tezos is one of the only projects that has formal governance and it’s also one of the projects that seems to heavily prioritize decentralization — how important do you think that is in comparison to the priorities of other projects?

From a social point of view, decentralization is extremely important. I mean, that’s the initial idea behind Bitcoin and that’s what made it a success, in my opinion.

I agree that the main strength of Tezos is the self-amendment process. Basically, it really helps us to evolve with the times. A lot of other blockchains have very interesting ideas, scaling solutions and such, and it would be too bad not to integrate them. I think Tezos is probably the only blockchain capable of smoothly merging the strengths of other projects into its own protocol. We’ve already done that with zk-SNARKs, we are currently doing that with Tenderbake, and we will keep doing that with other innovative ideas in the future.

The fact that Tezos is built with this idea in mind, so that you’re completely able to change everything about the code and how the implementation is done, is really game-changing. Take Ethereum — it’s understandable that moving from PoW to PoS is very difficult — you have to adapt a lot of intertwined code that was not initially designed to ever be modified. This is a good example of how important Tezos’ focus on sustainable evolution and upgradeability really is.

So, you’d say Tezos is the most flexible blockchain?

Yes.

What do you see in the future of Tezos?

Anybody who follows the news knows that there’s recently been a large increase in awareness surrounding blockchains; I think Tezos will have a big part to play in this area. Tezos is hugely adaptable due to its unique self-amendment feature and I feel this makes the Tezos blockchain a very attractive platform. Also, development is completely distributed, open, and transparent. The capacity to evolve is really the main highlight of Tezos. We built Tezos to be something strong and it will be a real game changer. By continually improving and taking in good ideas, I think Tezos is growing into something really big.

Is there any message that you’d want to send out to the community?

We welcome your ideas, which you can send in on Tezos Agora or even as merge requests on Gitlab! The more input we have, from a range of voices, the more open and decentralized the Tezos ecosystem will be. I am well aware that it’s quite complex for newcomers to get involved in the development process, especially when it concerns the Tezos protocol. We organize training sessions to help developers learn about the Tezos ecosystem through building applications for Tezos or learning about the Tezos back-end. Tezos will always be an open and open-source community and all contributions are always welcome.

--

--