● BLOCKCHAIN MUSEUM · INTERACTIVE

공으로 이해하는 DEX

보라색 공은 ETH, 파란색 공은 USDC입니다. 양방향 스왑, x × y = k 계산, 유동성 공급자가 거래 수수료를 지분율만큼 얻는 과정까지 직접 움직여 볼 수 있습니다.

현재 상태 스왑 준비 완료

① 사용자 지갑

내가 가진 토큰
ETH8.000 ETH
USDC12,000 USDC
ETH 공 USDC 공

② ETH–USDC 유동성 풀

스마트 계약의 두 토큰 상자
x = ETH 보유량20.000 ETH
y = USDC 보유량40,000 USDC
현재 기준가격: 1 ETH ≈ 2,000 USDC
거래 전 상수: k = 800,000 · 스왑 수수료: 0.3%

③ 스왑 계산 결과

풀 비율이 자동으로 가격을 결정
예상 수령량
1,899.46 USDC

ETH 공이 들어가면 USDC 공이 나옵니다.

가격 충격약 5.03%
수수료0.003 ETH
입력 토큰은 풀에 쌓임 출력 토큰은 풀에서 빠짐
교환 방향
예상 수령량 1,899.46 USDC
공급 비율 1 ETH : 2,000 USDC
받을 LP 토큰 50.00 LP
준비:  ETH를 USDC로 교환해 보세요.

x × y = k가 실제로 계산되는 과정

각 단계의 숫자는 교환 방향과 수량에 따라 즉시 바뀝니다. 스왑을 실행하면 현재 단계가 순서대로 강조됩니다.

20 × 40,000 = 800,000
1

거래 전 풀과 k

x = 20 ETH, y = 40,000 USDC

k = 20 × 40,000 = 800,000

먼저 두 상자 수량을 곱해 기준 상수 k를 구합니다.

2

0.3% 수수료 분리

수수료 = 1 × 0.003 = 0.003 ETH

계산 입력 = 1 − 0.003 = 0.997 ETH

가격 계산에는 수수료를 뺀 수량만 사용하고, 수수료는 풀에 남습니다.

3

입력 토큰 상자 증가

x′ = 20 + 0.997 = 20.997 ETH

ETH를 넣는 경우 x가 증가하고, USDC를 넣는 경우 y가 증가합니다.

4

k를 유지할 반대 상자 계산

y′ = 800,000 ÷ 20.997 = 38,100.54 USDC

가격 계산용 준비금에서는 x′ × y′가 거래 전 k와 같아야 합니다.

5

사용자가 받는 수량

출력 = 40,000 − 38,100.54

= 1,899.46 USDC

반대 상자에서 줄어든 수량이 사용자가 받는 토큰입니다.

6

실제 거래 후 검산

실제 풀 = 21 ETH × 38,100.54 USDC

새 k = 800,111.33

수수료가 풀에 남으므로 실제 새 k는 조금 커집니다. 이 증가분이 LP 수익의 원천입니다.

유동성 공급자는 어떻게 돈을 벌까?

유동성 공급자는 두 토큰을 같은 가치 비율로 넣고 LP 토큰을 받습니다. 스왑이 생길 때마다 수수료가 풀에 남아 풀 전체 가치가 증가합니다.

1

두 토큰을 함께 공급

현재 풀 비율이 1 ETH : 2,000 USDC라면 1 ETH와 2,000 USDC를 같이 넣어 가격 비율을 유지합니다.

2

LP 토큰으로 지분 증명

받은 LP 토큰은 전체 풀에서 내 몫이 몇 %인지 나타냅니다. 예를 들어 4.76% 지분이면 풀 자산의 4.76%를 회수할 권리가 있습니다.

3

매 스왑마다 수수료 적립

이 체험에서는 거래당 0.3%가 입력 토큰 상자에 남습니다. 별도 지급이 아니라 풀 준비금 자체가 커지는 방식입니다.

4

지분을 회수하며 수익 실현

LP 토큰을 반환하면 현재 풀의 ETH와 USDC를 지분율만큼 돌려받습니다. 누적 수수료도 이 회수액에 포함됩니다.

중요한 위험: LP 수익은 확정 이자가 아닙니다. ETH 가격이 크게 변하면 단순 보유보다 가치가 낮아지는 비영구적 손실이 생길 수 있고, 스마트 계약 오류·토큰 가격 급락 위험도 있습니다. 수수료 수익이 이러한 손실보다 커야 최종적으로 이익입니다.