Join or split nodes

Possible implementation:

  • take graceful exit,
  • make it „partial” (IIRC it’s a planned feature),
  • allow defining a specific target node for data migration, as opposed to nodes chosen by the satellite. Stripes where the target node also stores same-chunk stripes are not migrated.

Then:

  • joining nodes is a full graceful exit with one of the nodes defined as target + a full graceful exit to get rid of the same-chunk stripes,
  • splitting nodes is (1) creating a new node, (2) a partial graceful exit from the first node with the target being second node.

For consideration:

  • How does splitting/joining nodes affect vetting? IMO the simplest answer, “it doesn’t”, is good enough.
  • How does splitting/joining nodes affect held-out amounts? IMO the simplest answer, “it doesn’t”, might be good enough.

In both cases, as far as I understand, the only vector for abuse would be when a more vetted node/node after 15 months of operation receives data from more fresh nodes. But we already know this more vetted node can be trusted, so this should be a good thing from the perspective of the network?

On the other side, in the case of splitting nodes, SNO is effectively giving up on some of the benefits of having a long-trusted node, which might be a cost adequate to the cost induced by the graceful exit process on the satellite itself.

2 Likes