Prepare an ice bath; set aside. In a small bowl, combine cornstarch, 2 tablespoons sugar, and salt. Whisk eggs in a separate bowl until smooth; whisk in cornstarch mixture.
Combine milk, remaining sugar, and vanilla-bean scrapings in a medium saucepan. Bring to a boil over medium-high heat. Slowly pour milk into egg mixture, whisking constantly.
Return mixture to saucepan set over medium-high heat. Bring to a boil, whisking constantly, until thickened, about 2 minutes. Remove pan from heat, and transfer mixture to a medium heat-proof bowl.
Whisk in butter and vanilla extract. Set bowl in ice bath, stirring occasionally, until chilled. Serve pudding with chocolate shavings on top, if desired.
This pudding can be made up to a day before serving and allowed to chill, covered, in the refrigerator.