VeilSwap
← All posts
해설2026-10-319 min read

UTXO 병합과 잔돈: 클러스터링이 틀릴 때

비트코인 블록 973,933 전수 조사: 3,533건 중 18.7%가 다중 입력, 잔돈을 유일하게 판별한 건 40.7%뿐. 906개 UTXO를 1 sat/vB에 병합한 비용과 그것이 스왑 입금에 미치는 이유.

두 개의 휴리스틱, 확증에 가까운 것은 하나뿐

체인 분석 점수는 어느 업체보다도 오래된 두 규칙에서 시작합니다. 공동 입력 소유 규칙은 한 거래가 A·B·C 주소의 출력을 썼다면 서명자가 그 순간 세 개의 키를 모두 가졌다는 뜻입니다 — 거의 확증이고 예외도 알려져 있습니다(CoinJoin, payjoin, 공동 관리). 잔돈 판별은 약한 쪽입니다. 출력 하나는 보통 지불자에게 돌아오지만, 어느 것인지 맞히는 것은 확률이지 사실이 아닙니다. 단서는 스크립트 타입 일치, 둥근 금액, 금액 크기 순서, 주소 재사용, 타이밍입니다. 그 추측이 오늘 체인에서 얼마나 맞는지 알고 싶어서, 표본이 아니라 비트코인 블록 973,933(2026-10-31 05:32:52 UTC)의 모든 거래를 읽었습니다. (프라이버시 코인 vs 믹서 비교)

표본이 아닌 한 블록 전수 조사

이 블록에는 거래 3,533건(coinbase 제외 3,532건), 998,284 vB, 수수료 합계 0.0182 BTC, 수수료율 중위 1.205 sat/vB(p10 0.12, p90 3.7)이 있었습니다. 멤풀은 54,439건·21.49 MvB, 권장 구간은 모두 1 sat/vB — 조용한 토요일 아침이고 이 숫자는 뒤에서 중요합니다. 3,532건 중 659건(18.66%)이 입력 두 개 이상을 썼고, 그 다중 입력 거래가 블록 전체 금액의 14.2%를 옮겼습니다. 입력 수는 중위 2, p90 9, 최대 906. 첫 규칙은 288건(다중 입력 거래의 43.7%)에서 모든 입력이 같은 주소로 적중했고, 371건은 입력이 서로 다른 주소였습니다 — 한 지갑이 잔돈을 흩뿌린 것인지 여러 사람의 코인인지, 휴리스틱은 구분하지 못하고 당신도 못합니다.

잔돈을 유일하게 판별한 거래는 40.7%뿐

타입 일치 — 입력과 같은 스크립트 타입이면서 그 주소가 입력에 한 번도 나오지 않은 출력 — 로 세면 3,532건 중 유일 후보 1,438건(40.7%), 둘 이상 633건(17.9%), 없음 1,461건(41.4%)입니다. 고전적인 '출력 두 개 결제'만 보면 2,200건 중 유일 752건, 진짜 애매한 두 후보 406건(18.5%), 후보 없음 1,042건. 둥근 금액 대체 수단은 소문보다 약합니다. 그 752건 중 10만 사토시 배수를 가진 것은 22건(2.9%), 1만 사토시 배수는 72건(9.6%)입니다. 금액 크기도 동전 던지기여서 잔돈이 더 큰 출력이었던 경우가 292건(38.8%). 즉 평범한 블록에서 구조만으로 잔돈을 맞히는 비율은 열에 넷입니다.

병합 실비는 입력당 68 vB

병합은 이야기의 나머지 절반입니다. 이 블록에는 '입력 10개 이상·출력 2개 이하' 거래가 50건 있었습니다. 가장 큰 것은 P2WPKH 입력 906개를 출력 하나로 모아 61,537.8 vB, 1.0 sat/vB에서 61,538 sat — 입력당 67.9 vB, BTC 77,292달러 기준 47.56달러입니다. 작은 사례는 이론과 맞습니다. 입력 32개 2,209.5 vB(입력당 69.0), 10개 671.5 vB(67.2), 공식 10.5 + 68n + 31로 20개는 1,401.5 vB. 레거시 입력이 예외로, P2PKH 39개 병합은 5,798 vB(입력당 148.7), 100개짜리 세 건은 14,791~14,798 vB였고 50건 중 전부 레거시가 7건, 전부 P2WPKH가 27건이었습니다. 오늘 1 sat/vB에서 UTXO 20개 병합은 1,402 sat(1.08달러), 같은 작업이 20 sat/vB 주간이면 21.66달러, 50 sat/vB면 54.16달러입니다.

손익분기는 미래 수수료에 대한 베팅

손익분기를 정직하게 계산해 봅니다. 지금 N개 입력을 병합하면 약 68N + 41.5 vB. 병합하지 않고 나중에 함께 쓰면 역시 68N + 41.5 vB. 병합한 출력 하나를 나중에 쓰면 68 + 41.5 vB. 따라서 병합이 이득이려면 미래 수수료율이 현재의 (68N + 41.5) ÷ (68(N−1))배를 넘어야 합니다 — 10개 17.9%, 20개 8.5%, 50개 3.3%. 이 분수에는 두 가지 전제가 숨어 있습니다. 첫째, 나중에 정말 함께 써야 합니다. 하나씩 쓰면 병합은 순손실이고 입력당 68 vB를 그냥 버린 셈입니다. 둘째, 프라이버시 비용은 식에 없습니다. 병합은 '한 주체가 모든 입력을 쥐고 있다'를 영구히 공개합니다. 같은 거래소에서 반복 출금한 UTXO라면 새 정보가 아니지만, 하나는 KYC 거래소, 하나는 P2P 구매라면 그 결합을 원장에 영원히 적은 것입니다.

스왑 입금 주소는 새것, 입금을 댄 코인은 아님

여기가 스왑과 UTXO가 만나는 지점입니다. VeilSwap은 주문마다 새 입금 주소를 발급하고 환불 주소를 필수로 요구합니다(없으면 400 missing_refund_address). 주소 자체에는 이력이 없습니다. 결제 거래에는 있습니다. 지갑이 그 입금을 위해 고른 UTXO가 공개적으로 이 주문에 묶이는 클러스터가 되고, 분석가는 입금 주소에서 입력 클러스터를 모두 물려받습니다. TRC20 구간에는 잔돈도 코인 선택도 없습니다. TRON 주소 하나가 영구적인 이력 하나입니다. 스왑 이후는 목적지 체인이 결정합니다. XMR은 입력·출력·금액을 공개하지 않으므로 지갑보다 경로가 중요합니다. 작성 시점 견적(실시간은 페이지 기준): 100 USDT-TRC20→0.14781859 XMR(XMR당 676.50달러, 현물 595.92), 1 XMR→575.97 USDT, 0.05 BTC→6.3958399 XMR(127.92 XMR/BTC, 현물보다 1.4% 낮음). (XMR→USDT 출구 루트)

순서대로 할 일

여기까지 새 소프트웨어는 필요 없습니다. 주문마다 새 수취 주소와 새 환불 주소를 쓰세요 — 재사용은 가장 싸게 끊을 수 있는 연결이자 가장 자주 잊는 연결입니다. 결제 전 코인 컨트롤을 켜고 같은 출처의 UTXO만 고르세요. 자동 선택 지갑은 월급과 채굴 수익을 기꺼이 한 거래에 담습니다. 병합은 같은 출처 안에서만, 멤풀이 1 sat/vB 근처일 때만, 3~8% 손익분기가 성립할 만큼 집합이 클 때만 하세요. 스왑 직전에 병합하지 말고, 프라이버시를 위해 병합하지도 마세요 — 정반대입니다. 둥근 금액은 가능하면 피하세요. 구조가 무너진 뒤 남는 몇 안 되는 단서입니다. 소스 체인이 숨지 못할 때는 목적지 체인이 숨겨 주는 경로를 고르세요. 오늘 100 USDT-TRC20→XMR은 현물보다 13.5% 비쌌고, 그것은 주문당 고정비, 즉 소액 티켓의 값이지 프라이버시의 값이 아닙니다. (XMR→USDT 출구 루트)

규칙 두 개, 하나는 강하고 하나는 약합니다. 공동 입력 소유는 10년간 공격받고도 여전히 확증에 가깝고, 잔돈 판별은 평범한 블록에서 여전히 열에 넷이며, 튜토리얼이 아직 권하는 둥근 금액 요령은 3% 미만에서만 발동합니다. 첫 규칙에서는 빠져나갈 수 없습니다. 어떤 코인이 함께 나타나도 되는지만 정할 수 있습니다. 그 결정은 지갑에서, 스왑 페이지가 열리기 전에 끝납니다.

Frequently asked questions

UTXO를 병합하면 수수료를 아낄 수 있나요?

같은 출처의 코인 안에서, 앞으로 수수료가 오를 것으로 볼 때만입니다. P2WPKH 입력 20개 병합은 1,401.5 vB로 오늘 1 sat/vB에서 1,402 sat(1.08달러), 20 sat/vB면 21.66달러입니다. 손익분기는 20개 8.5%, 10개 17.9%, 50개 3.3% 상승이면 닿지만, 나중에 함께 쓸 때만 그렇습니다. 하나씩 쓰면 순손실이고, 모든 입력을 한 주체가 쥐고 있다는 사실이 영구히 공개됩니다.

새 입금 주소로 지불자를 숨길 수 있나요?

아니요. 주소는 새것이지만 코인은 아닙니다. 블록 973,933에서 결제 3,532건 중 659건(18.66%)이 입력 두 개 이상을 썼고 그 입력은 영구히 공개됩니다. 입금을 댄 클러스터가 그 주문의 배후가 됩니다. VeilSwap은 주문마다 새 입금 주소를 발급하고 환불 주소를 필수로 받습니다(없으면 400 missing_refund_address). 주소 자체에는 이력이 없지만 기록이 되는 것은 결제 거래이고, 환불 주소를 여러 주문에 재사용하면 새 입금 주소가 피한 연결을 스스로 되살리는 셈입니다.

거래소 출금이 수백 개 출력 중 하나로 오는 이유는 무엇인가요?

거래소가 출금을 묶어 보내기 때문입니다. 블록 973,933에는 출력 50개 이상 거래가 13건, 최대 151개였습니다. 당신의 출금은 서로 무관한 많은 주소로 보내는 배치의 한 줄이라, 당신을 식별하는 것은 거래소 기록이지 체인이 아닙니다. 체인은 배치만 보여줍니다. 그래서 한 번의 출금은 금액을 아는 잔돈 없는 깨끗한 UTXO 하나로 도착하고, 이후의 병합은 전부 당신 행위가 됩니다.

Ready to swap?

No account · No KYC · No email

Exchange now
UTXO 병합과 잔돈: 클러스터링이 틀릴 때 — VeilSwap