A borrower's account goes underwater and is subject to liquidation when the total borrows cross all markets exceeded the account borrow limit, which is calculated based on borrower's collateralized assets and per-market collateralFactor.
Anyone can liquidate underwater accounts by repaying back borrowed assets on behalf of the borrower. As return, the liquidator gets back ("purchases") the borrower's collateral asset at current market price with a discount as incentive.
From the borrower's point of view the corresponding collaterals are "slashed" and transferred to the liquidator. The maximum amount of collaterals to be "slashed" is capped by the parameter closeFactor, ranging from 0.0 to 1.0. CloseFactor is a metric to protect underwater borrowers from losing all of the collaterals when liquidation occurs.

Version 1.0 (Current)

To enrourage the community to participate in the liquidation process, a simple reference implementation of the liquidation bot will be open sourced for easy usage and further modification. We also encourage developers to build third party liquidation bots - taking part in the liquidation process is not only profitable but also keeps the money market system safe and healthy.

Version 2.0

Version 1.0 liquidators have to hold certain amount of capital and may need to periodically rebalance their holdings. To further lower the burden of liquidation process, flashloan is on our agenda. Increment Labs is actively researching and developing flow-based flashloan infrastructure, the plan is to build and release a flashloan-based liquidation bot 2.0 in near future.