Adjust an oven rack to the middle position, and preheat the oven to 350F. Grease an 8 x 8-inch square baking pan with 2-inch sides, and line the bottom with parchment paper.
In a medium bowl or liquid measuring cup, whisk the eggs, sour cream, milk, and vanilla.
In the bowl of a food processor, pulse the walnuts until finely ground.
In the bowl of a stand mixer fitted with a paddle, mix the flour, ground walnuts, sugar, baking powder, baking soda, and salt on low until combined. With the mixer running on low, add the butter one piece at a time, beating until the mixture resembles coarse sand. With the mixer still running on low, slowly add half the wet ingredients. Increase the speed to medium and beat until incorporated, about 30 seconds. With the mixer running on low, add the rest of the wet ingredients, mixing until just combined. Increase the speed to medium and beat for 20 seconds (the batter may still look a little bumpy). Scrape down the sides and bottom of the bowl, and use a spatula to mix the batter a few more times until completely combined.
Pour the batter into the prepared pan and smooth the top. Tap the pan gently on the counter 2 or 3 times to help get rid of any bubbles. Bake 23-28 minutes, rotating the pan halfway through, until the cake is golden brown and pulls slightly away from the sides and a wooden skewer or toothpick inserted in the centers comes out clean.
Transfer the cake to a wire rack and let cool for 30 minutes. Turn the cake out onto a half sheet pan lined with parchment paper, remove the parchment paper from the bottom of the cake, and let the cake cool completely upside-down (this will help deflate any doming). Once cool, the cake can be wrapped in plastic and refrigerated overnight or frosted. When ready, frost the cake with the buttercream and sprinkle with candied walnuts.