Understanding Liquidity Pools in Web3