10 Differences between DFINITY and Ethereum

In this video, we answer one of the most asked questions we get: Robert and I list the 10 key differences between Ethereum and DFINITY. Some of the key differences stem from DFINITY’s new consensus protocol and we list those. But we start with differences on other layers. Dive in to hear all ten key differences between Ethereum and DFINITY!

Video Transcript:

Welcome to another episode of Inside DFINITY. Today, Robin and I are exploring one of the most often asked questions that we get all the time which is, “What’s the difference between DFINITY and Ethereum?” Robert has come up with a total of 10 points in how Ethereum and DFINITY are different.

All right, so we’re starting with four differences between DFINITY and Ethereum that are not consensus-related. Robert, afterwards, is going to talk about consensus-related differences, and I’m going to cover some of the non-consensus related differences.

Difference 1: Internet Computer vs. Smart Contract Platform

Ethereum was one of the first concepts, technologies, products, whatever you want to call it, to introduce the concept of smart contracts, which means not only can you exchange tokens or coins and agree on a shared state about who owns, how many coins, but you can also execute simple applications in a decentralized manner. Now, DFINITY goes way beyond that and offers, what we call, the World Computer, which is a lot more capable and powerful when it comes to executing applications and instructions in a decentralized context.

Difference 2: On-Chain Governance with DFINITY vs. Off-Chain Governance with Ethereum

DFINITY launches the blockchain nervous system, which is a built-in on-chain governance system. This means that the network can make decisions on upgrades parameters and even individual transactions within itself. It also means updating the whole network: at once it becomes a lot easier than it is currently at Ethereum, where discussions have been off-chain and decisions need to be made off-chain. And, then, there’s no logical link between that decision and the actual implementation of that decision. This can be two forks which obviously can lead to a lot of overhead and a much slower adoption of new features.

Difference 3: Actor Model vs. Serialized Contract Execution

In DFINITY, we’re allowing you to execute applications on a so-called Actor Model. So, what that means, you have the benefit of both parallel execution of contracts and asynchronous message passing, while, on the other hand, in Ethereum it’s a lot slower because everything happens one after the other, and you need to keep a lot of data in your memory, which can be strain for your machine’s memory.

Difference 4: WebAssembly (WASM) vs. Domain-Specific Languages

DFINITY is adopting this new standard called WebAssembly. It’s a standard that was developed by all the big browser supporters – Microsoft, Mozilla, Apple, and Google. They’ve built a new virtual machine that allows you to execute bytecode in the browser, which is a lot faster and, so, because all these big browser manufacturers are supporting this standard, our expectation is that there’s going to be a hundred of tools and a lot of developers that will already know WebAssembly. If you’re a web developer and you want to be ready for the future, you’re probably already looking into WeAassembly. And the cool thing is to deploy applications on DFINITY, you won’t need any new tool sets, tool chains; you’ll already have those in-place because we’re using the same standard. Whereas on Ethereum, they went with Domain-Specific Languages, among them Solidity, Serpent, which are languages that were made just for Ethereum; which could be great, but it also means that you have to learn yet another language in order to develop and deploy applications for Ethereum. And with that – over to Robert.

Difference 5: Proof of Stake vs. Proof of Work

Let’s start with the proof of work because that’s a traditional system that’s currently in use by the Ethereum. Proof of work means that the block makers or miners have to solve crypto puzzles in order to get the right to create a new block. This system has very high elites, i.e. very expensive computations, and also it’s a lot of power. So, that’s why people came up with a new kind of system called Proof of Stake, which we at DFINITY are going to use.

What does proof of stake mean? Proof of Stake is basically the system, where your chance of becoming the next bookmaker depends on your fraction of stake that you have deposited or that you own in the system. Etheorum will also change to a system called Casper, where they will use both: Proof of Work and Proof of Stake in a hybrid manner, so they will still keep their Proof of Work-based blockchain as the underlying layer but they will build a Proof of Stake system, on top of it called Casper the Friendly Finality Gadget, which allows Ethereum to finalize blocks by system that’s based on Proof of Stake.

Difference 6: Fixed-Sized Deposits vs. Variably-Sized Deposits

At DFINITY, the idea is that you have to make a deposit in order to become a miner. The amount of stake that you have to deposit is fixed by the system, which means that if you want to deposit more stake because you have more stake at your disposal, then you will necessarily have to create more than one ID. So, the number of IDs will translate into your power that you have in the system. In Ethereum’s Casper, there will be Variably-Sized deposits. The idea is that you can create the system can have a different impact on consensus. So, that’s also the difference between the two systems.

Difference 7: Security over Lifeness at DFINITY vs. Lifeness over Security at Ethereum

What does that all mean? Well, in DFINITY, we have so-called threshold groups, where groups of 400 IDs are selected by the system randomly to notarize blocks; and we need at least 51% of the members to create their threshold signatures in order to notarize a block and in order to keep the system light. Once that threshold is missed, so when more than 50% of the members drop out or become unavailable, the system will just stop; it cannot make progress, but it can also not be abused to like create or forge a new history or to perform a double spend attack. Ethereum takes another approach still based on Proof of Work; and Proof of Work means that the chain that is built by the miners can always make progress no matter how many miners there are.

Even if suddenly the fraction or the number of miners  or the total hashing power drops to a small fraction of what it was before, the chain can still make progress because blocks can still be appended to it. But, once, the total hashing power drops, it becomes easier to launch attacks against the chain. So, that’s why Proof of Work systems like Ethereum favour Lifeness over Security.

Difference 8: Random Beacon vs. Proof of Work

In DFINITY, we have a system that we call Random Beacon. Random Beacon is nothing more than a chain of random numbers, for each number is a threshold signature of the preceding one. The fact that these numbers can only be built by a majority of a group of four hundred nodes means that the outcome cannot be predicted and can also not be manipulated by any or by a small number of members. This creates a chain of unmanipulable and unpredictable randomness. In Proof of Work systems, you have a kind of randomness generator that is automatically available because every Proof of Work puzzle that you solve can also be regarded or considered as a random value.

So, there you have randomness for free if you spend enough energy to come up with a solution to the crypto puzzle. Ethereum will finally update the system to Casper; Casper being based on Proof of Stake needs another kind of randomness or source of randomness, and they are going to use a system called Randao, where each node contributes a hash or the chain of hashes is like an onion, where you know if you hash the same value multiple times and then you can reveal like the layers of the onion one by one, and this will ask the system to combine the randomness that’s created by multiple people by unlocking the layers of this hash onion. The problem with that approach is that you will always have a last person that will reveal his share lost, so this person or ID can influence the outcome by, at least, one bit. Whereas that Random Beacon in DFINITY is not liable by any or by any small number of people.

Difference 9: Cryptographic Finality vs. Economic or Probabilistic Finality

In DFINITY, we have a system where people can decide, on their own, whether block or the transactions in the block are final or not. They just have to watch the blockchain; once they have seen that their transaction has been included in a block that has been confirmed at least by one other block; they only need to wait some time, some delay to certain that their transaction cannot be reverted any longer. That allows every observer of the system to apply his own level of certainty. If the transaction is very sensitive: you can accept the delay higher so that you can be very certain that your transaction won’t get to be undone anytime.

Ethereum in its current version is based on Proof of Work with every confirmation; a block becomes more certain that it will remain in the chain, that it will remain part of the canonical history. But you can never be sure that the certain block will not get revert at any time. So, with any confirmation you will have a higher trust in the block but you will never reach 100% security that your block is never going to be reverted. Eventually, Ethereum will switch to Casper, and Casper will provide Economic Finality.

This means that you have people voting on your block, validators – voting with their stake on certain history. Casper offers a kind of Economic Finality in that if a block gets reverted, so if a block that has been voted on, gets reverted and, at least, one third of the validators will lose their stakes. That allows having some kind of certainty that the block that has been voted on, won’t get reverted anymore because, then, a lot of people will lose a lot of money.

Difference 10: Finality Time: 2 Blocks vs. 125 Blocks

In DFINITY, we have a finality in the order of seconds, while Ethereum will probably offer with Casper a finality after a couple of minutes. DFINITY, as already mentioned in Difference Number Nine, offers finality of the two blocks and a delay, which is the network traversal time or the network round-trip time. This comes down to a few seconds. Ethereum will use Casper to finalize blocks. Every now and then, they will finalize only every hundred block, where they create like a checkpoint. In general, that allows Ethereum to reach finality after 125 blocks, and with a block time of two to ten seconds that will amount to like 10 minutes of Finality.

All right. So, these are ten key differences that we found between DFINITY and Ethereum.

  • Internet Computer vs. Smart Contract Platform;
  • On-Chain Governance vs. Off-Chain Governance;
  • Actor Model vs. Serialized Contract Execution;
  • WebAssembly (WASM) vs Domain-Specific Languages;
  • Proof of Stake vs. Proof of Work;
  • Fixed-Sized Deposits vs. Variably-Sized Deposits;
  • Security over Lifeness vs. Lifeness over Security;
  • Random Beacon vs. Randomness from Proof of Work;
  • Cryptographic Finality vs. Economic Finality, and
  • Finality time: 2 blocks vs. 125 blocks.

So, those were ten key benefits that we could have come up with. As always, if you have questions or comments, leave them right below this video. We’re looking forward to getting your feedback.

And with that, Talk to you soon.