The chaining problem is defined as follows. Given values $a_{1},\ldots,a_{n},\,a_{i} = 0$ or 1, $1 \leq i \leq n$, compute $b_{1},\ldots,b_{n}$ such that $b_{i} = \max\{j \mid a_{j} = 1,\, j < i \}$. (Define $\max\{\} = 0.$) The chaining problem appears as a subproblem in many contexts. There are known algorithms that solve the chaining problem on CRCW PRAMs in $O(\alpha(n))$ time, where $\alpha(n)$ is the inverse of Ackerman's function, and is a very slowly growing function. The author studies a class of algorithms (called oblivious algorithms) for this problem. A simple oblivious chaining algorithm running in $O(\alpha(n))$ time is presented. More importantly, the optimality of the algorithm is demonstrated by showing a matching lower bound for oblivious algorithms using $n$ processors. The first steps toward a lower bound for all chaining algorithms are also provided by showing that any chaining algorithm that runs in two steps must use a superlinear number of processors. The proofs use prefix graphs and weak superconcentrators. An interesting connection between the two is demonstrated and this idea is used to obtain improved bounds on the size of prefix graphs.