The idea of the project is that biomolecular machines, each only a few billionth of a meter (nanometers) in size, can solve problems by moving through a nanofabricated network of channels designed to represent a mathematical algorithm; an approach we termed “network-based biocomputation”. Whenever the biomolecules reach a junction in the network, they either add a number to the sum they are calculating or leave it out. That way, each biomolecule acts as a tiny computer with processor and memory. While an individual biomolecule is much slower than a current computer, they are self-assembling so that they can be used in large numbers, quickly adding up their computing power. Specific challenges are (1) to design error-free junctions, (2) to multiply the number of biomolecules to adapt to the difficulty of the problem, (3) to tag the biomolecules to know which path they have taken through the network.