Place 6 chicken pieces in a bowl with 2 cups buttermilk. Cover and refrigerate for at least 2 hours, or overnight for best results.
In a separate bowl, mix 2 cups all-purpose flour, 1/2 cup cornstarch, 1 tablespoon paprika, 1 teaspoon garlic powder, 1 teaspoon onion powder, 1/2 teaspoon cayenne pepper (if using), 1 1/2 teaspoons salt and 1 teaspoon black pepper.
Remove chicken from buttermilk, letting excess drip off. Dredge each piece in the seasoned flour mixture, pressing lightly to adhere.
Heat vegetable oil in a deep skillet or fryer to 350°F (175°C). Fry chicken in batches for 12–15 minutes (depending on size), turning occasionally, until golden brown and cooked through (internal temperature 165°F / 74°C).
Remove chicken and drain on paper towels. Serve hot with your favorite sides like biscuits, coleslaw, or fries.