Cluster Forking

Cluster forking occurs when one or more Arx nodes in a Cluster that previously unanimously agreed to admit a particular MXE to their Cluster (see the Admission of MXEs section) decide to then eject the MXE from their Cluster. This could occur for several reasons, including, for example, if the Arx nodes in the Cluster learn later that the MXE is engaging in illegal activity and therefore no longer want to participate in providing computational resources for this activity.

When one Arx node opts to eject a particular MXE from a Cluster that they are a member of, other nodes in the same Cluster have until the beginning of the next epoch to either join the node in ejecting the particular MXE or ignore the ejection and continue providing computational resources for the MXE. At the beginning of the next epoch, the Cluster will fork, at which time all of the Arx nodes that opted to eject the MXE must collectively pay (equally split between them all) for the creation of a new Cluster containing only the nodes that opted to continue supporting the particular MXE. The ejecting nodes must also collectively split the cost of migrating the MXE to this newly created Cluster. Once the fork has occurred, the responsibility to process computations for the particular MXE that was ejected shifts from the old Cluster over to the newly created Cluster. In this way, the old Cluster can continue, unaffected, providing computational support to other MXEs that were unrelated to the fork.

Last updated