In order to remove the chicken-and-egg problem described in https://github.com/consensus-shipyard/ipc-actors/pull/96 we send some initial funds to the initial validators in a subnet. The issue is that if we spawn a subnet with just one validator, and we join from another validator, the second validator won't have any funds to submit top-down checkpoints, and as a super-majority is required to commit the checkpoint, there won't be any way for the joining validator to inject funds in the subnet to submit top-down checkpoints, stalling the checkpoint submission of top-down checkpoints for the subnet.
Initial Proposal
This PR was an attempt to introduce a work-around where some initial funds are also sent to joining validators when the number of validators is below 3, to prevent joining validators from not being able to submit a checkpoint for lack of funds. A more robust solution should be considered like using https://github.com/consensus-shipyard/ipc-actors/issues/91 or some kind of checkpoint submission subsidising system, because the above mentioned PR would lead to a simple attack where a validator could drain all the funds from the gateway.
Background
In order to remove the chicken-and-egg problem described in https://github.com/consensus-shipyard/ipc-actors/pull/96 we send some initial funds to the initial validators in a subnet. The issue is that if we spawn a subnet with just one validator, and we join from another validator, the second validator won't have any funds to submit top-down checkpoints, and as a super-majority is required to commit the checkpoint, there won't be any way for the joining validator to inject funds in the subnet to submit top-down checkpoints, stalling the checkpoint submission of top-down checkpoints for the subnet.
Initial Proposal
This PR was an attempt to introduce a work-around where some initial funds are also sent to joining validators when the number of validators is below 3, to prevent joining validators from not being able to submit a checkpoint for lack of funds. A more robust solution should be considered like using https://github.com/consensus-shipyard/ipc-actors/issues/91 or some kind of checkpoint submission subsidising system, because the above mentioned PR would lead to a simple attack where a validator could drain all the funds from the gateway.
Update
This would be solved by https://github.com/consensus-shipyard/ipc-actors/issues/104