While the algorithmic description of circuit-friendly hash functions is often straightforward, the underlying architecture allows for many different ways of implementing them. This talk will go over various implementation characteristics in certain scenarios, and how these change when using them in modern proof systems.