IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need. Unfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users. IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros. With IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user. In DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC.