Bring a large stockpot of salted water to a boil over a high heat.
In a medium mixing bowl, combine the eggs and cream. Whisk until extremely well blended (the more incorporated the ingredients are, the smoother the sauce).
Warm a large sauté pan over a medium-low heat. Spread out the bacon or pancetta lardons evenly across the pan.
Gently turn the bacon with a wooden spoon until the cubes are lightly seared all over and golden around the edges, about 10 minutes. Remove the pan and drain the fat.
Remove a quarter of the bacon and reserve for garnish. Note that the pan will remain hot and continue to cook the bacon, rendering a little bit more fat.
Return the pan to the hob over a low heat. Add the shallots, and sauté for about 3 minutes. Add the butter and black pepper to taste. When the butter begins to froth, turn off the heat.
When the pasta water is boiling, add the spaghetti. Subtract 2 minutes from the cooking time recommended on the packet.
Drain the pasta, transfer it to the sauté pan with the butter, and place over a medium-low heat.
Using tongs, toss the pasta until completely and evenly coated, about 1 minute. Very quickly pour the egg mixture into the pan. Rapidly turn the pasta with the tongs until the eggs begin to slightly thicken. As the sauce thickens, continue to toss the pasta for 1 minute, or until the sauce firms.
Transfer the pasta and sauce to a large serving bowl. Add the grated parmesan cheese and toss. Garnish with the reserved bacon and serve.