The spelling of /b/ is either <b> or <bb>. The /z/ sound is spelled <s>, <se>, <z> or <zz>.
The contrast is between a stop and a fricative, both voiced but well separated in the mouth so that confusions are unlikely.
Interesting pairs include
corbel causal
quibbling quisling
sibling sizzling
The mean density value is surprisingly low at 0.6%. The explanation would seem to be that both sounds can occur syllable-initial and syllable final, but there are relatively few words in English with a final /b/ (171 in this dictionary) whereas final /z/ is extremely common as a plural marker. Similarly, while /b/ as a word initial is found in nearly 1300 words, initial /z/ occurs less than 50 times. The list makes 57 semantic distinctions, a loading of 66%.
Abe A's B zee baa Tsar baas Tsars babble Basil babe baize babe bays bar Tsar bars Tsars barb baas barb bars barbel Basel bed Z beds Z's Ben Zen best zest bib biz blurb blurs bone zone boned zoned bones zones boning zoning boo zoo boos zoos boob boos boob booze boobed boozed boobing boozing booby boozy boobies boozes boom zoom boomed zoomed booming zooming booms zooms corbel causal cube Q's cube queues curb curs dabble dazzle dabbled dazzled dabbles dazzles dabbling dazzling daub daws deb Des describe descries dribble drizzle dribbled drizzled dribbles drizzles dribbling drizzling dub does Feb fez fib fizz fibbed fizzed fibbing fizzing glebe glees globe glows herb hers jab jazz jabbed jazzed jabbing jazzing jujube jujus knobble nozzle knobbles nozzles Kobe cosy labour laser labours lasers Lib Liz lobe lows lube lose ob oz orb awes orb oars probe pros quibbling quisling rabble razzle rebound resound rebounded resounded rebounding resounding rebounds resounds robe rose robin rosin robins rosins rubies ruses sibling sizzling sibyl sizzle sibyls sizzles tribe tries