Place oven rack in the middle position and preheat oven to 350. Prepare two 8" square pans with cooking spray and line with parchment paper.
Whisk flour, baking soda, and salt in a bowl. In a small bowl, whisk the cocoa powder and the hot water until smooth. In a stand mixer fitted with a paddle attachment beat the butter and sugar until light and fluffy, about 3 minutes. Add the eggs 1 at a time and mix until incorporated. Add flour mixture in 3 additions, alternating with the buttermilk. Mix until combined. Reduce speed and slowly add the cocoa/water mixture and the vanilla, until incorporated.
Divide the batter evenly between the 2 pans. Bake about 25-30 minutes or until a toothpick inserted in the center comes out with a few crumbs attached. Cool the cake in the pan for 15 minutes, then turn out to cool on a rack.
Frosting:
Sift together the powdered sugar and the cocoa. Set aside. Heat 4 tablespoons butter, brown sugar, salt, and 1/2 cup of half and half in a large saucepan over medium-low heat, stirring occasionally until bubbles occur around the edges. About 4-8 minutes. Reduce heat to low and simmer, stirring frequently until the mixture thickens and turns golden brown about 8-10 minutes. Transfer the mixture to a large bowl and add 4 pieces of butter, stir well then add the remaining half and half with the other ingredients. Add the chopped chocolate and vanilla, then stir until smooth. Slowly whisk in the cocoa/powder sugar until incorporated. Cool to room temperature, stirring occasionally. Then refrigerate for 30-40 minutes until frosting reaches desired consistency.
Assembly:
Place 1 layer of cake on a platter, spread a cup of frosting over the surface. Add second layer and the frost the rest of the cake. Can be stored at room temperature or in the refrigerator. Serve and enjoy.