01 / 이해하기읽는 시간 4분

흡수와 소각

매도가 ETH를 배치한 구간에 도달하면 CUBIT을 해당 ETH로 바꿀 수 있습니다. 매수벽이 취득한 토큰은 거래 유동성에서 제거하고 오직 소각에만 사용해야 합니다.

매수벽 ETH 깊이 감소와 토큰 소각은 이 작업의 서로 다른 두 결과입니다.

초기 고정 공급 후 디플레이션

초기에 2,100만 CUBIT을 발행하며 이후 추가 발행은 없습니다. hook이 매수벽 매입 토큰을 소각하면 totalSupply()가 줄고 totalBurned()가 늘어납니다. 디플레이션은 실제 소각에 따른 것으로 시간만으로 발생하지 않습니다.

매도가 매수벽에 도달
    → 해당 포지션의 ETH로 CUBIT 매입
    → CUBIT 분리 후 소각
    → 총공급량 감소

매수벽이 매입한 CUBIT은 가격이 다시 올라도 거래 가능한 LP로 절대 돌아가지 않습니다. 소각 대기열도 이미 유동성에서 제외된 상태입니다.

가격이 박스권에서 변동할 때

변동이 매수벽에 도달하면 연속 매도가 ETH를 소모하고 CUBIT을 점차 시장에서 제거합니다. 일부 구간은 실행 가능 유동성이 없어질 수 있지만 자금 소진 후에도 tick 식별은 유지됩니다.

가격 반등으로 매입 CUBIT이 매수벽을 자동 보충하지 않습니다. 이미 소각용으로 분리되었기 때문입니다. 새 자금으로 같은 tick 포지션을 보강할 수는 있습니다.

변동 영역 가능한 영향
매수벽 위에 머무는 범위 스왑이 해당 포지션에 닿지 않아 매수벽 소각 없음
하나 이상의 매수벽 통과 CUBIT 흡수·소각, 해당 구간 ETH의 점진적 소모
가격이 래더 통과 재고 변화, 자체 토큰은 리밸런싱 때 재사용·재배치 가능

소진되는 것은 유동성 구간이며 가격 단위인 tick 자체가 사라지는 것은 아닙니다. 모든 박스권이 모든 tick을 자동 소진시키지는 않습니다. 래더 역할 보기.

구분할 세 상태

상태 의미
매수벽 포지션의 ETH 가격과 범위에 따라 그 포지션이 쓸 수 있는 자금
흡수·분리된 CUBIT 시장에서 제거되어 소각 대기 가능 상태인 재고
소각된 CUBIT CubitToken.burn()으로 실제 총공급량 감소

토큰은 hook만 소각할 수 있게 합니다. 공개 함수 burnAbsorbed()는 호출자가 수신자를 정해 분리 재고를 회수하도록 허용하지 않습니다.

CUBIT 라우터 경로

제공된 라우터는 매도 시 풀 거래를 정산하고 환불에 필요한 임의 전송을 마친 뒤 대기열이 있으면 소각합니다. 소각 실패 시 매도 전체를 되돌립니다.

이는 해당 실행 경로의 동작입니다. 모든 타사 라우터 매도가 같은 트랜잭션에서 항상 모든 토큰을 소각한다고 볼 수 없습니다.

타사 통합

호환 라우터는 분리 토큰 대기열을 남길 수 있습니다. 토큰은 계속 소각 전용이며 매수벽 유동성에서 다시 매수할 수 없어야 합니다. 이후 burnAbsorbed() 호출로 소각을 완료합니다.

guardian 유지보수 정지 중에도 호출 가능하며 보상은 없습니다. 양의 수익 기준을 둔 keeper는 호출을 미룰 수 있습니다.

소각이 보장하지 않는 것

소각은 공급량을 줄일 뿐 ETH를 만들지 않습니다. 매수벽이 매도 흡수로 자금을 썼다면 과거 가격대가 깊이를 자동 회복시키지 않습니다.

여러 고정 매수벽에서는 분리 재고와 잔여분을 각 포지션에 정확히 귀속해야 합니다. 기존 단일 매수벽 테스트만으로 새 구현의 이 속성을 증명할 수 없습니다.

증거 확인

hook의 TokensBurned, 토큰의 Burned 이벤트, totalBurned(), totalSupply()로 실제 소각을 추적합니다. pendingBurnTokens 대기열은 별도 상태입니다.

네트워크나 정식 fork 환경의 실제 흡수와 strict-burn 독립 검토는 여전히 검증 조건입니다. 알려진 한계.

출처: CubitRouter._finishSwap, CubitHook._isolateAbsorbedTokens, _burnAbsorbed, CubitToken.burncontracts/docs/STRICT_BURN.md 에서 설계 이력을 확인합니다.

CUBIT / 2026년 9월 10일 출처와 방법