marmarachain / marmara

This is the main repository for Marmara Credit Loops Smartchain containing the open source CC Files.
https://marmara.io/
Other
16 stars 9 forks source link

Nodes ban each other due to autosettlement transactions treated as incorrect #33

Closed dimxy closed 1 year ago

dimxy commented 1 year ago

Marmara nodes periodically create and broadcast loop settlement transactions when loops reach the maturity state. Such transactions are broadcasted over the blockchain like ordinary transactions. Each node receiving such a transaction validates it before placing into its mempool. One of the rules is whether the settlement transaction is mature (an allow to be settled). However if a node is not fully in sync it may not validate the transaction yet and reject it. In this case the node bans the remote node although this situation is normal. When there are many such bans the network may become partitioned and forks can appear. The solution can be not to ban nodes when the not yet mature transaction error is received. Most likely this should prevent forks which may appear in the marmara chain without explicit reason