Cover the beans with 3 inches of water in a large bowl and soak for 8 hours, then drain and rinse them.
Combine the soaked beans, 8 cups fresh water, ham hock, onion, garlic, bay leaf and paprika in a Dutch oven.
Bring to a boil, lower the heat and simmer partially covered until the beans begin to soften, about 75 minutes.
Stir in the salt and pepper and continue simmering until the beans are creamy inside and the broth has body, 45 to 75 minutes, adding hot water if the beans rise above the liquid.
Remove the ham hock, onion and bay leaf; pull the usable ham into small pieces and return it to the pot.
Mash 1/2 cup beans against the side of the pot, stir them back in and simmer for 5 minutes.
Finish with the vinegar and adjust the salt before serving.