Reduce storage / partial graceful "exit"

My understanding of the current in-progress graceful exit feature is that it only covers a total removal of a node.

Since the idea of Storj is to make use of unused storage, it would be nice to add a feature that allows the disk space used by storagenode to be reduced without leaving the network.

Example: Someone has allocated 2TB to the network and 1.5TB is used. This person now needs 1TB of that 2TB disk space back and would like to allocate only 1TB to the network, reducing the node’s storage usage by 0.5TB. This cannot currently be done; they need to execute a graceful exit, obtain a new identity, and set up a new 1TB node. Obviously this means going through the vetting process again and losing all existing monthly income.

When storagenode starts, it would be great if it would look at the amount of disk space the operator has requested to allocate to it (the STORAGE environment variable) and, if the consumed disk space is greater than this, have some mechanism to transfer excess pieces to other nodes without being penalized.

At the end of the process, the node’s storage would be full, but it would not need to start over from scratch or lose any funds in escrow.

1 Like

Partial exit is not yet implemented but it will be :soon:

1 Like

It is a one way ticket. If you call graceful exit you will unsubscribe from that satellite and never get any data from it. No way back.

In the design doc partial graceful exit as well as rejoining a satellite that was previously exited without having to start a new node is mentioned in the Business requirements:

When a Storage Node operator wants to reduce the amount of storage space they have allocated to the network I want them to have the ability to do a “partial graceful exit which would transfer some of the data they currently have onto other nodes so they have a way of reducing their storage allocation without just deleting data and failing audits.

  • In this situation the satellite will determine which pieces are removed from the node NOT the storage node.

When a Storage Node wants to rejoin the network I want them to have that ability so that they do not need to generate a new node ID via POW, go through the node vetting process, and so they can utilize their reputation.


Oh, neat. Glad to hear that this was thought of already.

1 Like