Grease a 9x13-inch cake pan with butter. Cover the bottom of the pan with parchment paper. Preheat the oven to 350 degrees.
In a large pot, over medium heat, pour the water, stir in the cocoa and add the butter. Let it heat for a few minutes, stirring now and then, until it all dissolves. Remove the pot from the heat.
In another bowl, combine the flour, sugar, salt, baking soda and baking powder. In another, beat the eggs and combine them with the sour cream.
In turns, add a quarter of the flour mix and then a quarter of the sour cream mix at a time into the pot with the cocoa mixture; stir with a spatula, mixing all of the ingredients as you move along. Pour onto the greased cake pan and place in the oven for 25 to 30 minutes, or until a toothpick inserted in the center comes out barely moist but not wet.
Take the cake out of the oven and let it cool a bit while you prepare the frosting.
To prepare the frosting:
In a saucepan, over medium heat, pour in the milk and the vanilla. Stir in the cocoa and add the butter. Heat and stir until everything is all dissolved and combined. Remove from the heat and stir in the confectioners' sugar. Thoroughly mix with a spatula and set aside.
Run the tip of a knife around the edges of the cake. Turn the cake onto a platter and gently remove the parchment paper. Pour the still-warm frosting over the cake and gently spread it out with a spatula. If you wish, you may add sprinkles of your choice before the frosting hardens (NOTE: The cake is soft and moist the first couple days, then hardens like a brownie afterwards if left uncovered-- perfect for packing in school lunches).