For the Crust:
1 cup all-purpose flour
¼ cup granulated sugar
2 tablespoons confectioners' sugar
¼ teaspoon salt
1 stick (8 tablespoons) unsalted butter, cut into small pieces and chilled
1 large egg yolk, lightly beaten
For the Filling:
1/3 cup granulated sugar
3 tablespoons water
1½ cups salted peanuts
1½ cups dulce de leche
For the Topping:
7 ounces bittersweet chocolate, finely chopped
½ stick (4 tablespoons) unsalted butter, cut into 8 pieces, at room temperature
1. Center a rack in the oven and preheat the oven to 350 degrees F. Butter an 8-inch square pan and put it on a baking sheet.
2. To make the crust, toss the flour, granulated sugar, confectioners' sugar and salt into a food processor and pulse a few times to combine. Toss in the pieces of cold butter and pulse about 12 times, until the mixture looks like coarse meal. Pour the yolk over the ingredients and pulse until the dough forms clumps and curds - stop before the dough comes together in a ball.
3. Turn the dough into the buttered pan and gently press it evenly across the bottom of the pan. Prick the dough all over with a fork and slide the sheet into the oven.
4. Bake the crust for 15 to 20 minutes, or until it takes on just a little color around the edges. Transfer the pan to a rack and cool to room temperature before filling.
5. To make the filling, have a parchment or silicone mat-lined baking sheet ready, as well as a long-handled wooden spoon. Put the granulated sugar and water in a 2-quart saucepan and cook over medium-high heat, stirring, until the sugar dissolves. Keeping the heat fairly high, continue to cook the sugar, without stirring, until it just starts to color. Toss in the peanuts and immediately start stirring. Keep stirring, to coat the peanuts with the sugar. Within a few minutes, they will be covered with sugar and turn white - keep stirring until the sugar turns back into caramel. When the peanuts are coated with a nice deep amber caramel, remove the pan from the heat and turn the nuts out onto the baking sheet, using the wooden spoon to spread them out as best you can. Cool the nuts to room temperature.
6. When they are cool enough to handle, separate the nuts or break them into small pieces. Divide the nuts in half. Keep half of the nuts whole or in large pieces for the filling, and finely chop the other half for the topping.
7. Spread the dulce de leche over the shortbread base, leaving a ½-inch border around the edges. Sprinkle the whole candied peanuts over the dulce de leche.
8. To make the topping, melt the chocolate in a heatproof bowl set over a saucepan of barely simmering water or in a microwave, using a low power setting. Remove the chocolate from the heat and gently stir in the butter, stirring until it is fully blended into the chocolate.
9. Pour the chocolate over the dulce de leche, smoothing it with a long metal icing spatula, then sprinkle the finely chopped candied peanuts on top. Place the pan in the refrigerator to set the topping, about 20 minutes; if you'd like to serve the squares cold, keep them refrigerated for at least 3 hours before cutting.
10. Cut into 16 bars. Store covered for 2 days at room temperature, or refrigerate for 5 days.