  We present a wait-free algorithm for proper coloring the n nodes of the
asynchronous cycle $C_n$, where each crash-prone node starts with its (unique)
identifier as input. The algorithm is independent of $n \geq 3$, and runs in
$\mathrm{O}(\log^* n)$ rounds in $C_n$. This round-complexity is optimal thanks
to a known matching lower bound, which applies even to synchronous
(failure-free) executions. The range of colors used by our algorithm, namely
$\{0, ..., 4\}$, is optimal too, thanks to a known lower bound on the minimum
number of names for which renaming is solvable wait-free in shared-memory
systems, whenever $n$ is a power of a prime. Indeed, our model coincides with
the shared-memory model whenever $n = 3$, and the minimum number of names for
which renaming is possible in 3-process shared-memory systems is 5.
