I'm lacking the technical knowledge to answer this question, but I would have thought it would be something within the realm of possibility, but since no one has ever done it yet, I guess I'm wrong and I would really like to know why.<p>My two cents: Wouldn't it be possible to just display ads in a sandbox environment invisible to the user and then display to the user an ad-free experience?
As someone that has developed ads before, not really.<p>I mean, anything is possible, but nowadays ads are hooked into all sorts of analytics software that determines how long an ad is on screen and things like that. You could try and implement something like what you're proposing, but it would show up as weird metrics on the advertiser's side.<p>Ads are already in a sandbox (iframe), so you could just make a little extension that sets iframes to display: none and give it a whirl if you wanted to test an MVP.
Whilst It won't be completely 100% undetectable, in practice I've found Pi-hole gets close to delivering the sort of browsing experience you are looking for.<p><a href="https://pi-hole.net" rel="nofollow">https://pi-hole.net</a><p>Rather than sandbox the ads, pihole simply kills the DNS request for the ad resources - unlike most ad blockers the vast majority of ad/tracking resources simply never reach your computer, eliminating the need to dump them into a sandbox. In practice I've found it works on preventing ads on most sites that otherwise detect ad blockers and put up a "nag wall". For me anyway it's been much more effective than the browser based solutions, and with none of the DOM manipulation overhead etc.<p>Also has really nice advantage of blocking ads on devices that don't support adblocker extensions - games consoles, tv streaming boxes etc.