Chance to Block = [Block% * (Dexterity - 15) ]/ (2 * Character_Level)
in your case (
0x118) / (2x38) =
0get a barbarian only shield on and you will get a base of
1%ctb -> (1x118) / (2x38) = 1.5 ctb
the barbarian has 0% ctb by default , so that tower shield you got on it's not helping , as it only provides class chance to block . replace it asap with a gilded shield
if you want a decent/max block chance without going full dexterity , get a 2% ctb shield (1%+1%) starting with the mid game . using the formula above , you will need just 2265 dexterity for max block at level 120 ( example :
https://imgur.com/c2hZCm8 )