멀티시그 지갑에서 스왑하기: 2-of-3 실전
스왑 사이트는 스크립트를 보지 않고 주소와 금액만 봅니다. 그래서 멀티시그의 비용은 바이트입니다. 블록 5개를 파싱해 멀티시그 입력 1,085개를 찾았고, 레거시 P2SH 294 vB 대 네이티브 P2WSH 104 vB를 실측했습니다.
멀티시그 지갑은 '다른 종류의 지갑'이 아니라 다른 잠금 스크립트이고, 스왑 사이트는 그 스크립트를 보지 않습니다. 주문에 필요한 것은 보낼 자산, 받을 자산, 수량, 받을 주소 네 가지와 2026년 10월 25일부터 이 사이트에서 필수가 된 환불 주소뿐입니다. 지갑 연결도, 서명 요청도, 계정도 없습니다. 그래서 진짜 질문은 '2-of-3에서 스왑할 수 있나'가 아닙니다. 할 수 있습니다. 질문은 스크립트가 바이트를 얼마나 더 쓰는지, 주문 전 검증이 그 주소를 이해하는지, 그리고 서명 절차가 30분 주문 창 안에 들어오는지입니다. 아래 수치는 2026년 10월 27일 로컬에서 파싱한 비트코인 블록 5개의 실제 데이터입니다.
주문서가 실제로 요구하는 것. 주문 엔드포인트는 fromAsset, toAsset, fromAmount, toAddress, refundAddress 다섯 개를 받습니다. 주소 길이는 256자로 제한되고, 그 밖의 주소 판단은 상류 프로바이더 몫입니다. 멀티시그 사용자에게 중요한 점은 두 가지입니다. 첫째, 멀티시그 주소도 그냥 주소입니다. 3… P2SH든 bc1q 32바이트 프로그램이든 단일 서명 주소와 똑같이 통과합니다. 당신이 그 주소에서 쓸 수 있는지는 아무도 확인하지 않기 때문입니다. 둘째, 환불 주소가 이제 필수이고 반드시 보내는 네트워크의 주소여야 합니다. 그래서 환불 경로는 보통 같은 멀티시그 지갑의 다른 주소이고, 거래소 입금 주소가 아닙니다. 스왑이 실패하면 코인은 m개의 서명이 필요한 스크립트로 돌아옵니다. 그것이 멀티시그의 목적이자 운영상의 위험입니다. 다른 서명자가 모일 때까지 환불금은 그대로 묶여 있을 수 있습니다. (모네로 확인 대기)
같은 2-of-3, 세 가지 스크립트, 세 가지 가격. 동일한 2-of-3을 세 가지로 인코딩할 수 있고, 체인에는 세 가지가 모두 존재합니다. 레거시 P2SH는 서명과 리딤 스크립트를 scriptSig에 몰아넣고, 입력 크기는 실측 294 vB(94개 중앙값)였습니다. 네이티브 P2WSH는 서명을 witness로 옮겨 75% 할인을 받고 104.2 vB(224개)였습니다. 중첩 P2SH-P2WSH 2-of-3은 139.2 vB입니다. 같은 임계값, 같은 키 개수인데 가장 오래된 인코딩이 바이트를 2.8배 더 씁니다. 비교하자면 단일 서명 P2WPKH 입력은 67.8 vB, Taproot 키패스 입력은 57.5 vB입니다. 3-of-5 레거시 스크립트는 입력당 435 vB로, 같은 권한의 Taproot 서명보다 약 7.6배입니다.
3… 로 시작한다는 사실은 비용을 알려주지 않습니다. 고정된 공개키로 실제 2-of-3 주소 두 개를 오프라인에서 만들었습니다. 레거시 P2SH는 33ybcg…, 중첩 P2SH-P2WSH는 3NBbb…로 시작합니다. 둘 다 유효한 메인넷 주소이고 모든 체크섬 검사를 통과하며 3으로 시작합니다. 입력 비용은 2배 이상 차이납니다. 코디네이터가 어느 쪽을 만드는지 아는 방법은 스크립트 유형 설정을 보는 것뿐이고, 비용을 아는 방법은 그것이 만드는 트랜잭션 크기를 보는 것뿐입니다. 지갑을 물려받거나 몇 년 전 백업에서 복원하면 많은 코디네이터가 여전히 레거시 인코딩을 기본값으로 씁니다.
주문이 넘어가기 전에 사이트가 검증하는 것. 2026년 10월 25일부터 주문 라우트는 상류를 믿지 않고 주소를 로컬에서 검증합니다. 데이터베이스의 주문 6건이 잘못 입력된 수취 주소를 갖고 있었고 그중 5건이 이미 지급된 것이 계기였습니다. 같은 함수를 방금 만든 주소들에 돌려봤습니다. 레거시 3… 통과, 32바이트 프로그램의 bc1q 통과, bech32m의 bc1p도 통과합니다(상류가 Taproot 주소로 지급할지는 별개 문제). 3… 주소의 한 글자를 바꾸면 'address checksum mismatch — a character was likely mistyped', bech32 주소의 한 글자를 바꾸면 'segwit address fails its bech32 checksum'가 돌아옵니다. 알아둘 구멍이 하나 있습니다. 라이트코인은 아직 이 검증기 범위 밖입니다. 체크섬이 깨진 가짜 LTC 주소를 넣어도 통과했습니다. 모르는 자산은 정상 주문을 막지 않으려고 일부러 통과시키기 때문입니다. LTC에서는 주소를 한 글자씩 대조하십시오.
2-of-3 scriptSig가 OP_0으로 시작하는 이유. 블록 973,353의 실제 2-of-3 지출 입력 스크립트입니다. 00 47 30 44 02 20 … 4c 69 52 21 <키> 21 <키> 21 <키> 53 ae. 맨 앞의 00은 유명한 OP_CHECKMULTISIG 오프바이원입니다. 이 옵코드는 소비하는 것보다 스택 요소를 하나 더 꺼내므로 더미 바이트를 밀어 넣어 맞춥니다. 끝의 4c 69는 105바이트 리딤 스크립트 푸시이고, 그 안의 52 … 53 ae는 OP_2, 공개키 세 개, OP_3, OP_CHECKMULTISIG입니다. 실무적 결론은 두 가지입니다. 서명은 스크립트의 공개키 순서대로 나열되어야 하며(PSBT 파이널라이저가 부분 서명을 정렬하는 이유), 파이널라이저 없이 손으로 조립한 scriptSig는 로컬에서는 멀쩡해 보여도 브로드캐스트에서 거부될 수 있습니다.
체인 데이터: 18,574건 중 멀티시그 입력 1,085개. 블록 973,350~973,354의 비코인베이스 입력은 16,035개였습니다. 그중 1,085개(6.77%)가 멀티시그 스크립트를 소비했고, 이 입력들이 전체 입력 바이트의 9.7%, 블록 전체 무게의 3.7%를 차지했습니다. 분포는 지갑들이 실제로 쓰이는 방식의 지도입니다. 중첩 P2SH-P2WSH 2-of-4가 443개로 가장 많고(아마 한 서비스의 집금), 네이티브 P2WSH 2-of-3이 224개, 레거시 P2SH 2-of-3이 94개, 3-of-5가 17개입니다. 18,574건 중 순수 멀티시그는 70건뿐이고 수수료율 중앙값은 2.03 sat/vB였습니다. 그날 아침 다음 블록에 들어가는 데는 1 sat/vB면 충분했습니다. 입력 하나짜리 멀티시그 거래 하나는 30 sat/vB, 6,480사토시(약 5.17달러)를 냈는데, 필요한 금액은 약 0.17달러였습니다.
그 여분 바이트가 오늘 얼마인가. 06:00 UTC 멤풀에는 44,475건, 19.5 MvB가 있었고 다음 블록의 수수료율 중앙값 전망은 0.122 sat/vB, 권장은 1 sat/vB(다음 블록 2 sat/vB)였습니다. BTC가 79,802달러이면 1사토시는 0.000798달러입니다. 레거시 2-of-3의 1입력 2출력 지출은 약 367 vB로 0.29달러, 네이티브 P2WSH 2-of-3의 같은 지출은 약 178 vB로 0.14달러입니다. 50 sat/vB(흔한 혼잡 수준)에서는 각각 14.60달러와 7.10달러가 됩니다. 배수가 실제로 아픈 곳은 집금입니다. 표본에 149개의 멀티시그 입력을 두 출력으로 쓸어 담은 거래가 있었고 22,110 vB, 1 sat/vB에서 22,148사토시 약 17.70달러였습니다. 같은 집금이 50 sat/vB면 약 880달러입니다. 집금은 멤풀이 비었을 때 하고, 급할 때는 하지 마십시오.
30분 창은 서명 절차보다 짧습니다. 주문은 생성 후 30분에 만료되고, 그 뒤 6시간까지 지연 입금을 찾아보며, 프로바이더가 볼 수 없는 건은 24시간에 강제 만료됩니다. 입금 주소는 주문 생성 후에만 존재하므로 '먼저 서명하고 나중에 주문'은 불가능합니다. 두 도시에 흩어진 2-of-3의 순서는 주문 생성, 정확한 금액으로 PSBT 구성, 서명자 A에게 전달, 그다음 서명자 B, 파이널라이즈, 브로드캐스트입니다. 어느 단계든 전화가 필요하면 창은 사라지고, 지연 입금 조회가 그 결제를 찾아주기를 바라야 합니다. 실무적으로는 주문 전에 두 서명자를 기기 앞에 앉히고, 수취·환불 주소를 코디네이터에 미리 넣고, 입금 주소는 클립보드가 아니라 주문 페이지와 대조하고, 수수료는 지갑에 맡기지 말고 1 sat/vB로 지정하십시오.
체인별 현실. 비트코인과 라이트코인: 스크립트 멀티시그는 끝까지 동작합니다(라이트코인 검증 공백은 위에 적었습니다). EVM 계열: 네이티브 멀티시그가 없어 멀티시그는 컨트랙트입니다(흔히 Safe). 그곳에서의 입금은 평범한 전송이고 주소는 다른 0x 주소처럼 검증을 통과합니다. 다만 지출은 컨트랙트 호출이라 여러 오너가 승인하고 한 실행자가 가스를 내므로 일반 전송보다 비쌉니다. 모네로: CLI와 GUI에 M-of-N 멀티시그가 있지만 다중 라운드 프로토콜이고 도구 생태계가 비트코인보다 훨씬 얇습니다. 받는 것은 쉽습니다. 멀티시그 지갑의 주소가 평범한 4… 주소이기 때문입니다. 어려운 것은 지출입니다. Zcash: 작성 시점에 실드 note에 임계 서명이 없어 실드 지급은 구조적으로 단일 키입니다. 어느 체인을 쓸지는 서명자가 실제로 서명할 수 있는지로 정하십시오. (Zcash vs 모네로 2026 비교)
주문 전 여섯 가지 점검. 하나, 수취 주소와 환불 주소를 같은 멀티시그 지갑에서 만들고 첫 주소가 모든 기기에서 같은지 확인하십시오. 패스프레이즈나 파생 경로 불일치가 멀티시그 복원이 어긋나는 가장 흔한 이유입니다. 둘, 코디네이터의 스크립트 유형을 읽고 레거시 P2SH보다 네이티브 P2WSH나 Taproot를 고르십시오. 입력마다 2~3배가 영구적으로 절약됩니다. 셋, 모바일에서는 수취 주소 체크섬을 손으로 확인하십시오. 클립보드 악성코드가 가장 흔한 환경입니다. 넷, PSBT에 정확한 금액을 넣으십시오. 주문은 그 금액으로 가격이 정해지고 부족분은 비례 축소되지 않습니다. 다섯, 서명하는 동안 입금 주소를 화면에 띄워 두고 앞뒤 여섯 글자를 대조하십시오. 여섯, 코디네이터가 기대하는 순서로 파이널라이저를 써서 서명하십시오. 그렇지 않으면 수수료를 낸 뒤에 거래가 거부됩니다. (모네로 확인 대기)
이것이 전체 맞바꿈입니다. 멀티시그 지갑이 사 주는 것은 '기기 하나를 잃어도 코인을 움직일 수 있는 능력'이고, 대가는 바이트입니다. 바이트는 멤풀이 빌 때만 쌉니다. 작성 시점(2026년 10월 27일 06:00 UTC)에 비싼 쪽은 스왑 자체입니다. 100 USDT-TRC20은 0.14614999 XMR, XMR당 약 684달러. 5,000 USDT는 8.17658023 XMR로 611.5달러. 1 XMR 판매가는 582.55 USDT였습니다. 실시간 시세는 움직이니 페이지를 기준으로 하십시오. 주의를 쏟을 곳은 고정 비용과 서명 창이지, 레거시 입력의 294바이트(오늘 기준 23센트)가 아닙니다. (XMR→USDT 출구 루트)