No transaction between rational individuals is ever zero-sum.
If Bob values a house at $300,000 and Alice values the house at $300,000, the house will __never__ be sold. Because by the time transaction fees come about, Bob would have lost money in the transaction.
In reality, Bob values the house at $250,000, and Alice is happy to buy at $350,000. Maybe some negotiations happen, and after transaction fees, Bob receives $270,000 while Alice pays $330,000 (both happy), with the Banks / Real Estate agents pocketing the $60,000 spread.
-------
This is called the Bid-Ask spread, and its always, always, always non-zero. Stocks have bid-ask spreads of a penny, but Pokemon Cards, Houses, Lumber, etc. etc. all have a spread in reality. There's never one price for things, there's a buyer's price vs a seller's price, the bid and the ask.
------
The difference in the bid-ask spread gives you an idea of how much value any transaction created. If Bob was willing to sell the house for $270,000 and Alice was willing to buy the house for $330,000, then there was at LEAST $60,000 of value created by the transaction.