Preheat the oven to 350 degrees, grease two 8-inch round cake pans, and set aside.
In a large mixing bowl, beat together eggs and sugar until pale yellow. Add in the vegetable oil, milk, and vanilla.
Slowly mix in the flour, cocoa powder, baking powder, baking soda, and salt until just combined.
Pour the batter evenly between the two cake pans. Bake for 25 minutes or until a knife comes out of each clean. Remove and allow to cool completely.
In a small saucepan or microwaveable bowl, heat the heavy cream until it reaches 180 degrees, stirring occasionally.
In another bowl, pour the heavy cream over the chopped chocolate pieces and stir until the chocolate is completely melted. Set aside and allow it to cool.
While the ganache is cooling, melt the chocolate for the chocolate flakes in a double boiler over hot water. Once completely melted and smooth, spread in a thin layer on an upside-down cookie sheet. Place it in the freezer for 2.5 minutes. Remove from the freezer and use a metal spatula to scrape the chocolate into flakes. Place the flakes in a bowl and return them to the freezer to prevent melting before use.
When the ganache is completely cooled, beat together the butter and 2 cups of powdered sugar until fully combined. Slowly beat in the ganache, but leaving enough behind to drizzle over the finished cake. Continue adding at least 2 more cups of powdered sugar, then ¼ cup at a time, until the desired consistency is reached.
Frost the first layer of the cake with the ganache frosting, then add the second layer on top and continue to cover the entire cake with frosting. Press the chocolate flakes on the sides of the cake until it is covered, then use any leftover ganache to drizzle over the cake. Serve immediately or refrigerate until ready to serve.