This document describes a distributed storage system called UniversalDistributedStorage. It discusses distributed computing principles like data hashing, replication, and leader election. UniversalDistributedStorage uses consistent hashing to store data across servers and replicates data for fault tolerance. It elects leaders using the Bully algorithm and synchronizes data asynchronously across multiple masters. The system aims to provide distributed transactions, data independence, fault tolerance and transparency.