No Audit Traffic and No Repair Traffic?

Just a note from my end on how vetting currently works. There is a set percentage of total traffic that goes to nodes in vetting state. Meaning x% of traffic goes to unvetted nodes, no matter how many unvetted nodes there are. This system tends towards unbalance.

If vetting is slightly too fast, nodes get vetted quickly and the number of unvetted nodes goes down, causing more data to be sent to unvetted nodes and speeding up the process even more.

If vetting is slightly too slow, it takes longer to vet nodes and the number of unvetted nodes tends to pile up, meaning they receive less data slowing down vetting even further.

No fixed setting is going to fix this. The system needs to change.

There was an issue on GitHub for this and it seemed Storj Labs recognized a bigger change was needed. I posted a suggestion that would have prevented this, but they went with a stop gap solution of just lowering the percentage, which flipped the balance to the too slow side.

Link: Need to retune % of data going to unvetted nodes · Issue #6011 · storj/storj · GitHub

Suggestion: Create a satellite setting to set the % of normal node ingress an unvetted node should get. Calculate the number of pieces to go to unvetted nodes by: (nUnvettedNodes / nTotalNodes) * unvettedTraffic% * nPiecesToSelect
This won’t usually be a whole number. In fact, in the future this will likely be below 1. To resolve that, round that number down and generate a random number between 0 and 1. If that number is below the remainder, add 1 to the rounded down number of unvetted nodes to select.

Using this method an unvetted node would always get x% of the amount of traffic a vetted node would get. And it would remove the impact of the amount of unvetted nodes on the speed of vetting. Though I do realize now that there still needs to be a maximum to ensure not too many pieces per segment go to unvetted nodes. So maybe use the dynamic calculation as long as the result is below 5 (that should probably be a satellite setting too)?

1 Like