Professor Byung-Gon Chun and Dr. Youngseok Yang of the Department of Computer Science and Engineering at Seoul National University developed a multi-transaction differential fuzzer to find Ethereum consensus bugs through their joint research with Professor Taesoo Kim of the Georgia Institute of Technology.
■ Strengthening the stability and reliability of the Ethereum cryptocurrency ecosystem
■ Found 2 extremely rare consensus bugs in Ethereum
The system, dubbed ‘Fluffy’, has discovered two extremely rare consensus bugs in Ethereum despite it being thoroughly tested and managed. Professor Byung-Gon Chun's team reported the bugs to the Ethereum Foundation, and the Ethereum developers released a new version of the Ethereum client that fixed the bugs.
4 months after the bug reports and fixes, one of the reported bugs was triggered on the Ethereum network on November 11, 2020. The bug caused an old version of Geth Ethereum client to hard fork the Ethereum blockchain.
Infura, the largest Ethereum infrastructure service that used the old Geth client without any updating was paralyzed after which major Ethereym services such as MetaMask, Uniswap, Compound, etc. became paralyzed. As a result, the Ethereum-based virtual asset service has been temporarily suspended on cryptocurrency exchanges around the world, including Binance. This case has been intensively reported by major overseas blockchain media such as CoinDesk and Decrypt, and is evaluated as being the worst case since the 2016 Ethereum DAO hacking incident.
The field of blockchain is one of the core technologies that are rapidly applied to many fields in real life. Blockchain 'consensus' is when decentralized client nodes agree on a single blockchain. A 'consensus bug' is a bug that causes a specific blockchain client to hard fork the blockchain, preventing them from agreeing with other clients. When a hard fork occurs, the underlying blockchain's immutability and reliability are broken, which is why preventing consensus bugs in advance is highly important for blockchain safety.
The existing purging method that finds Ethereum consensus bugs is to generate and test blockchain states and one transaction repeatedly. However, the approach has limitations that, even with infinite computing resources, it cannot fundamentally find bugs that are deeply hidden within the Ethereum client code.
Professor Byung-Gon Chun 's research team proposed a multi-transaction differential purge. By testing multiple transactions at a time, fluffy finds a deep hidden consensus bug in the Ethereum client code. Through system optimization, Fluffy achieves 510x more fuzzing throughput and 2.7x code coverage compared to conventional fuzzers.
"With the fuzzer that was developed, it was possible to find the Ethereum bug which was impossible to find previously. This is a big, influential research study that has contributed in increasing the stability of Ethereum, the world's second largest cryptocurrency, and was therefore chosen to be adopted as an OSDI paper," said Professor Byung-Gon Chun
The results of the study will be published at the USENIX Symposium on Operating Systems Design and Implementation (OSDI) this coming July.
"Finding Consensus Bugs in Ethereum via Multi-transaction Differential Fuzzing", Youngseok Yang, Taesoo Kim, and Byung-Gon Chun.