SettleLab
전체 코스
DeFi · LESSON 04

컴포저빌리티와 위험 전이 지도

DeFiMarket map핵심50분근거 3
AreaDeFi
TopicMarket map
Evidence layerBACKEND / INDEXER
Connected areasStablecoin / Agent / AI

학습 결과

  • money lego가 생산성을 높이는 동시에 손실 경로를 늘리는 이유를 설명한다.
  • oracle, LP token, lending collateral, vault share가 어떻게 의존성 그래프를 만드는지 그린다.
  • upstream failure가 downstream position과 사용자 화면에 어떻게 전이되는지 알림 규칙으로 바꾼다.

선행 조건

  • category-value-capture

완료 기준

  • 최소 6개 node와 7개 edge를 가진 DeFi 의존성 그래프를 만들었다.
  • upstream protocol 장애가 사용자 포지션, 담보 가치, 출금 가능성에 미치는 영향을 알림 규칙으로 표현했다.

컴포저빌리티와 위험 전이 지도

도입

컴포저빌리티는 DeFi의 장점이지만 "아무 protocol이나 연결해도 된다"는 뜻은 아니다. LP token을 lending 담보로 쓰고, 그 담보를 기반으로 stablecoin을 빌리고, 빌린 자산을 vault에 넣으면 사용자는 하나의 포지션처럼 보지만 실제로는 여러 protocol의 상태에 동시에 노출된다.

이 강의에서는 money lego를 낙관적인 조립 도구가 아니라 dependency graph로 다룬다. 하나의 oracle 지연, pool imbalance, bridge pause, vault withdrawal queue가 downstream 사용자 화면에 어떤 경고로 나타나야 하는지 연결해야 한다.

학습 목표

  • money lego가 생산성을 높이는 동시에 손실 경로를 늘리는 이유를 설명한다.
  • oracle, LP token, lending collateral, vault share가 어떻게 의존성 그래프를 만드는지 그린다.
  • upstream failure가 downstream position과 사용자 화면에 어떻게 전이되는지 알림 규칙으로 바꾼다.

개념 설명

구조 맵가로 스크롤 · 크게 보기 지원
컴포저빌리티 위험 전이 지도asset, receipt, oracle, position이 어느 protocol 경계에서 다시 포장되는지 보여주고 downstream 화면에 필요한 경고를 정한다.
01

원자산과 가격

  • USDC, ETH, staked ETH 같은 underlying asset
  • Chainlink, TWAP, CEX median 같은 price source
  • depeg, stale price, liquidity gap
02

포장된 권리

  • LP token, vault share, receipt token
  • 담보로 인정되는 LTV와 haircut
  • 상환 queue와 lockup
03

사용자 포지션

  • borrow, leverage loop, delta hedge
  • health factor와 liquidation buffer
  • withdrawal 가능성과 UI warning
크게 보기
01

원자산과 가격

  • USDC, ETH, staked ETH 같은 underlying asset
  • Chainlink, TWAP, CEX median 같은 price source
  • depeg, stale price, liquidity gap
02

포장된 권리

  • LP token, vault share, receipt token
  • 담보로 인정되는 LTV와 haircut
  • 상환 queue와 lockup
03

사용자 포지션

  • borrow, leverage loop, delta hedge
  • health factor와 liquidation buffer
  • withdrawal 가능성과 UI warning
표 자료가로 스크롤 · 크게 보기 지원
Edge전이되는 위험downstream 증상필요한 증거
Oracle → Lending가격 지연 또는 조작health factor 과대평가price age, deviation
DEX Pool → LP Tokenpool imbalance담보 가치 급락reserve ratio, slippage
Vault → Lendingshare price 지연출금 불가인데 담보 인정share price timestamp
Bridge → DEXasset pausedestination liquidity 고립bridge status, token allowlist
Restaking → Vaultslashing eventstrategy NAV 하락operator status, slash proof
크게 보기
Edge전이되는 위험downstream 증상필요한 증거
Oracle → Lending가격 지연 또는 조작health factor 과대평가price age, deviation
DEX Pool → LP Tokenpool imbalance담보 가치 급락reserve ratio, slippage
Vault → Lendingshare price 지연출금 불가인데 담보 인정share price timestamp
Bridge → DEXasset pausedestination liquidity 고립bridge status, token allowlist
Restaking → Vaultslashing eventstrategy NAV 하락operator status, slash proof

컴포저빌리티의 핵심 질문은 "무엇을 연결할 수 있는가"가 아니다. "연결된 protocol 중 하나가 멈췄을 때 어느 화면, 어느 liquidation bot, 어느 risk dashboard가 먼저 바뀌어야 하는가"다. 이 질문에 답하지 못하면 사용자는 여전히 정상 화면을 보는데 내부적으로는 collateral value가 이미 사라진 상태가 된다.

코드로 확인하기

CODE SURFACEtypescript
type NodeStatus = "ok" | "degraded" | "paused";type DependencyEdge = {  from: string;  to: string;  risk: "price" | "liquidity" | "redemption" | "bridge" | "slashing";  severity: "watch" | "high" | "critical";};export function affectedNodes(start: string, edges: DependencyEdge[]) {  const queue = [start];  const seen = new Set<string>([start]);  while (queue.length > 0) {    const node = queue.shift()!;    for (const edge of edges.filter((item) => item.from === node)) {      if (!seen.has(edge.to)) {        seen.add(edge.to);        queue.push(edge.to);      }    }  }  return [...seen].filter((node) => node !== start);}
CODE SURFACEsql
select  p.user_id,  p.position_id,  e.upstream_protocol,  e.risk_type,  e.severity,  case    when e.risk_type = 'price' and p.health_factor < 1.15 then 'show liquidation warning'    when e.risk_type = 'redemption' then 'disable optimistic withdraw copy'    when e.risk_type = 'bridge' then 'show route paused notice'    else 'watch'  end as user_noticefrom defi_positions pjoin dependency_events e  on p.exposure_group = e.exposure_groupwhere e.status in ('degraded', 'paused');

TypeScript 함수는 graph traversal로 영향을 받는 downstream node를 찾는다. SQL은 운영 event를 사용자 포지션으로 번역한다. 둘 다 "위험을 아는 것"에서 끝나지 않고 "어느 사용자에게 어떤 문구와 제한을 보여줄 것인가"로 내려온다.

강의 포인트

표 자료가로 스크롤 · 크게 보기 지원
관점확인할 질문증거로 남길 것
Dependency어떤 protocol이 upstream인가node, edge, exposure group
Failure어떤 상태가 전이되는가paused, stale, imbalanced, slashed
UI사용자에게 무엇을 숨기면 안 되는가notice copy와 disabled action
Operations누가 대응하는가owner, threshold, runbook
크게 보기
관점확인할 질문증거로 남길 것
Dependency어떤 protocol이 upstream인가node, edge, exposure group
Failure어떤 상태가 전이되는가paused, stale, imbalanced, slashed
UI사용자에게 무엇을 숨기면 안 되는가notice copy와 disabled action
Operations누가 대응하는가owner, threshold, runbook

실무 예시

인덱서[BACKEND] 사용자가 ETH를 Curve pool에 넣어 LP token을 받고, 그 LP token을 lending market에 담보로 넣은 뒤 stablecoin을 빌렸다고 하자. 사용자는 "담보 1개, 부채 1개"만 본다. 그러나 운영자는 Curve pool reserve, LP token valuation, oracle freshness, lending LTV, stablecoin depeg, liquidation bot 상태를 동시에 봐야 한다.

pool imbalance가 커졌는데 lending UI가 health factor만 보여주면 사용자는 위험을 늦게 인식한다. 반대로 모든 기술 이벤트를 그대로 노출하면 사용자는 무엇을 해야 하는지 모른다. 그래서 dependency event는 사용자 행동으로 번역돼야 한다. "withdrawal delay", "new borrow disabled", "liquidation buffer low"처럼 행동 가능한 신호가 필요하다.

흔한 오해와 실패 시나리오

표 자료가로 스크롤 · 크게 보기 지원
오해실패 시나리오교정 방식
composability는 항상 효율을 높인다같은 자산이 여러 protocol의 실패 조건에 동시에 묶인다의존성 그래프와 exposure group을 만든다
LP token은 단순 담보다pool imbalance가 담보 가치와 exit liquidity를 동시에 흔든다reserve ratio와 slippage를 모니터링한다
oracle이 정상이라면 안전하다oracle은 가격만 말하고 redemption queue는 말하지 않는다price, liquidity, redeemability를 분리한다
protocol pause는 운영자만 알면 된다사용자 화면이 정상처럼 보이면 잘못된 행동을 유도한다action disable과 notice를 연결한다
크게 보기
오해실패 시나리오교정 방식
composability는 항상 효율을 높인다같은 자산이 여러 protocol의 실패 조건에 동시에 묶인다의존성 그래프와 exposure group을 만든다
LP token은 단순 담보다pool imbalance가 담보 가치와 exit liquidity를 동시에 흔든다reserve ratio와 slippage를 모니터링한다
oracle이 정상이라면 안전하다oracle은 가격만 말하고 redemption queue는 말하지 않는다price, liquidity, redeemability를 분리한다
protocol pause는 운영자만 알면 된다사용자 화면이 정상처럼 보이면 잘못된 행동을 유도한다action disable과 notice를 연결한다

실습 과제

  1. 의존성 그래프 그리기: DEX LP token, lending collateral, oracle, vault share, bridge asset을 포함하는 그래프를 만들고 edge마다 실패 전이 조건을 쓴다.
  2. 전이 위험 알림 규칙 만들기: upstream protocol status와 oracle deviation을 받아 사용자 포지션 경고를 반환하는 함수를 작성한다.

완료 기준

  1. 최소 6개 node와 7개 edge를 가진 DeFi 의존성 그래프를 만들었다.
  2. upstream protocol 장애가 사용자 포지션, 담보 가치, 출금 가능성에 미치는 영향을 알림 규칙으로 표현했다.

근거 자료

  • 01 Market Overview
  • 부록A 컴포저빌리티
  • 09 Risk and Security
Final checkpoint

읽기를 마쳤다면 여기서 기록한다

아래 버튼은 읽기 진도를 저장한다. 체크리스트, 과제, 랩 산출물은 위 Workbook에서 따로 관리한다.

  • 최소 6개 node와 7개 edge를 가진 DeFi 의존성 그래프를 만들었다.
  • upstream protocol 장애가 사용자 포지션, 담보 가치, 출금 가능성에 미치는 영향을 알림 규칙으로 표현했다.

학습 자료 근거

01 Market Overview
DeFi 컴포저빌리티와 위험 전이 설명 재구성
내부 참고 문서
부록A 컴포저빌리티
money lego와 의존성 개념 확인
내부 참고 문서
09 Risk and Security
사고 전이와 운영 리스크 사례 확인
내부 참고 문서