A practical study of regenerating codes for peer-to-peer backup systems