@elf-pavlik I unearthed an old paper I co-wrote in 2002 when I first started working with Choreology, a London startup that is now dead. But they had the best thinking about distributed transactions that I knew of, which is why I went to work for them: to learn those techniques.
The first thing I worked on was a method of handling multi-party distributed transactions, because neither CfA nor any of the transaction processors of that time (except the Paxos family) could handle them, and Paxos is a bear to implement.
This is a paper me and Tony Fletcher wrote, but a couple of other Choreology people were in on the discussions. What we decided at that time was it was better, if possible, to separate multi-party transactions into pairs of two-party transactions and coordinate the pairs for the desired overall result.
I'm dropping this here now to see if it makes sense to you, and it you think it could possibly handle your multi-lateral exchanges. https://drive.google.com/open?id=1NkAY4QhI1ra2vjFvY1GzPPJXvYWJDgxg Here's a later paper that build on that one: http://www.cs.rug.nl/~aiellom/publications/refs07.pdf
Anyway, get the basic idea, don't get distracted by the chickens or obsess about the details. The details of your use case will be different. (@elf-pavlik I assume that is obvious to you, but this is a public forum and I thought I should add that...)