Sachverhalt: Sachverhalt: A. B._ wurde vom Bezirksgericht Zürich mit Urteil vom 22. August 2001 der Widerhandlung gegen das BetmG schuldig gesprochen. Er legte gegen dieses Urteil Berufung ein. Das Obergericht des Kantons Zürich, I. Strafkammer, bestätigte den Schuldspruch am 6. Dezember 2001. A. B._ wurde vom Bezirksgericht Zürich mit Urteil vom 22. August 2001 der Widerhandlung gegen das BetmG schuldig gesprochen. Er legte gegen dieses Urteil Berufung ein. Das Obergericht des Kantons Zürich, I. Strafkammer, bestätigte den Schuldspruch am 6. Dezember 2001. B. B._ zog diesen Entscheid mit kantonaler Nichtigkeitsbeschwerde an das Kassationsgericht des Kantons Zürich weiter. Er beantragt die Aufhebung des Urteils des Obergerichts, da an der Verhandlung vom 6. Dezember 2001 ein Ersatzoberrichter mitgewirkt habe, der zugleich juristischer Sekretär und Kanzleivorstand in der I. Strafkammer des Obergerichts sei. Das Kassationsgericht des Kantons Zürich trat auf die Nichtigkeitsbeschwerde am 31. März 2003 nicht ein. Das Kassationsgericht des Kantons Zürich trat auf die Nichtigkeitsbeschwerde am 31. März 2003 nicht ein. C. B._ führt mit Eingabe vom 23. Mai 2003 staatsrechtliche Beschwerde an das Bundesgericht und beantragt die Aufhebung des Beschlusses vom 31. März 2003. Mit separater Eingabe vom 23. Juni 2003 stellt B._ das Gesuch um Gewährung der unentgeltlichen Rechtspflege. Das Kassationsgericht, das Obergericht und die Staatsanwaltschaft des Kantons Zürich sprechen sich für Abweisung der Beschwerde aus. Das Kassationsgericht, das Obergericht und die Staatsanwaltschaft des Kantons Zürich sprechen sich für Abweisung der Beschwerde aus. D. Das Gesuch von B._ vom 1. Juli 2003, es sei der staatsrechtlichen Beschwerde die aufschiebende Wirkung zuzuerkennen, wurde am 15. Juli 2003 gutgeheissen. 