III. Risk Management and Liquidation Mechanisms

  1. Dynamic Collateralization and Liquidation:

    • Collateral Monitoring: Real-time tracking of collateral value; liquidation is triggered if it falls below 150%.

    • Liquidation Process:

      1. Liquidators call liquidate(), pay debt, and receive collateral discounts (e.g., 5% reward).

      2. Collateral is auctioned via decentralized protocols (e.g., B.Protocol).

    • Code Snippet:

      contract LiquidationEngine {
          struct Position {
              address owner;
              uint256 collateral;
              uint256 debt;
          }
      
          // Liquidation function
          function liquidate(uint256 positionId) external {
              Position storage pos = positions[positionId];
              uint256 collateralValue = oracle.getPrice(pos.collateralToken) * pos.collateral;
              uint256 minRequired = pos.debt * MIN_COLLATERAL_RATIO / 100;
      
              if (collateralValue < minRequired) {
                  uint256 discount = pos.debt * 5 / 100; // 5% liquidation reward
                  pos.collateralToken.safeTransfer(msg.sender, discount);
                  _auctionCollateral(pos.collateral - discount);
              }
          }
      }
  2. Oracle Security Design:

    • Multi-Source Aggregation: Uses Chainlink’s DECO protocol to aggregate ≥3 independent data sources.

    • Anomaly Detection: Functions are paused if price deviations exceed 5%, triggering governance alerts.

最后更新于