  Ad and tracking blocking extensions are popular tools for improving web
performance, privacy and aesthetics. Content blocking extensions typically rely
on filter lists to decide whether a web request is associated with tracking or
advertising, and so should be blocked. Millions of web users rely on filter
lists to protect their privacy and improve their browsing experience.
  Despite their importance, the growth and health of filter lists are poorly
understood. Filter lists are maintained by a small number of contributors, who
use a variety of undocumented heuristics to determine what rules should be
included. Lists quickly accumulate rules, and rules are rarely removed. As a
result, users' browsing experiences are degraded as the number of stale, dead
or otherwise not useful rules increasingly dwarf the number of useful rules,
with no attenuating benefit. An accumulation of "dead weight" rules also makes
it difficult to apply filter lists on resource-limited mobile devices.
  This paper improves the understanding of crowdsourced filter lists by
studying EasyList, the most popular filter list. We find that EasyList has
grown from several hundred rules, to well over 60,000 rules, during its 9-year
history. We measure how EasyList affects web browsing by applying EasyList to a
sample of 10,000 websites. We find that 90.16% of the resource blocking rules
in EasyList provide no benefit to users in common browsing scenarios. We
further use our changes in EasyList application rates to provide a taxonomy of
the ways advertisers evade EasyList rules. Finally, we propose optimizations
for popular ad-blocking tools, that allow EasyList to be applied on performance
constrained mobile devices, and improve desktop performance by 62.5%, while
preserving over 99% of blocking coverage.
