Currently, the main interaction between Parachain and Relaychain is through XCM.
Users from parachain side only need to do stake/unstake , no need to care about other stuff.
LiquidStaking will execute all operations like bond/unbond/rebond with relaychain. Since Relaychain updates validators every Era. LiquidStaking on parachain will process all users' requests and operate each era too. This is what MatchingPool doing.
Here is the architecture diagram of LiquidStaking:
Now let's take a detailed look at the implementation details of each part.