How can I zero out only the USED space on a storage drive?

I have a large drive (4TB) that I’ve only written a few gigabytes to. I’m giving it to a friend, so I’d like to zero it out. I know I can zero out the whole drive with dd, but I’d like to know if:

  1. zeroing only the non-zero bits will be faster, and
  2. if so, how to go about doing that.

EDIT: I trust my friend and there’s nothing sensitive on the drive anyway, so no worries if zeroing isn’t a bullet-proof method of erasing.