Heat olive oil and butter in a large sauté pan over medium-high heat. Add the guanciale or pancetta and cook until the fat starts to render about 3 minutes. Then add the shallots and continue to cook until the shallots are translucent and the guanciale is browned and crispy, 3-4 minutes.
Add the wine, bring to a boil and cook until reduced by half, 1-2 minutes. Remove from heat while you cook the pasta.
Cook the spaghetti in a large pot of boiling salted water until al dente. Reserve 1/2 cup of the pasta water, then drain. Toss the hot pasta with the guanciale mixture. Remove the pan from the heat before adding the eggs.
Whisk the pasteurized egg yolks with the Pecorino Romano and black pepper. Whisk in a little of the reserved hot pasta water, then immediately toss the mixture with the hot pasta off the heat. Add more reserved water a little at a time, tossing until creamy. Do not boil the sauce. Serve immediately with extra Pecorino Romano, if desired.