  Smart grids leverage data from smart meters to improve operations management
and to achieve cost reductions. The fine-grained meter data also enable pricing
schemes that simultaneously benefit electricity retailers and users. Our goal
is to design a practical dynamic pricing protocol for smart grids in which the
rate charged by a retailer depends on the total demand among its users.
Realizing this goal is challenging because neither the retailer nor the users
are trusted. The first challenge is to design a pricing scheme that
incentivizes consumption behavior that leads to lower costs for both the users
and the retailer. The second challenge is to prevent the retailer from
tampering with the data, for example, by claiming that the total consumption is
much higher than its real value. The third challenge is data privacy, that is,
how to hide the meter data from adversarial users. To address these challenges,
we propose a scheme in which peak rates are charged if either the total or the
individual consumptions exceed some thresholds. We formally define a
privacy-preserving transparent pricing scheme (PPTP) that allows honest users
to detect tampering at the retailer while ensuring data privacy. We present two
instantiations of PPTP, and prove their security. Both protocols use secure
commitments and zero-knowledge proofs. We implement and evaluate the protocols
on server and edge hardware, demonstrating that PPTP has practical performance
at scale.
