Cut the root ends from each leek and trim the ragged ends of the leaves. Halve the leeks lengthwise and wash thoroughly under cold water, checking for dirt between the layers of leaves. Cut the leeks off where the pale green turns to dark green. Cut the white and pale green parts crosswise into ½-inch/12-millimeter slices. Tie the green leaves together with butcher’s twine.
In a Dutch oven or other heavy pot over medium heat, melt the butter. Add the sliced leeks, onion, shallots, and garlic, and cook, stirring occasionally, until softened, about 5 minutes. As the vegetables cook, season them with a couple of three-finger pinches of salt (1 teaspoon). Reduce the heat to low or medium-low, lay the bacon rind over the vegetables, and continue to cook for an hour (they should be very soft but still pale in color, not browned). Lift the bacon rind about midway through and stir the vegetables.
Add the water and bound leek tops, whole celery ribs, whole carrots, bay leaves, and tomato paste/puree. Raise the heat to high and bring to a gentle simmer, then reduce the heat to low and cook for an hour.
Remove the leek tops, celery, carrots, and bay leaves from the pot and discard. Remove the bacon rind (it can be scraped of excess fat and reserved, then cut into strips and fried as cracklings). Taste the broth and season with salt as needed. Add the potatoes, raise the heat to medium, and simmer for 10 minutes. Stir in the cayenne. Add the cut celery, cut carrots, and cabbage, return the soup to a simmer, and cook until the vegetables are cooked through, about 10 minutes longer. Season with the fish sauce (if using) and the vinegar. Stir the soup, taste, and adjust the seasoning. Serve garnished with the chives.