principles of decentralized computing systems 3101238