  We describe in detail a general strategy for implementing a conditional
geometric phase between two spins. Combined with single-spin operations, this
simple operation is a universal gate for quantum computation, in that any
unitary transformation can be implemented with arbitrary precision using only
single-spin operations and conditional phase shifts. Thus quantum geometrical
phases can form the basis of any quantum computation. Moreover, as the induced
conditional phase depends only on the geometry of the paths executed by the
spins it is resilient to certain types of errors and offers the potential of a
naturally fault-tolerant way of performing quantum computation.
