With more than 15 years of experience in Erlang programming, Hans Svensson is a specialist in model checking for concurrent programs. He has implemented CAN and LIN protocols and has worked as a QuickCheck expert, testing SSL, Riak, automotive protocols, telecom protocols, and various other distributed systems. He has implemented the semantics of Erlang and knows the VM corners. As the author of multiple libraries with concurrency as the unifying theme, he holds a PhD in testing, model checking and verification of Erlang programs. Hans brings his laid back yet dedicated nature to the æternity project and is known by many for his desire and ability to follow through. Recently, we sat down with him to ask about his view on functional programming, consensus, and whether or not blockchain will actually change the world.

What brought you to the team?

Coming from an academic background, having worked with distributed systems and having taught courses in cryptography, it was natural for me to have at least a brief interest in the emergence of blockchain technology. However, for several years I was too busy with work and family to explore it in detail.

This changed when I was introduced to the æternity project. It seemed like an amazing opportunity to build a next generation blockchain in Erlang.

What interests you most about blockchain?

I find the decentralized nature very interesting.

I like the idea that the blockchain just exists; no one is “running it”.

Yes, of course, there is a community, and most changes it experiences include some version of consensus. But, at the end of the day, it is the code itself that a majority of the participants run that defines the chain.

Do you think that blockchain has the potential to change the world?

This is a question that I often get from friends when they hear that I am currently involved in a blockchain project. I usually tell them that I think a few — maybe a handful — of the existing blockchains will persist and be really useful building blocks in future technology. However, I am not so sure it will, in itself, change the world. In a sense, it might do so because it enables some groundbreaking service to be built upon it. But how this might happen remains to be seen.

What is your favorite thing about Erlang as a programming language?

I can only pick one? For me, it has to be its modern and succinct syntax… Just kidding! But seriously, apart from its unrivaled concurrency model, what I normally fancy most is that I can be really productive. The language being functional and dynamically typed also helps a lot. Having written lengthy imperative programs and battled the Haskell type-checker, this feature is very valuable to me.

What is the biggest challenge of your work at the moment?

The biggest challenge for æternity is uptake. Sure, we can develop and improve lots of things. But we need to educate people and get them to understand, and love, the concepts that we already have. Our contract language is an excellent example of this. It is different compared to Solidity for instance. But it is different for a reason and, if you ask me, it is different in a very good way. There is much less chance to shoot yourself in the foot with Sophia, but you can still do it if you really want to.

In the end I like that we have made a safer language without limiting its expressiveness!

What advice would you give someone about this technology?

This business is full of paranoid people: people who are very quick to call something a scam as soon as they see anything that they don’t fully understand. Probably for good reasons, there have already been too many dodgy projects around. But my advice would be to take three deep breaths, make sure you understand what you are looking at, and make your own decisions about things.

Outside of work, how might a friend describe your personality?

Some friends would say I care a bit too much about football, but it is nice to have something non-technical to focus on from time to time. ;)