XREX has built and implemented Merkle Tree, an encrypted data structure encapsulating all user digital asset balances into hashes. The Merkle Tree contains encrypted records of all balances on XREX and is a secure, privacy-friendly data structure that allows XREXers to verify their balance.
A Beta Version for Proof of User Digital Asset Balance has been released on 30 December 2022 as a first report and the current version will only cover the user’s digital assets on the spot wallet. We will include fiat currencies and provide more detailed information in the later versions.
Merkle tree, also known as "Hash Tree" or "Merk Tree", is a digital signature technology based on a hash algorithm proposed in 1988 by Professor Ralph Merkle, the director of Georgia Institute of Technology Information Security Center.
Merkle Tree overview:
Leaf node is generated from your User ID and balance.
Nodes within your Merkle Tree branch is merged from 2 other nodes.
Root node, the most top node of the Merkle Tree is also propagated from 2 other nodes.
XREX will not expose the whole Merkle Tree and will shuffle the leaf nodes when generating the Merkle Tree report for privacy purposes. Each user shall only be able to see the nodes within their Merkle Tree branch to verify the validity of the root nodes. Please note that there will be some circumstances where you might not have a neighbouring leaf node.
Information such as hash, balance, user ID and salt ID (randomly assigned) will also be visible on each of the relevant nodes’ details however, such information shall be limited according to the characteristic of the nodes on the specific user’s report. For example:
User’s leaf node will show hash, balance, user ID and salt ID.
User’s neighboring leaf node will show hash and balance.
Nodes within user’s Merkle Tree branch will show hash, balance and children node’s data (left hash & balance, right hash & balance).
Users can verify the authenticity of this node’s hash via any third-party hash generator tool by copy-pasting the source string.
Please refer to the XREX GitHub for the source codes of our Merkle Tree algorithm. This includes the Merkle Tree algorithm and the type of source contents we used to generate the hash.