In the latest update of Edge we added support for Fantom (FTM), a young and fast-growing blockchain that uses a unique consensus mechanism and has a budding ecosystem of DeFi applications. We sat down with Michael Kong, CEO of the Fantom Foundation, and got some more details about who he is and what makes Fantom an interesting network.
Thanks for taking the time to give our users an overview of Fantom today, but before we get into it, could you please give us a little background on yourself and how you ended up working to bring Fantom to the world?
I’m Michael Kong, CEO of Fantom. I studied Information Technology and Finance at the University of Sydney. At university, I did a group project and final year thesis on decompiling and analysing virtual machine instructions for the EVM to automatically find issues in smart contracts. While at university, I started a cryptocurrency fund with others from traditional finance called Token Capital Management. We assisted Fantom with the raise in early to mid-2018, and later became much more involved in transforming Fantom into a global operation.
Fantom operates differently from other traditional blockchains. Could you walk us through the life cycle of a transaction and how that process differs from a traditional blockchain like Ethereum?
The main difference between Fantom and Ethereum, and other networks, is the consensus mechanism. Fantom uses asynchronous byzantine fault tolerance (aBFT) consensus that allows for extremely fast and inexpensive transactions.
Finality in Fantom is, on average, very short. A transaction gets confirmed and finalized as soon as it enters the network, and that takes 1 second on average. By design, transactions can’t be reverted in any way.
On Ethereum, with enough computing power, a transaction could still be reverted up to a certain period of time. That’s why exchanges wait 6-10 confirmations before confirming that they received ETH. On Fantom, 1 confirmation is enough. The transaction is final.
Also, transactions are much cheaper than on Ethereum. At the moment, transactions cost a fraction of a cent. Even if the Fantom price increases massively, the gas is still orders of magnitude cheaper than Ethereum.
Interesting, how does aBFT consensus enable such quick finality for Fantom transactions? What, if any, tradeoffs are being made for this improvement in performance?
Each validator node stores a local acyclic directed graph (DAG) composed of event blocks, each of which contains transactions. The DAG, capturing the happens-before relationship between the events, is used to calculate an exact final order of events—and hence transactions—independently on each node. Consensus results in batches of confirmed event blocks, where each batch of events is called a block. Finalized blocks forming the final chain are calculated from event blocks independently on each node.
When a node receives a new event block (bundle of transactions) originated by another node, it will perform several checks to ensure the data integrity of the new event block. A new event block can be added only if all its parent event blocks exist in that checking node. This rule is applied to all nodes and ensures the DAG is consistent across all nodes. Event blocks are divided into confirmed and unconfirmed event blocks. New event blocks are unconfirmed, while event blocks from the past 2/3+ frames (~0.6s-1.4 s) are all confirmed, and subsequently ordered by honest nodes. Our Lachesis consensus algorithm guarantees the consistent ordering of confirmed event blocks on all honest nodes. If there is a dishonest node or set of dishonest nodes that attempt to double sign, their event blocks will fail the data integrity checks and the node(s) will be removed from the network. More information about how this works can be found in our research paper here.
Unlike Proof-of-Work, round-robin Proof-of-Stake, coinage Proof-of-Stake, and synchronous BFT, Lachesis nodes don’t send blocks to each other. Only the events are being synced between nodes. Validators don’t vote on a concrete state of the network; instead, they periodically exchange observed transactions and events with peers.
Unlike Classical consensus, such as practical byzantine fault tolerance or pBFT, Lachesis doesn’t use new events in the current election; instead, new events are used to vote for the events in 2/3+ previous virtual elections simultaneously. This leads to a smaller number of created consensus messages, as the same event is reused in different elections. Hence, Lachesis achieves a lower time to finality and a smaller communication overhead compared to synchronous BFT.
Fantom isn’t the only network with aBFT based consensus. One that comes to mind is Hedera. What separates Fantom’s design from Hedera?
Hedera isn’t permissionless. Hedera has a council of elected nodes. Fantom, on the other hand, is fully permissionless (no elected nodes, anyone can join and leave as a validator as they please) and fully EVM compatible. In addition, the way that Fantom sends messages between nodes and creates the ordering of transactions is very different.
DeFi on Fantom has picked up steam over the last few months. What are your favorite applications to use on Fantom right now? Are there any on the horizon that you’re excited about?
Hard to pick favorites! They’re all great! SpookySwap, SpiritSwap, Waka, Reaper, Liquid Driver, Ester, Bitgem, Zoo, and so on, are all good products that many people use every day and that hold a good chunk of the TVL on Fantom.
While we can’t disclose what’s coming, once deployed, native Chainlink price feeds will help the Fantom ecosystem grow even more.
We seem to be hurtling toward a multi-chain world. What niche(s) does Fantom look to occupy and what role does Fantom play going forward in this multi-chain world?
Fantom has a two-pronged approach: we do on-chain CI/CD as well as real-world implementations of the technology. We have pilots running and in the works in several countries in Asia, including Afghanistan, Pakistan and Tajikistan, for blockchain-based ERP/MIS, CRM and supply chain tracking solutions. The governments and enterprise contracts provide for on-chain development that in turn improves those technologies.
Speaking of strictly on-chain development, Fantom has a clear advantage over other networks for any use that requires low fees and fast transactions, one of them being trading for example. However, we’re so used to being limited by high costs and slow transactions that we can’t yet imagine what’s possible once those limits are removed.