Preheat your oven to 350°F. Grease and flour two 9-inch round cake pans. In a large mixing bowl, combine flour, sugar, cocoa powder, baking powder, baking soda, and salt. Whisk until well mixed. Add eggs, milk, oil, and vanilla. Beat on medium speed for 2 minutes. Stir in boiling water. Pour into pans and bake for 30-35 minutes. Check with a toothpick for doneness.
While cakes bake, prepare chocolate ganache if desired. Chop chocolate and place in a heatproof bowl. Heat heavy cream until simmering, then pour over chocolate. Let sit for a minute, then stir until smooth.
For the mirror glaze, sprinkle gelatin over cold water and let bloom for 5 minutes. In a saucepan, combine sugar, cocoa powder, heavy cream, and water. Heat until dissolved, then bring to a gentle boil. Remove from heat and stir in bloomed gelatin. Allow to cool to room temperature.
Once cakes are cool, assemble by placing one layer on a serving plate. Spread ganache if using, then place the second layer on top. Frost sides if desired.
Pour cooled mirror glaze over the top of the cake, allowing it to drip down the sides. Let set for 30 minutes before serving.