This is an interesting article, but it contains some rather surprising innumeracy in its cavalier comparison of 2^128 to the number of grains of sand in the earths crust. 2^128 is an enormous number, roughly 3.4e38:
2**128 = 3.4 * 10**38
grains of sand to one mile down [1] = 5.1 * 10**26
stars in the observable universe [2] = 7.0 * 10**22
estimated grains of sand [2] = 7.5 * 10**18
This means that every star can have 100 planets (equals 7e24 planets) each with 50 trillion IPv6 addresses.
[1] [http://www.teracomtraining.com/tutorials/teracom-tutorial-IP...]
[2] [http://www.npr.org/blogs/krulwich/2012/09/17/161096233/which...]