Try   HackMD

Ethereum Protocol Fellowship 10th week update

Self Introduction

I’m a PhD student in Syracuse University in Blockchain security area, and now working on the Ethereum Mempool Attack Detection&Defence. Very excited joining in the fellowship and make some contribution to the Ethereum Portocol.

Progress

As I finished the first part of the defense and test it successfully on the mainnet, I started to dive into the more general way of Dos Attack defense which can make the codes more ellegent and easy to read and can save time and space cost.

For now, here is the strategy to mitigate ADAMS attacks. The idea is to enforce that a valid transaction always has a higher priority in admission than an invalid transaction, despite their prices. Figure belw depicts the priority among transactions of different types, that is, parent valid transactions, child valid transactions and invalid transactions (including future and latent-overdraft transactions). Only among transactions of the same type, price-based priority is enforced. We call it validity-first admission priority.

We enforce validity-first priority by two proposed admission policies:

a) An admission-success proposal, that is, tx', S':=admit(tx,S)AND((tx!=tx')AND(S!=S')), is approved only when it meets the following two conditions:
First equation means for any transaction tx admitted to a mempool S, the priority of tx' in S must not be lower than the priority of tx in S'.
Second equation means that for any transaction tx admitted to a mempool S that evicts or replaces tx', the priority of tx'’s child transactions {tx''}in end state S0 must not be lower than the priority of {tx''} in the initial state S.
b) An admission-failure proposal, that is, tx', S' :=admit(tx,S)AND((tx=tx')AND(S=S')), is approved only when it cannot find tx' or {tx''} in S, such that S'=S\tx', S''=S'{tx''}, and both equations above hold.