Hi,
The Polkadot/Kusama Bounty payment system is currently set up in a way where each payment is assigned to a specific ChildBounty ID. However, this setup leads to a common situation where the duration it takes for a multisig to be signed and reach its threshold often leads to these pending ChildBounty IDs becoming obsolete. This happens because other ChildBounties, which have been approved while these are pending, take over their IDs.
To illustrate this, let’s imagine that Bounty 10 initiates a multisig transaction and picks up the first available ChildBounty ID, let’s say ID 133. This ID 133 is not marked as “taken” or “reserved” anywhere in the system. So, when another bounty, say Bounty 20, comes along and wants to issue its own multisig transaction, the system will show ID 133 as being available, as it doesn’t recognize it as being tied up in the pending transaction for Bounty 10. As a result, Bounty 20 also picks up ID 133 for its multisig transaction, leading to a conflict where only the first signed tx will be executed.
This current setup can lead to inefficiencies and confusion, as multiple bounties are essentially competing for the same pool of IDs, making it difficult to track the status of specific bounties.
As an alternative solution, it might be beneficial to assign each bounty its own unique set of IDs, separate from other bounties. This way, there would be no overlap or takeovers. Every bounty would have its unique identification, unaffected by the progress of other bounties. This could significantly improve the tracking and management of individual bounties, improving efficiency and reducing potential confusion in the bounty payment system.
A simple solution would be to use an 8-digit ID system, combining Bounty and ChildBounty IDs. The first four digits could be the Bounty ID, and the last four, the ChildBounty ID. This would provide each ChildBounty with a unique ID, removing overlaps and making tracking easier.
For the Bounty 20 and Childbounty 133 scenarios described above, a new ID is going to be 00200133
Do you think this approach could be an effective solution to our current challenge? I welcome any thoughts or suggestions you might have.
Thanks!