당신의 주소가 드러내는 것: 영원히 공개되는 장부 위의 프라이버시

·6분 읽기·작성자: SSP Editorial Team
SSP Academy 커버: 온체인 프라이버시와 암호화폐 주소가 드러내는 것

당신의 주소가 드러내는 것: 영원히 공개되는 장부 위의 프라이버시

대부분의 사람은 암호화폐의 프라이버시 규칙을 거꾸로 배웁니다. 가명 — "홍길동" 대신 놓인 문자와 숫자의 문자열 — 이 곧 익명이라고 여기고, 그 문자열이 자신과 이어지는 일이 벌어진 뒤에야 그렇지 않다는 것을 알게 됩니다.

정확한 사고 모형은 그 반대입니다. 블록체인은 지금까지 이루어진 모든 결제에 대한, 영구적이고 공개되어 있으며 전 세계에 복제된 기록입니다. 가명성은 그 위에 덮인 얇은 막이고, 한 방향으로만 작동합니다. 세우기는 어렵고, 잃기는 하찮을 만큼 쉬우며, 되돌릴 수는 없습니다.

가명은 익명이 아니다

주소는 당신의 이름을 담지 않습니다. 나머지 전부를 담습니다. 당신이 받은 모든 금액, 보낸 모든 금액, 정확한 시각, 그리고 각 거래 건너편의 주소들. 세상 누구나 그것을 영원히, 허락을 구하지 않고 읽을 수 있습니다.

그 주소가 당신과 연결되는 일은 딱 한 번이면 충분합니다. 그다음부터는 거기 매달린 역사 전체 — 과거도 미래도 — 가 당신과 연결됩니다. 소급해서요. 연결을 풀 방법은 없습니다. 장부는 편집될 수 없으니까요.

바로 이 단일 실패 지점이라는 성질이 체인 위의 프라이버시를 특이하게 만듭니다. 대부분의 시스템에서 유출은 유출된 것을 드러냅니다. 여기서 유출은 그 주소가 여태 한 모든 일과 앞으로 할 모든 일을 드러냅니다.

주소는 어떻게 사람과 이어지나

당신이 누군가에게 말했습니다. 거래소는 신분증을 수집하고, 당신의 출금을 어느 주소로 보냈는지 정확히 압니다. 당신이 결제한 상점, 가입한 서비스, 돈을 보낸 친구도 마찬가지입니다.

당신이 공개했습니다. 게시판 서명의 후원 주소, 프로필의 팁 항아리, 지원 문의에 붙여 넣은 주소. 한번 색인되면 영구적입니다.

공통 입력 추정법. UTXO 체인에서 가장 큰 것이고, 당신의 협조를 전혀 필요로 하지 않습니다. 한 거래가 여러 입력을 한꺼번에 쓰면, 하나의 지갑이 그 전부를 통제했다는 추론이 거의 확실해집니다 — 그것들 모두에 서명하려면 그것들 모두의 키가 필요했으니까요. 체인 분석 회사들은 바로 이 근거로 주소를 묶고, 그 방식은 잘 통합니다. 알려진 주소 하나를 모르는 주소 셋과 합친 거래는, 방금 그 셋을 당신의 무리에 더한 것입니다.

거스름돈 주소 추론. 1 BTC 입력에서 0.3 BTC를 보내면 0.7이 거스름돈으로 당신에게 돌아옵니다. 어느 출력이 거스름돈인지 짐작하는 추정법들이 있습니다 — 딱 떨어지는 금액, 주소 유형의 일치, 출력 순서 — 어느 것도 확실하지는 않지만, 무리를 여러 단계 너머로 늘려 놓을 만큼은 자주 맞습니다.

주소 재사용. 한 주소로 거듭 받으면 당신의 재정 역사 전부가 감시하기 쉬운 한 자리에 모입니다. 이 목록에서 가장 흔하고 가장 피하기 쉬운 실수입니다.

시각과 금액. 특정한 순간에 이루어진 특이한 액수의 결제는 암호학 없이도 체인 밖 정보와 맞춰볼 수 있습니다.

이것이 현실에서 뜻하는 바

현실적인 위협은 국가급 상대가 아닙니다. 평범하고 훨씬 가까이 있습니다.

  • 당신이 돈을 보내는 누구든 당신의 잔액을 볼 수 있고, 따라서 당신이 무엇을 감당할 수 있는지 압니다.
  • 당신에게 돈을 주는 누구든 그 뒤에 당신이 그 돈으로 무엇을 하는지 지켜볼 수 있습니다.
  • 급여를 체인 위에서 지급하는 고용주는 수령자의 재정 생활 전체를 봅니다.
  • 공개된 후원 주소는 당신의 금고를 공적 기록으로 만듭니다.
  • 눈에 보이는 잔액이 실제 신원과 이어질 때 신체적 위험이 현실이 됩니다 — 운영 보안이 사람들 예상보다 더 중요한 이유입니다.

이 가운데 무엇도 영장을 필요로 하지 않습니다. 필요한 것은 블록 탐색기입니다.

실제로 도움이 되는 것

용도가 다르면 주소도 다르게 쓰십시오. 단연 가장 값진 습관입니다. 거래소에 주는 주소, 공개 후원 링크에 쓰는 주소, 장기 저축을 담아둔 주소는 같은 주소여서는 안 되고, 이상적으로는 둘 다에서 지출하는 거래로 이어지는 일이 결코 없어야 합니다.

하나의 지갑이 아니라 분리된 상자들로 생각하십시오. 공개 장부에서 프라이버시는 관련 없는 활동을 관련 없는 자리에 두는 데서 나옵니다. 두 주소가 같은 거래의 입력으로 등장하는 순간 그것들은 영구히 이어지고, 이후 아무리 조심해도 되돌려지지 않습니다.

합칠 때는 의도를 가지고 하십시오. 작은 입력을 여럿 쓸어 한 거래에 담는 것은 수수료에는 좋고 프라이버시에는 나쁩니다 — 하나의 지갑이 그 전부를 갖고 있었다는 사실을 공표하니까요. 두 걱정 모두 정당합니다. 요점은 지갑이 대신 정하게 두지 말고 알고서 고르는 것입니다.

예상하지 않은 더스트는 절대 쓰지 마십시오. 청하지 않은 아주 작은 결제는 의도적인 표식일 수 있고, 그것을 쓰면 보낸 이의 주소가 당신의 무리에 합쳐집니다. 이것이 주소 오염의 프라이버시 쪽 절반입니다 — 닮은꼴 사기를 깔아두는 바로 그 더스트가 당신의 코인에 꼬리표도 답니다.

거래소 출금은 모두 이름표가 붙었다고 가정하십시오. 실제로 그렇습니다. 당신이 출금하는 주소가 검증된 신원과 영구히 연결될 것을 전제로 계획하고, 거기에 무엇을 이어두고 싶은지 정하십시오.

SSP는 이것을 어떻게 다루나

SSP는 당신의 확장 공개키 두 개로부터 BIP-48 경로를 따라 주소를 파생하며, 그 마지막 두 단계는 유형 인덱스와 주소 인덱스입니다. 서로 다른 인덱스는 완전히 다른 주소를 만들어냅니다. 같은 키, 다른 파생, 그리고 그것들 사이에 체인에서 보이는 관계는 없습니다.

실제로 이는 같은 체인에 이름이 붙은 지갑을 여러 개 만들 수 있다는 뜻입니다. 각각 자기 파생 인덱스에, 각각 자기 주소와 잔액과 거래 내역을 가지고요. 같은 시드에서 파생되므로 하나의 백업으로 함께 복구되지만, 어떤 거래가 둘 이상에서 지출하지 않는 한 체인 위에서 그것들을 잇는 것은 아무것도 없습니다.

관심사를 나누기에 정말 쓸모 있는 재료입니다. 거래소를 상대하는 지갑, 저축용 지갑, 공개 주소용 지갑 — 모두 한 앱 안에 있고, 어느 것도 겉으로는 친척으로 보이지 않습니다.

이제 정직한 한계입니다. SSP는 결제마다 새 받는 주소를 자동으로 건네지 않습니다. 각 지갑은 하나의 주소를 보여주고, 새 주소는 전환기에서 새 지갑을 만들어 얻습니다. 많은 단일 서명 지갑은 받는 주소를 자동으로 돌립니다. SSP는 지금으로선 그것을 기본 동작이 아니라 의도적인 행위로 두고 있습니다. 분리는 마련되어 있고 자동은 아니며, 결제마다 주소 위생을 지키고 싶다면 일부러 해야 합니다.

분명히 짚어둘 구조적인 점도 하나 있습니다. 양날이기 때문입니다. SSP는 2-of-2 멀티시그 지갑이므로 비트코인 주소가 단일 키 주소가 아니라 P2WSH 스크립트입니다. 보안에는 더없이 좋고 체인 위에서는 조금 눈에 띕니다. 스크립트 주소는 전체 사용에서 단일 키 주소보다 작은 몫을 차지하고, 그만큼 익명 집합이 작아집니다. 어떤 멀티시그 구성에서도 마찬가지인 표준적인 맞바꿈이고, 얼버무리기보다 이름을 붙여두는 편이 낫습니다.

정직한 요약

완벽한 체인상 프라이버시는 평범한 지갑 위생으로는 이룰 수 없고, 그렇지 않다고 말하는 이는 과장하고 있는 것입니다. 그래도 좋은 습관이 사주는 것은 의미가 있습니다. 당신의 활동을 이어붙이는 비용을 "블록 탐색기를 연다"에서 "지속적인 분석을 돌린다"로 끌어올리고, 당신이 아끼는 칸막이들을 실제로 분리된 채로 지켜 줍니다.

가장 중요한 두 규칙은 단순합니다. 관련 없는 용도 사이에서 주소를 재사용하지 마십시오. 관련 없는 주소를 한 거래에서 합치지 마십시오.

나머지는 전부 다듬는 일입니다. 그 둘이야말로 일기처럼 읽히는 장부와, 서로 무관한 조각들의 묶음처럼 읽히는 장부를 가르는 차이입니다.

이 글 공유하기

관련 글