Nowadays, the adoption of demand response programs is still lagging due to the prosumers’ lack of awareness, fear of losing control and privacy of energy data, etc. Programs decentralization, by adopting promising technologies such as blockchain, may bring significant advantages in terms of transparency, openness, improved control, and increased active participation of prosumers. Nevertheless, even though in general the transparency of the public blockchain is a desirable feature in the energy domain, the prosumer energy data is sensitive and rather private, thus, a privacy-preserving solution is required. In this paper, we present a decentralized implementation of demand response programs on top of the public blockchain which deals with the privacy of the prosumer’s energy data using zero-knowledge proofs and validates on the blockchain the prosumer’s activity inside the program using smart contracts. Prosumer energy data is kept private, while on the blockchain it is stored a zero-knowledge proof that is generated by the prosumer itself allowing the implementation of functions to validate potential deviations from the request and settle prosumer’s activity. The solution evaluation results are promising in terms of ensuring the privacy of prosumer energy data stored in the public blockchain and detecting potential data inconsistencies.