Place chickpeas in a large bowl, and add enough water to the bowl to cover the chickpeas (3 inches above the chickpeas). Let soak for 12 hours. This step is important for a smooth hummus, so no shortcuts please.
Drain and rinse the chickpeas and place them in a large pot. Cover them with water, and 4 inches more. Add baking soda, and bring to a boil over high heat. Continue cooking over medium-high heat for 1 and 1/2 hours until very soft. There's no need to cover the pot during cooking. If there's foam at the top, you can remove it with a spoon. Drain, and reserve 2 cups of of the chickpeas (to serve later with the hummus dish), and 3 cups of the cooking liquid (you won't need all of it, but just in case), and place them aside. Transfer the rest of the chickpeas to a food processor. Add 1/2 cup of the cooking liquid, and process until thick and smooth. It's best to let it cool to room temperature, but if you're short on time, you can proceed to the next step.
Add 1/2 cup tahini, lemon juice, garlic (if using), olive oil and salt to the food processor, and process until smooth. Add more cooking liquid or tahini for taste and a smooth, creamy texture. If the mixture is warm, it would get thicker once it's at room temperature, but once it's cooled, you can add more tahini or water to make it thinner (you won't have to use the food processor at that point, you can mix it by hand with a whisk.).
Serve warm or at room temperature. The hummus can be reheated gently over low heat.
Transfer hummus to serving dishes. Top with reserved chickpeas, and drizzle with some olive oil. You can sprinkle with a bit of cumin, paprika, or parsley. Hard boiled egg is another delicious addition.
Leftovers can be kept in an airtight container for 3 days in the fridge.