PREP: Preheat the oven to 350 degrees F. Grease three 8-inch round cake pans generously with nonstick cooking spray. Line the bottom of the pans with parchment paper (Note 3), and then spray the parchment paper with the nonstick spray. Set pans aside.
WET INGREDIENTS: In a medium bowl, whisk together the buttermilk, oil, and vanilla.
DRY INGREDIENTS: In the bowl of a stand mixer fitted with the paddle attachment, mix together the flour, granulated sugar, cocoa powder (Note 1), baking soda, baking powder, and salt. With the mixer on low speed, add the buttermilk/oil mixture. Add the eggs, one at a time, and mix until well combined. Slowly add in the hot water (hot water "blooms" the cocoa powder, making it more flavorful) and stir just to combine, stopping to scrape down the sides of the bowl with a spatula before mixing briefly again. Do not overbeat or overmix the batter or it will become dense.
BAKE: Divide the batter evenly among the three prepared pans and bake for 24 to 28 minutes, or until a cake tester comes out clean when inserted into the centers of the cakes. (My cakes are always done at 24 minutes).
COOL: Set the cakes on wire cooling racks to cool in the pans for 30 minutes. Remove the cakes to the racks to cool completely. (You can refrigerate or freeze the cakes at this time.) Do not frost cakes until they are completely cooly.
BUTTERCREAM: In the bowl of a stand mixer fitted with the paddle attachment, beat the butter until creamy and lighter in color, about 3 minutes. Scrape down the bowl halfway through. Add the confectioner’s sugar (2 cups at a time) and then the cocoa. Mix on low speed until just incorporated. Pour in the chocolate milk, vanilla, and salt. With the mixer on low speed, add the melted chocolate. Mix for an additional 2 to 3 minutes, until the buttercream is light and fluffy.
ASSEMBLE: If the cake layers are slightly domed on top, carefully level them off with a sharp serrated knife or cake leveler. To build the cake, place a tiny bit of frosting in the center of your cake stand (to keep the cake from sliding). Then place the first layer, bottom side up, on a flat plate or cake pedestal. Using a knife or offset spatula, spread the top of the cake evenly with buttercream. Place the second layer on top of the first, top side up, and spread more buttercream evenly over the top. Repeat with the third layer and frost the top and sides of the cake. Decorate with chocolate shavings, sprinkles, or chocolate chips, if desired. Slice and serve.
BREAKING UP THE PROJECT: Since this is a bigger undertaking than many desserts, you can break up the project by making the cakes in advance. I like to do this so the cake has time to chill, which makes frosting easier. Carefully wrap the cooled cake layers in plastic wrap and refrigerate for up to 2 days. You could also freeze them, wrapped in plastic wrap, for up to 1 month. Defrost before frosting and assembling.