IPv6 full Support again

I can definitely agree that the situation is frustrating. It’s also frustrating for a lot of us who are engineers on the project. We designed the system from the beginning to support IPv6; there wouldn’t be any need to rewrite software to enable it. Some satellites have had IPv6 endpoints already.

I expect you’ve already heard this before, but for the sake of someone else reading the thread: the main thing stopping us from moving to another cloud provider and enabling IPv6 everywhere is that we would need to make it a requirement for all nodes. All nodes would need to handle both IPv6 and IPv4 requests, because the nodes are part of the server side of the service, not the client side. The client side can have the benefit of choice- whichever protocol works better for their own setup. But the server side has to support both. Look through your list of providers: Akamai, Cloudfront, Azure, Cloudflare, Fastly. All of them support both IPv6 and IPv4 on the server side, because they would lose over half of their traffic and revenues if they went IPv6-only. No one expects them to go IPv6-only at this point.

Now imagine that a third of Storj nodes supported only IPv4, one-third supported only IPv6, and the other third supported both. A Storj client using IPv6 comes along and asks for an object. It gets a list of pieces and the addresses where they can be fetched, but it can only retrieve 2/3 of them. Is that enough? It would be sometimes, but not all the time. We’d have to retune the redundancy parameters in order to guarantee that 2/3 of online pieces is good enough 99.999% of the time–and more redundancy would mean lower payouts for node operators. A Storj client using IPv4 would have the same problem. To make it worse, we likely wouldn’t end up with a nice balance between IPv6-enabled and IPv4-enabled nodes, so we’d have to support some fraction smaller than 2/3, for whichever side ends up smaller.

But! Say we did that work, and required all nodes to support both protocols. Is everyone happier? No, because most of the people who want to ditch IPv4 are node operators, not users of the Storj service. We’ve ended up making things strictly harder for node operators.

We are in full agreement that this is an unfortunate and frustrating situation. If our failure to support v6 has driven you away, I’m sad to see you go but I can respect the decision.

10 Likes