In a large saucepan or small Dutch oven, cook the bacon over medium heat until the fat renders and the bacon is cooked, about 5 minutes. Add the onion and cook until the onion softens, about 5 more minutes. Add the garlic and cook for another minute. Add the beef and cook until no longer pink. Raise the heat to medium-high, deglaze with the beer, and allow to bubble and boil for 2 to 3 minutes. Add the beans, tomato sauce, crushed tomatoes, chili powder, red pepper flakes, cocoa, and salt. Stir to combine well. Simmer for 30 minutes, or more, and serve with sour cream, shredded cheese, and chopped scallion, if desired.