The Pedersen hash for the Ethereum Semaphore.
This is specified in Section 5.3.2 of https://github.com/appliedzkp/semaphore/blob/master/spec/Semaphore%20Spec.pdf and also, in more detail, in https://iden3-docs.readthedocs.io/en/latest/_downloads/4b929e0f96aef77b75bb5cfc0f832151/Pedersen-Hash.pdf. In the documentation of our formalization of Pedersen hash, we use `[ES]' (for `Ethereum Specification`) to refer to the first and `[IS]' (for `Iden3 Specification`) to refer to the second. There appear to be a few discrepancies between the two, although there should not be any; we will update our specification and documentation as these discrepancies are discussed and resolved.
Note that the Pedersen hash formalized here differs from the one in Zcash; in particular, this one uses 4-bit windows, while the one in Zcash uses 3-bit windows. Yet, the two share obvious characteristics. In the future, we may formalize a generic form of Pedersen hash, obtaining the Ethereum Semaphore one and the Zcash one by suitably instantiating and specializing the generic one.