For the curry:
In an 8-quart saucepot, heat the oil over medium heat and add the chilies and pepper. Gently toast until the chilies are purple in color and the oil is fragrant.
Add the ginger, garlic, cilantro, onions and salt, then cook over medium heat until the onions turn golden brown. Add the coriander, turmeric, paprika and cayenne. Reduce the heat to medium-low and cook for 8 to 10 minutes.
Add the tomatoes and tomato paste and cook over medium heat. Continue browning the mixture until the tomatoes have reduced in moisture. Add the coconut milk and simmer for 15 to 20 minutes over medium-low heat.
Keep warm, but stir the sauce every 5 minutes and scrape the bottom of the pan so the sauce doesn’t burn.
For the dish:
In a small bowl, mix together the shrimp, lemon juice, cilantro and salt, to taste.
Add the butter to a sauté pan and melt over low heat. Add the shrimp mixture and cook until the shrimp are tender and opaque through the middle.
Add to the curry sauce, garnish with fresh cilantro and tomatoes and serve immediately.