surveying front running attacks on decentralized exchanges
play

Surveying Front-running attacks on Decentralized Exchanges - PowerPoint PPT Presentation

Surveying Front-running attacks on Decentralized Exchanges Mingcheng & Sean 1 Goal Introduce a special kind of attck on decentralized exchange Try to propose a mitigation in the end 2 What is this? 3 Blockchain Introduction


  1. Surveying Front-running attacks on Decentralized Exchanges Mingcheng & Sean 1

  2. Goal Introduce a special kind of attck on decentralized ● exchange Try to propose a mitigation in the end ● 2

  3. What is this? 3

  4. Blockchain Introduction blockchain is essentially a decentralized, distributed “database” (ledger) recording transactions, which cannot be altered retroactively without the alteration of all subsequent blocks. Distributed ● Decentralized ● Non-centralized Trust ● Immutable ● 4

  5. Blockchain workflow: block and block generation Blockchain consists of blocks. Blockchain consists of blocks. Each block consists of a head and a body. - Body records transaction - Head includes the cryptographic hash (SHA256) of the body and the prior block 5

  6. Blockchain workflow: block and block generation Head : Time: Timestamp hashMerkleRoot: Hash of Body hashPrevBlock: Hash of previous Block Bits: Target Value Nonce: Magic Number Data …. Body : Transactions ... 6

  7. Blockchain workflow: block and block generation Head : Time: Timestamp hashMerkleRoot: Hash of When SHA256(Head, Nonce++) < prev: H() Bits (Target Max/Difficulty level) Body hashPrevBlock: Hash of previous Block New Bits: Target Value Block Nonce: Magic Number Data …. Body : Trasactions ... 7

  8. Blockchain workflow: block and block generation prev: H() Data Data Blockchain consists of blocks. Each block consists of head and body. - Body records transaction - Head includes the cryptographic hash (SHA256) of the body and the prior block Block Miner can get block reward and operation fee. - proof-of-work 8

  9. Blockchain workflow: broadcast and census If divergence, the chain has been seen by the majority will be validated ● forever (7 confirmation). 9

  10. Blockchain workflow: broadcast and census If divert, the chain has been seen by the majority will be validated forever. ● To keep consistent, bitcoin is designed to generate new block in average 10 ● mins by adjusting the difficulty level. 10

  11. Problems with bitcoin blockchain: Just ledger!! Wasting powers/resource!! 11

  12. Add More Flavors: Ethereum Virtual Machine and Smart Contract ● Lightweight computer programs executed on blockchain network without user interaction when when certain conditions are made. ○ When someone wants to get a particular task done in Ethereum they initiate a smart contract with one or more peers. The EVM provides better deterministic, terminable and isolated environment ● for the smart contracts. (Like JVM) ○ EVM is turning complete 12

  13. The Etheruem Network Smart Contract blockchain 13

  14. The Etheruem Network Smart Contracts Smart Contracts Smart Contracts Smart Contracts blockchain blockchain blockchain blockchain Smart Contracts Smart Contracts blockchain Smart Contracts blockchain blockchain 14

  15. Ethereum Gas and Fee ● Gas is a unit that measures the amount of computational effort that it will take to execute certain operations. ○ Every line of code in Solidity requires a certain amount of gas to be executed. ● Gas Limit >= Gas needed Gas Fee = Gas Limit * Gas Price (Gwei) ● ● Gas Fee is the maximum profit code runner can get Gas Needed 15

  16. The Scale of Ethereum Network ● Ethereum is now the 2nd largest blockchain Network in th world Market Cap = $ 20+ Billion ● Frequent Transactions Data Collected from etherscan https://etherscan.io/

  17. ICO on Ethereum = Fundraising Ether Developer Gather => Money Public Initial Coin Offering Smart Contract Piles of Ether ERC20 Tokens (ERC20 is a Protocol for Etheurm Cryptocurrencies, it allow direct interaction bewteen parties) 17

  18. Functionalities of ERC20 Tokens ● Toll : A token can act as a gateway to the Dapp. ● Voting Rights : The tokens may also qualify the holders to have certain voting rights. ● Value Exchange : Tokens can help create an internal economic system within the application. 18

  19. A Need for Exchange TokenA TokenB Cryptocurrency Exchange TokenC 19

  20. Centralized Exchange 20

  21. Decentralized Exchange (DEXs) “I offer 1 TokenA for 2 TokenB” Core Contrac t Maker TokenA “I take the 1A for 2B 1A for 2B _________ Great TokenA with 2 Deal! _________ _________ _________ TokenB” _________ _________ _________ Matcher Order Book Taker Proxy Contract 1A for 2B The Exchange Smart Contracts TokenB 21

  22. Decentralized Exchange “I want to buy TokenB with TokenA” Core Contrac t Maker TokenA “I want to buy TokenA with TokenB” Algorithmic Matcher Buy Order -> Price UP Proxy Contract Sell Order -> Price DOWN Taker A ⇔ B With a Calculated Rate Algorithmic Marketmaker TokenB 22

  23. Algorithmic DEX Example - Bancor 23

  24. Industry Designs are more complexed Kyber Network 24 “Kyber: An On-Chain Liquidity Protocol,” Apr. 22, 2019. https://files.kyber.network/Kyber_Protocol_22_April_v0.1.pdf (accessed Apr. 13, 2020).

  25. Transaction Visibility 25

  26. Transaction Delay 2 Block Confirmations Generally Required at least 7 Confirmations 26

  27. Transaction Order is Not Guaranteed Pending TX Queue TX5, 0.01 Gwei TX6, 0.03 Gwei TX7, 0.02 Gwei TX1 TX2 TX3 TX4 TX8 TX6 TX8, 0.15 Gwei Confirmed Block Miner’s Block Confirmed Block TX8 is more likely to be included in a block along the chain 27

  28. Profit Through Change TX Order Frontrunning Attack TokenA price goes up Time Algorithmic Exchange TX2: Buys 10 TokenA TX1: Buys 1000 TokenA TX3: Sells 10 TokenA 0.02 Gwei 0.01 Gwei 0.009 Gwei 28

  29. Another Frontrunning Scenario DEX A DEX B Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH TX: Buy 5 from A and Sell to B Pending TX Confirm 0.2 Gwei TX 0.1 Gwei Bot 29

  30. Another Frontrunning Scenario DEX A DEX B Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH TX: Buy 5 from A and Sell to B TX: Buy 5 from A and Sell to B Confirm Pending TX 0.3 Gwei 0.2 Gwei TX 0.1 Gwei Bot* Bot 30

  31. Another Frontrunning Scenario DEX A DEX B Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH TX... TX... Confirm Pending TX TX... 0.3 Gwei 0.2 Gwei 0.4 Gwei TX 0.1 Gwei Bot* Bot Bot** 31

  32. Another Frontrunning Scenario Inefficiency to the blockchain DEX A DEX B And Slows down the confirmation of other TXs Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH TX... TX... Confirm Pending TX TX... ... 0.3 Gwei 0.2 Gwei n Gwei TX 0.1 Gwei Bot* Bot Bot** 32

  33. Scale of Frontrunning Bots Philip Daian, Steven Goldfeder, et al. “Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in 33 Decentralized Exchanges”. ArXiv abs/1904.05234 .2019.

  34. Scale of Frontrunning Bots Philip Daian, Steven Goldfeder, et al. “Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in 34 Decentralized Exchanges”. ArXiv abs/1904.05234 .2019.

  35. Frontrunning Vulnerability TX are visible to everyone E + TX takes time to get confirmed = Frontrunning Attack! ! + Pending TX can be reordered. 35

  36. Mitigation - Reduce Visibility 36

  37. Mitigation - Encryption “I offer 1 TokenA for 2 TokenB” Core Contrac t Maker TokenA “I take the 1A for 2B TokenA with _________ 2 TokenB” _________ Matcher Order Book Taker The Exchange Smart Contracts TokenB 37

  38. Mitigation - Encryption “I offer 1 TokenA for 2 TokenB” Core Contrac t Maker TokenA “I take the 1A for 2B TokenA with _________ 2 TokenB” _________ Matcher Key Wallet Address Order Book Taker The Exchange Smart Contracts Wallet Address Key Map TokenB Key 38

  39. Mitigation - Encryption “I offer ENCRYPT for ENCRYPT” Core Contrac t Maker TokenA “I take the E for E ENCRYPT Trusted Execution Environment with _________ (Inspired by Tesseart) Trader ENCRYPT _________ E f o _ r _ E _ _ Key _ _ _ _ _ _ _ _ _ _ _ _ Order Book Taker Trade Info The Exchange Smart Contracts Matcher TokenB 39

  40. Countering Algorithmic Frontrunning TokenA price goes up Time Algorithmic Exchange TX1: Buys 1000 TokenA 0.01 Gwei 40

  41. Countering Algorithmic Frontrunning Create Transaction: ??? price goes up ??? Time Algorithmic Exchange ??? TX1: Buys ENCRYPT 0.01 Gwei 41

  42. Countering Frontrunning Bot DEX A DEX B Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH TX: Buy 5 from A and Sell to B Pending TX Confirm 0.2 Gwei TX 0.1 Gwei Bot 42

  43. Countering Frontrunning Bot DEX A DEX B Decentralized Exchange Decentralized Exchange Buy 1 for 6 ETH Sell 1 for 5 ETH What is E and how TX: Buy E from A and Sell E to B Pending TX many? Confirm TX 0.1 Gwei 0.2 Gwei Bot* Bot 43

  44. Our current progress - Last semester, one of the research in the lab developed a blockchain network that allows cross-chain exchange between Bitcoin and Ethereum - We got the task to survey current exchange, their vulnerabilities, and possible mitigations - The lab group we work with are designing the protocl for communications between TEE and Blockchain Network. 44

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend