— In information theory, it has been shown that network coding can effectively improve the throughput of multicast communication sessions in directed acyclic graphs. More practically, random network coding is also instrumental towards improving the downloading performance in BitTorrent-like peerto-peer content distribution sessions. Live peer-to-peer streaming, however, poses unique challenges to the use of network coding, due to its strict timing and bandwidth constraints. In this paper, we revisit the complete spectrum in the design space of live peer-to-peer streaming protocols, with a sole objective of taking full advantage of random network coding. We present R2 , our new streaming algorithm designed from scratch to incorporate random network coding with a randomized push algorithm. R2 is designed to improve the performance of live streaming in terms of initial buffering delays, resilience to peer dynamics, as well as reduced bandwidth costs on dedicated streaming servers, all o...