From Smart Contracts to User Empowerment: Understanding the Magic Behind Decentralized Applications (DApps)