Could you elaborate on the functioning of
Uniswap v3? I'm particularly interested in understanding how it differs from its predecessors and what specific features it introduces that enhance its functionality. How does its capital efficiency mechanism operate, and how does it enable users to achieve better price precision? Also, could you discuss the role of concentrated liquidity and how it contributes to the overall performance of the protocol?