Evolution of decentralized applications