There's a project called SCION [1] that (among other things) does roughly this. In essence, participants announce their presence over a multicast-type protocol, and in order to send packets to anyone, you must have received a recent announcement from them.
It's a quite fascinating re-imagination of the Internet, solving many of its problems (and probably introducing a whole slew of new ones).