Two-Layer Dynamic Tree Structure
Since each FreeID is unique in the network and each ID corresponds to a unique data resource in Dapp, it does not provide enough flexibility for use between multiple accounts when users have multiple network addresses or multiple addresses in the same network. Therefore, Freedom implements a Two-Layer Dynamic Tree structure to unify the management of multiple social accounts. A Two-Layer Dynamic Tree structure is a structure that scales both horizontally and vertically indefinitely and provides a simpler approach and additional flexibility over traditional tree structures. all binding results are dynamically updated to form a two-level binding relationship with only the root and child nodes under the two-layer dynamic tree structure.
As shown in the figure below, for example, the current node B is a child of node A and now node A extends a node C upward, which will first check the child nodes owned under node A and unbind the binding relationship with the child nodes, and finally rebind nodes A and B as child nodes to the root node C.
Further, now Node C wants to extend a Node D upwards, Node D extends a Node E with the current binding status, check the child nodes under the Node C and unbind them, Node D acts as the root node and binds child Nodes C, A, B, and so on, and finally Node E becomes the root node of nodes D, A, C, B.