  We consider trading indivisible and easily transferable \emph{durable goods},
which are goods that an agent can receive, use, and trade again for a different
good. This is often the case with books that can be read and later exchanged
for unread ones. Other examples of such easily transferable durable goods
include puzzles, video games and baby clothes.
  We introduce a model for the exchange of easily transferable durable goods.
In our model, each agent owns a set of items and demands a different set of
items. An agent is interested in receiving as many items as possible from his
demand set. We consider mechanisms that exchange items in cycles in which each
participating agent receives an item that he demands and gives an item that he
owns. We aim to develop mechanisms that have the following properties: they are
\emph{efficient}, in the sense that they maximize the total number of items
that agents receive from their demand set, they are \emph{strategyproof} (i.e.,
it is in the agents' best interest to report their preferences truthfully) and
they run in \emph{polynomial time}.
  One challenge in developing mechanisms for our setting is that the supply and
demand sets of the agents are updated after a trade cycle is executed. This
makes constructing strategyproof mechanisms in our model significantly
different from previous works, both technically and conceptually and requires
developing new tools and techniques. We prove that simultaneously satisfying
all desired properties is impossible and thus focus on studying the tradeoffs
between these properties. To this end, we provide both approximation algorithms
and impossibility results.
