My estimate of non-zero-balance addresses was wrong, what's required is a summary of unspent transaction outputs, with is a superset of addresses. Still, serializing UxO into a summary will require a lot less space than the full blockchain, and should still be able to be defined in such a way that the actual summary block never needs to be passed around, except to be generated specifically to bootstrap a client.