본문으로 건너뛰기
buybitcoinsmart

용어집 / 프라이버시와 보안

병합

병합이란 무엇입니까?
병합은 사용자의 주소 두 개 이상에서 나온 코인을 한 번의 트랜잭션에서 함께 사용하며, 그 주소들이 같은 소유자에게 속한다는 사실을 공개적으로 알리는 트랜잭션입니다.

백서는 2008년에 이 누출을 지적하며, 여러 입력을 쓰는 트랜잭션은 "necessarily reveal that their inputs were owned by the same owner"(입력들이 같은 소유자 소유였음을 반드시 드러냅니다)라고 경고했습니다. 연구자들은 이후 그 문장을 공통 입력 소유 추론으로 발전시켰고, 이는 Meiklejohn이 2013년에 비트코인 경제를 연구한 이후 지갑 클러스터링의 근간이 되어 왔습니다. 병합은 사용자에 대한 공격이 아니라, 사용자의 지갑이 스스로 작성해 제출하는 진술입니다.

작동 방식

비트코인 트랜잭션의 각 입력은 따로 잠금이 해제되며, 그 증명은 트랜잭션 자체에 기록됩니다.

코인 1개를 사용하려면 그 코인을 관리하는 키로 서명 1개를 만듭니다. 같은 트랜잭션에서 코인 2개를 사용하려면 입력마다 서명 1개씩, 즉 서명 2개를 만들게 되며, 이는 서명 당사자 1명이 같은 순간에 두 키 모두에 접근했다는 뜻입니다. 숨길 방법은 없습니다. 서명은 모든 노드가 검증하고 모든 탐색기가 표시하는 데이터의 일부입니다. 이 연결은 확률이 아니라 구조적 사실이며, 분석가들이 적용하는 다른 어떤 규칙보다 이 추론을 더 신뢰하는 이유입니다.

결과는 양방향으로 나타납니다. 과거 방향으로는 병합된 코인이 각자의 별개 이력을 하나의 클러스터로 끌어모으므로, 본인 확인을 거친 거래소 계좌로 추적 가능한 코인이 다른 코인을 같은 식별 그룹으로 끌어들입니다. 미래 방향으로는 사용자가 지급한 상대가 사용자가 쓴 모든 입력의 가치를 합산하여 청구서 금액뿐 아니라 사용자가 지갑의 그 부분에 보유한 금액까지 볼 수 있습니다.

규칙을 의도적으로 깨는 설계는 두 가지뿐입니다. coinjoin은 관련 없는 사람들의 입력을 한 트랜잭션에 모아 이 추론이 잘못된 클러스터를 만들게 하고, payjoin은 일반 결제 과정에서 같은 일을 작은 규모로 수행합니다. 그 밖에 지갑이 하는 모든 일은 이 규칙을 따릅니다.

나타나는 지점

병합은 대개 사용자가 프라이버시를 생각하지 않는 바로 그 순간에 자동으로 일어납니다.

코인 선택이 주된 원인입니다. 보내는 금액을 코인 하나로 충당할 수 없으면 지갑은 묻지도 않고 두 번째 코인을 집어 오고, 병합이 공개됩니다. "최대 금액 보내기"는 지갑 전체를 한 트랜잭션으로 쓸어 담아 보유한 모든 것을 병합합니다. 오래된 종이 지갑이나 기프트 카드를 주 지갑으로 쓸어 담는 것도 그 코인을 클러스터로 병합하는 일이며, 어떤 형태의 통합이든 사용자가 의도적으로 수행한 병합입니다.

때로는 병합이 정직한 선택입니다. Bitcoin Core는 버전 0.17.0에서 -avoidpartialspends 옵션을 추가했는데, 이 옵션은 수수료가 더 들더라도 같은 주소에 있는 모든 코인을 항상 함께 사용합니다. 그 논리는 재사용된 하나의 주소로 지급된 코인은 이미 공개적으로 연결되어 있으므로, 이들을 분리해 두어도 얻는 것이 없고 오히려 시점을 달리해 따로 사용하면 추가 정보가 새어 나간다는 것입니다.

병합이 일어나기 전에 확인하는 방법은 코인 컨트롤입니다. 코인 컨트롤을 켜고 지갑이 체크한 코인이 무엇인지 살펴본 뒤, 그대로 두고 싶은 코인의 체크를 해제하십시오.

병합 vs Ethereum의 Merge

"the merge"를 검색하면 대부분 다른 네트워크의 역사가 나옵니다. The Merge는 Ethereum이 2022년 9월 15일에 작업 증명에서 지분 증명으로 전환한 것이며, 이 합의 변경으로 Ethereum 채굴은 하루아침에 종료되었습니다. 비트코인에는 이에 비견할 사건이 없었고 여전히 작업 증명으로 체인을 보호합니다. 비트코인 맥락에서 병합은 항상 한 트랜잭션 안에서 코인을 합치는 것을 뜻하며, 걸려 있는 것은 프라이버시뿐입니다.

혼동하기 쉬운 용어

자주 묻는 질문

어떤 결제가 제 코인을 병합할지 어떻게 알 수 있습니까?

서명하기 전에 코인 컨트롤을 켜고 입력 목록을 확인하십시오. Sparrow, Electrum, Bitcoin Core 같은 지갑은 트랜잭션이 어떤 코인을 사용할지 정확히 보여 주며, 입력이 2개 이상인 트랜잭션은 모두 병합입니다.

병합은 되돌릴 수 있습니까?

아닙니다. 트랜잭션이 확정되면 두 서명은 영구히 체인에 남고, 누구나 한 당사자가 두 키를 모두 관리했다는 것을 볼 수 있습니다. 이후 트랜잭션은 모호함을 더할 수는 있어도 증거를 지울 수는 없습니다.

관련 용어

프라이버시와 보안 분야의 다른 용어

이 페이지를 영어로 읽기