In a large bowl, sift together the flour, cocoa, cornstarch, baking powder, baking soda and salt. Whisk together and set aside.
In a separate large bowl, beat together the butter, granulated sugar and brown sugar until combined and no lumps of butter remain. Turn off the mixer and scrape down the sides of the bowl to ensure that there is no butter stuck to the butter.
Beat the eggs and vanilla into the butter mixture. Turn off the mixer and scrape down the sides and bottom of the bowl.
With the mixer on a low speed, mix the flour mixture into the butter mixture. I typically do this about 1/2 at a time. The dough will be thick.
Cover the bowl and refrigerate for at least 2 hours or up to 48 hours.
When ready to bake, preheat the oven to 375℉ (190℃). Line cookie sheets with parchment paper.
If the dough has been in the fridge overnight, let it sit on the counter for about 10 minutes first so that it's easier to work with. Form the dough into balls with about ¼ to ⅓ of dough each. I use a scale to weigh mine - each was 3½ ounces or about 100 grams. Place dough balls at least 2½ inches apart on the lined cookie sheets.
Bake 1 sheet at a time in the middle of the preheated oven. The cookies will bake for about 12-14 minutes or until the tops look set.
For perfectly round cookies, use a large biscuit cutter or large cup (anything round and large than the cookies) to mold the cookies into perfectly round circles. When the cookies come out of the oven (still on the cookie tray) take the biscuit cutter and place it around the cookie. Gently make a circular motion with the biscuit cutter to mold the cookie into a round shape. Note: You are not cutting the cookie into a circle.
Let the cookies cool on the cookie tray for at least 15 minutes before transferring to a wire cooling rack.