30 pin 4 digit display

You can not connect the two ground pins directly to the arduino pins or the shift register pins. This is because they carry the current for a whole bunch of segments. This is too much and so needs buffering with a transistor.
What value of resistors are you using for each segment? Do not say you are not using resistors please.