For dried chickpeas: Soak the chickpeas overnight in water. Drain, and place chickpeas in a pot and add fresh water to cover by at least one inch, gently rub the chickpeas against each other with your hands. Bring the chickpeas to a boil with a pinch of salt, skim the surface, then lower the heat and simmer until the chickpeas are tender, about 1 1/2 hours.
For canned chickpeas: Rinse the chickpeas, then place in a saucepan with water to cover by one inch. Put your hands in the pot and gently rub the chickpeas against each other. Place saucepan on the stove and bring to a boil and simmer until chickpeas are very soft: test a chickpea by squeezing it between your fingers, it should smush easily, this could take between 5 and 20 minutes. Remove from the heat, skim off any chickpea skins that have floated to the surface and discard them.
Place the garlic and salt in a food processor and pulse to chop. Add the tahini and lemon juice and process until the mixture is slightly whitened and contracted. Use a slotted spoon to transfer the chickpeas to the processor (don't discard the cooking liquid) and process until very smooth. Thin the hummus to the desired consistency with the reserved cooking liquid. Taste and adjust seasoning with lemon juice and salt.
To serve: spread hummus in a shallow bowl, drizzle with olive oil and sprinkle with spices if desired. Traditional accompaniments include pita bread, pickles, fresh mint, and hot tea.