  One reason for the popularity of Bitcoin is due to its anonymity. Although
several heuristics have been used to break the anonymity, new approaches are
proposed to enhance its anonymity at the same time. One of them is the mixing
service. Unfortunately, mixing services have been abused to facilitate criminal
activities, e.g., money laundering. As such, there is an urgent need to
systematically understand Bitcoin mixing services.
  In this paper, we take the first step to understand state-of-the-art Bitcoin
mixing services. Specifically, we propose a generic abstraction model for
mixing services and observe that there are two mixing mechanisms in the wild,
i.e. {swapping} and {obfuscating}. Based on this model, we conduct a
transaction-based analysis and successfully reveal the mixing mechanisms of
four representative services. Besides, we propose a method to identify mixing
transactions that leverage the obfuscating mechanism. The proposed approach is
able to identify over $92$\% of the mixing transactions. Based on identified
transactions, we then estimate the profit of mixing services and provide a case
study of tracing the money flow of stolen Bitcoins.
