# Asynchronous Ratcheting Tree and modern group key agreements: Why left balanced-tres used?

Nowadays the group key agreements are based upon tree-based ones such as Asynchronous Ratcheting tree. Especially the latter one is constructed upon left-balanced tree.

So I keep wondering what benefits has a left-balanced tree from any other binary tree structure to this application?

In the asynchronous ratchet tree construction, intermediate group keys are constructed at each leaf of the tree. It's important that all parties agree on the exact structure of the tree so that they will all derive the same keys. An array is the canonical representation of an ordered list of items, and that array can be viewed as a binary tree. An array of length $$2^n$$ corresponds to a complete binary tree, while an array of any other length corresponds to a left-balanced binary tree.