For the chocolate layer: In a bowl, whisk together the milk and pudding mix and allow to firm up according the instructions on the box.
For the marshmallow layer: In a stand mixer, blend the marshmallow and whipped topping until smooth.
For the layers: Line the bottom of an 8-by-8-inch dish with graham crackers, breaking them up if needed to make a single layer. Spread half of the chocolate pudding evenly over the crackers. Add another layer of the crackers to the dish and cover evenly with half of the marshmallow mixture. Repeat these layers ending with the marshmallow mixture on the top. Sprinkle with the shaved chocolate and refrigerate at least 4 hours before cutting and serving.