Abstract. The notion of traitor tracing was introduced by Chor, Fiat, and Naor [Tracing Traitors, Lecture Notes in Comput. Sci. 839, 1994, pp. 257-270] in order to combat piracy scenarios. Recently, Fiat and Tassa [Tracing Traitors, Lecture Notes in Comput. Sci. 1666, 1999 proposed a dynamic traitor tracing scenario, in which the algorithm adapts dynamically according to the responses of the pirate. Let n be the number of users and p the number of traitors.Our main result is an algorithm which locates p traitors, even if p is unknown, using a watermarking alphabet of size p + 1 and an optimal number of Θ(p 2 + p log n) rounds. This improves the exponential number of rounds achieved by Fiat and Tassa in this case. We also present two algorithms that use a larger alphabet: for an alphabet of size p + c + 1, c ≥ 1, an algorithm that uses O(p 2 /c + p log n) rounds; for an alphabet of size pc + 1, an algorithm that uses O(p log c n) rounds.Our final result is a lower bound of Ω(p 2 /c + p log c+1 n) rounds for any algorithm that uses an alphabet of size p + c, assuming that p is not known in advance.