Describe the Bug
In current version, when bonding a worker node, it will only check if the node uri is online, and the current node uri has been used or not. But if the node uri is online and not been used before, it can be used for bonding neglect the real status of the worker nodes.
To Reproduce
If you can ping a false node with xxx:9151 URI, and use it to bond any fresh worker account to a fresh staker account. You will succeed. But this nodes is not runing at all.
Suggestion to fix it
Add a checking mechanism: when the backend server ping the node, the node need to return a signature which is signed by the worker account, the message is the node uri. Then when server check the signature, it can check if this worker is running with specific URI. This is one suggestion, maybe we can discuss it with other possibility to fix it.