Repair node operator

This idea has been discussed a few times, but it’s quite complex to verify that an untrusted node does repair correctly.

The node would have to prove that it recreated the correct (encrypted) segment data. And even if that’s done, it would have to prove that it created valid RS pieces for that segment and those are now securely stored on new nodes.

Right now creating RS pieces and distributing them is always done by a trusted entity with a stake in keeping the data save. Either the uplink or the satellite. Doing this in a way that is independently verifiable is simply not built in yet. I tackled doing distributed audits a while ago. Distribute audits across storagenodes

That was already very complex and ended up being barely viable. If at all.

Repair is even more complex.

Technically you could have a node do a repair and then follow it up by auditing a stripe of the segment. Either by the satellite itself or using my suggested distributed method.
If the satellite itself does this it needs to know what pieces are original and trusted and check the other pieces against that. Otherwise the repair could create valid RS pieces, but not for the actual segment data.
The same goes for the distributed method. Nodes should then also be compensated at least a little bit for doing that work. Since more work needs to be done to ensure independent validation the pay for an equal amount work has to be significantly less than what they pay for their repair workers right now.

The upside of that would be avoiding the larger data exchange that repair would require and related egress bandwidth. But the downside is that at least some of that now has to go to nodes and a lot of added complexity. Additionally, the added audits steps would slow down the speed of repairs. Especially if audits are distributed as well, which might be necessary due to the scale and amount of audits this would trigger. And since repair has now been moved to separate much cheaper repair workers, I don’t know if the savings would still be worth it.

I’d love to hear some other ideas on how to tackle this though.

2 Likes