▲ Enzo Haussecker,
Senior Engineer of Dfinity
Fintech Review (FR): For those who don’t know what Dfinity is what is it in a summary?
Enzo Haussecker (EH): I suppose you could just characterise it as a third-generation, Blockchain-based computing network. When I say third-generation, we’re looking for some specific properties that we don’t see with Bitcoin and Ethereum. We kind of think of Bitcoin as version one and Ethereum as version two. The third-generation seeks to solve a lot of scalability challenges and one of the main driving points for scalability with Dfinity is getting transaction finality down by almost two orders of magnitude.
FR: What allows the Dfinity chain verify transactions, with confidence using less confirmations?
EH: Dfinity is a committee-based protocol which means that at any given block height, you don’t need to get consensus from everyone, only a subset of those participants who’ve been selected randomly. Due to the fact that less people actually need to collaborate, so long as that committee has been selected randomly and you feel confident that it could not have been corrupted by some adversary, then you feel pretty confident in what that committee is doing in order to drive the consensus forward.
FR: As Dfinity is a research focused and backed by notable computer science researchers, how do they stay business focused?
EH: We have a lot of partnerships with several different organisations. The main one that is publicly disclosed is BCG Digital Ventures. They work with a variety of Fortune 500 companies who are interested in building new types of products and services on top of the Blockchain network. So, we are in close collaboration with them and many of their clients who are looking to build on top of Dfinity.
FR: What advantages would businesses gain by running their applications on the Dfinity chain instead of ETH/EOS..?
EH: Your question implies that some of those networks that you mentioned are decentralised, and they’re not, so that’s the first thing. The second thing is that I think Dfinity is attractive because the computing environment that it provides is based on WebAssembly, which Is growing a lot. Nowadays we see every major browser supporting WebAssembly and new classes of applications that run on your web browser implemented as WebAssembly modules. I think the ability to have a computing environment for WebAssembly is going to be pretty significant in the next ten years. Just to clarify, when I say ‘computing environment’, I specifically mean a trusted computing environment.
FR: For these WebAssembly applications, are you expecting companies to build Gmail, messaging platforms?
EH: There’s many different types of applications you could implement on top of one of these things, so yes messaging would be one. Equally, some IoT application could be one too. Suppose you had some smart contract to manage a home automation system; in the home you had some embedded Linux device that was connected up to the network, listening in to see when a transaction got included in a block or when that transaction referenced a contract that managed that home automation system. When that transaction was included in the block and then picked up by the embedded Linux device, the embedded Linux device then does whatever was specified like heating a Jacuzzi or rolling up blinds. Just to clarify on how this differs from all the other networks; if you wanted to do this on Ethereum for example, how long does it take to get a transaction finality in Ethereum? It would take around 10 to 15 minutes. If it takes 10 to 15 minutes for that process to happen, it’s fine if it takes that long for my Jacuzzi to heat but if I want to open my garage door, I certainly don’t want to be waiting 15 minutes for my garage door to open, I want it to open immediately. So, that kind of thing can happen much faster. I think this is what you see across the board, it’s not even specific to Blockchain; when you’re able to take these kinds of latencies down by orders of magnitude. As a result, the types of applications that you can start running become much more wide-ranging. I also think there’s a lot usability challenges with many of the other networks out there right now which is why the main applications are crowdfunding and CryptoKitties.
FR: Is Ethereum your biggest competitor? When Dfinity launches, how different will your network be?
EH: I wouldn’t really characterise Ethereum as a competitor. I draw on Ethereum a lot because I do believe that it is the best network out there right now. Like I said, I think they do different things. Ethereum is all about smart contracts where as Dfinity is about WebAssembly and the internet computer.
FR: How is mining on Dfinity different from the more tradiontal networks like Bitcoin and Ethereum?
EH: For Bitcoin and Ethereum, you download the latest binary and connect up to the network, no problem. With Dfinity, you can’t do that as it is related to the way in which we secure our network. That is how we provide a network which is resistant to Sybil attacks. The basic idea here is that it must be expensive. If you want to become a miner and join the Dfinity network, you need to pay some kind of cost to join the network. If it costed you absolutely nothing to join the Dfinity network, you could go and fire up a bunch of EC2 spot instances and then flood the network with clients. At some point, some clients will start misbehaving. Once you flip the switch, these clients will start dropping packets and start sending people junk data and things like that. Even if the clients themselves have pretty good protection to detect when these kinds of things were happening, figure out that they have a bad client, blacklist the IP address and find another peer, there is nothing to prevent you from going out and starting up another fleet of servers and some other data centre and relaunching the same attack over and over again, to the point where the network becomes unusable. So, the idea is that there has to be a cost associated with you joining the network. The identity you have as a miner must be expensive. Prior to actually mining, you can still start the binary and you can still connect up to the network but to actually participate in the process of mining, you must submit a registration transaction. Then, you will be staged for mining and the next step is the epoch. As you progress in epochs, from one epoch onto the next, that’s when new miners come in and old miners can exit. Only after you’ve exited is when you get your deposit back. In short, there is a registration transaction that has to be submitted prior to being able to mine.
FR: What technology does the Blockchain Nervous System (BNS) rely on to function correctly?
EH: I would characterise it as algorithmic governance. There is a system in place in which people can decide how they want features to be integrated into Dfinity. So, it’s not something we as the core developers decide but rather the community as a whole. They can make and reconcile differences on proposals on chain and we ultimately implement what the community specifies.
FR: How does the Threshold Relay give a solution for both the speed and security of the network?
EH: The Threshold Relay is one of the fastest consensus algorithms. As far as the types of properties you’re looking for in a consensus algorithm on the Blockchain network, I think that Threshold Relay is certainly one of the fastest ways to get consensus in a truly decentralised manner. You get a lot of speed because it’s a committee-based protocol and that has a lot of advantages. Also, if you saw on the whitepaper, block notarisation is the key element in getting transaction finality so quickly. As far as security is concerned, it is based on BN-curves and all that kind of BLS cryptography. I think that that crypto is pretty bulletproof as we’ve had a lot of people review that paper. That paper got published two or three months ago but things have been under review for two and a half years, so it’s been looked at by various researchers and computer science departments like Stanford and Cornell. We’ve gotten a lot of feedback and at this point no one has found anything wrong with it so we’re pretty excited to move forward knowing that we’ve got something pretty good.
FR: What challenges have the development team faced while building the network?
EH: I suppose the main challenge has been scaling the team. We started out with a pretty small group of people, a lot of whom having been in the crypto space for a while. As we’ve grown, there’s been a lot more interest in these networks and we get a lot of engineers joining us from various different fields. We make sure that we hold a really high bar for those who want to come on and work on the project. It’s important that we don’t get someone who comes on and doesn’t think things through the way everyone else on the team does because that’s when you get security vulnerabilities. It’s just making sure that we have a really good group of people who we trust working on the project.
FR: Any other interesting projects that are potential disruptors in the crypto industry?
EH: That’s a good question. I think after Dfinity, there’s a big drop-off. Going back to Ethereum, I think Vitalik’s got some great ideas for sharding. I think a lot of people who were in the early Ethereum community have gone on to work on other projects that are compelling. I won’t mention them by name but there are a couple of things that are interesting.
FR: Are you sold on the idea of Blockchain taking over the corporate world…?
EH: I think we’ve already seen a lot of corporate investment in the Blockchain space. If you look at 2017, hundreds of billions of dollars floated into the ecosystem. There was a lot of new investment and a lot of it came from corporations. So, I think that they’re much more involved now than they have been in previous years.