전제 조건
이 가이드에서는 개인정보를 보호하는 방식으로 비트코인을 송금하는 방법을 설명합니다. Sparrow를 처음 사용하는 경우 빠른 시작 가이드에서 유용한 소개를 확인할 수 있습니다.
비트코인에서 개인정보 보호가 중요한 이유
개인 정보 보호 도구가 필요한 이유를 이해하려면 비트코인 UTXO 모델을 이해하는 것이 중요합니다.
모든 비트코인 잔액은 특정 주소로 전송되는 트랜잭션 출력(TXO)으로 표시됩니다. 이러한 자금이 사용되기 전까지는 미사용 트랜잭션 출력(UTXO)이라고 합니다. 각 UTXO에는 고유하고 고정된 금액이 있습니다.
비트코인을 사용할 때 하나 이상의 UTXO를 거래의 입력으로 결합합니다. 블록체인에서 트랜잭션이 확인되면 이러한 입력 UTXO는 다시 사용할 수 없는 "사용됨"이 됩니다. 지출한 금액이 입력한 UTXO와 정확히 일치하지 않으면 "변경"이 생성되어 남은 금액이 새 UTXO로 지갑에 반환됩니다.
비트코인 블록체인은 공개되어 있기 때문에 이 모델은 개인 정보 보호에 몇 가지 영향을 미칩니다:
- 잔액 공개: 누구나 거래에 사용한 입력 UTXO를 볼 수 있으므로 잔액에 대한 정보가 노출될 수 있습니다.
- 지출 추적: 퍼블릭 블록체인을 통해 관찰자는 '변화'(및 그에 따른 변화 산출물)가 언제 소비되는지 확인할 수 있으며, 시간 경과에 따른 지출 패턴을 파악할 수 있습니다.
- UTXO 클러스터링: 트랜잭션의 모든 입력 UTXO는 종종 동일한 소유자에게 속한 것으로 간주되어 트랜잭션을 연결하는 클러스터를 생성합니다.
- 블록체인 분석: 블록체인 분석 도구는 휴리스틱을 사용하여 소유권 변경 사항을 파악하고 금융 활동을 식별합니다.
개인정보 보호 도구
개인정보 보호 도구는 이러한 휴리스틱을 방해하고 개인정보를 보호하는 것을 목표로 합니다. 예를 들면 다음과 같습니다:
- 코인조인: 이는 여러 사용자의 트랜잭션을 결합하여 트랜잭션 그래프에 혼란과 엔트로피를 유발합니다.
- Payjoin: 이로 인해 UTXO 소유권에 대한 가정이 깨져 자금을 추적하기가 더 어려워집니다.
개인정보 보호가 중요한 이유
개인정보 보호 도구를 사용하면 다음과 같이 할 수 있습니다:
- 거래 내역 난독화: 거래를 연결하고 지출을 추적하기 어렵게 만드세요.
- 잔액을 보호하세요: 금융 보유 정보에 대해 공개되는 정보의 양을 줄이세요.
가짜 2인 코인조인(스톤월 거래)
비트코인을 사용할 때 프라이버시를 강화하는 일반적인 방법은 "동등한 출력 코인조인"이라는 기술을 사용하는 것입니다. 이는 여러 개인이 동일한 출력 금액의 트랜잭션을 생성하기 위해 입력에 기여하는 것을 포함합니다. 이러한 모호성으로 인해 각 출력이 모든 참여자의 소유가 될 수 있기 때문에 자금의 소유권을 추적하기가 더 어려워집니다.
다른 사람과 협력할 필요 없이 개인정보 보호를 도입하는 간단한 방법은 "가짜 코인조인"("스톤월 트랜잭션"이라고도 함)을 만드는 것입니다. 이는 사용자가 직접 만든 트랜잭션이지만 여러 사람이 만든 것처럼 보입니다. 외부 관찰자는 코인 조인이 진짜인지 가짜인지 구분할 수 없습니다.
가짜 코인 가입의 이점:
- 공동 작업 없음: 다른 사람과 함께 작업할 필요가 없습니다.
- 모든 지갑에서 작동합니다: 이 기술은 하드웨어 지갑을 포함한 모든 유형의 지갑에 사용할 수 있습니다.
작동 방식:
두 개의 동일한 출력이 있는 트랜잭션을 상상해 보세요. 두 사람이 자금을 출자한 실제 코인조인일 수도 있고, 자신의 자금을 두 개의 동일한 출금으로 분할한 것일 수도 있습니다. 이러한 모호성 때문에 어떤 자금이 누구의 것인지 추적하기 어렵습니다.
참고: 가짜 코인 조인은 개인정보 보호 계층을 제공하지만, 여러 당사자 간의 진정한 협업을 포함하는 실제 코인 조인만큼 효과적이지는 않습니다.
본인과의 코인조인을 만들려면 스패로우의 보내기 탭으로 이동해 평소처럼 트랜잭션을 생성합니다. 그런 다음 다음 대상 최적화를 켭니다. 개인 정보 보호 토글 버튼을 클릭하세요. 지갑에 충분한 자금이 있으면 스패로우가 자동으로 코인 조인을 생성합니다.
스패로우가 코인조인을 구축하는 방법은 다음과 같습니다:
스패로우는 코인조인의 각 "개인"을 나타내는 두 세트의 입력으로 코인조인을 생성합니다. 각 '개인'은 결제 금액보다 더 많은 금액을 기여해야 하므로 지갑에 결제 금액의 두 배를 감당할 수 있는 충분한 자금이 있어야 합니다. 자금이 충분하지 않은 경우에도 공동 코인 조인을 수행할 수 있으며, 이에 대해서는 나중에 설명해드리겠습니다.
트랜잭션에는 여러 가지 출력이 있습니다:
- 첫 번째 출력은 주소에 있는 실제 결제 금액입니다. 다음 주소로 결제 필드에 입력합니다.
- 두 번째 출력은 변경 주소 중 하나로 전송되는 동일한 금액(5,670SAT)의 '미끼'입니다.
- 마지막으로 '개인'별로 하나씩 두 개의 잔돈이 지갑으로 다시 전송됩니다.
이 거래는 외부 관찰자가 보기에는 실제 2인 코인 조인처럼 보이지만, 실제로는 자신의 자금을 사용해 코인 조인의 착각을 불러일으키는 거래입니다. 이 추가적인 프라이버시 계층은 추가 입출금으로 인해 약간 더 높은 수수료를 지불해야 합니다.
스패로우에서 이러한 유형의 코인조인을 생성하려면 결제하는 주소가 지갑과 동일한 유형이어야 합니다. 이렇게 하면 출력이 비슷해 보이고 실제 코인 조인이라는 착각을 불러일으킬 수 있습니다.
이제 평소처럼 이 트랜잭션을 생성, 서명, 브로드캐스트할 수 있으며, 이 과정에서 추가적인 개인정보 보호를 받을 수 있습니다.
비대화형 결제를 위한 PayNym 및 결제 코드
앞의 예에서는 매번 결제할 때마다 수취인으로부터 새로운 주소를 받아야 했습니다. 하지만 매번 연락할 필요 없이 누군가에게 결제하고 싶다면 어떻게 해야 할까요? 바로 이때 PayNyms와 결제 코드가 필요합니다.
결제 코드:
- 고유 식별자: 각 지갑은 결제 코드라는 고유 식별자를 생성할 수 있습니다.
- 결정론적 생성: 이 코드는 결정론적으로 생성되므로 특정 알고리즘에 따라 계산됩니다.
- 개인정보 보호: 결제 코드는 지갑에 대한 어떠한 정보도 노출하지 않으므로 안전하게 공유할 수 있습니다.
- 길이: 결제 코드가 상당히 길기 때문에 직접 공유하기가 어렵습니다.
PayNyms:
- 디렉토리: PayNym 디렉토리는 https://PayNym.is 를 사용하면 짧고 친근한 결제 코드 이름을 만들 수 있습니다.
- 예시: PayNym은 다음과 같이 보일 수 있습니다.
+roundgrass881
. - 고유성: 각 PayNym은 고유합니다.
- 프로필 사진: PayNyms는 '로봇' 프로필 사진을 연관시켜 기억하기 쉽게 만들었습니다.
- 연락처: 각 PayNym은 정기적으로 상호 작용하는 다른 PayNym을 대표하는 연락처 목록을 가질 수 있습니다.
PayNyms 사용:
- 선택 사항입니다: PayNym 사용은 선택 사항이며 구성 파일에서 활성화할 수 있습니다.
- 결제 코드: PayNyms를 생성하지 않고도 결제 코드를 바로 사용할 수 있습니다.
혜택:
- 비대화형 결제: 매번 새 주소를 요청할 필요 없이 다른 사람에게 결제할 수 있습니다.
- 개인정보 보호: PayNyms와 결제 코드는 지갑 정보를 숨겨 개인 정보를 보호하는 데 도움이 됩니다.
- 사용 편의성: 짧고 친근한 PayNym을 사용하면 결제 정보를 더 쉽게 공유할 수 있습니다.
PayNyms는 보다 원활하고 비공개적인 비대화형 결제를 가능하게 하는 Sparrow의 기능입니다.
PayNym으로 결제하기
PayNym으로 직접 송금하면 송금자와 수취인만 아는 비공개 주소로 송금이 자동으로 라우팅됩니다.
에서 보내기 탭에서 오른쪽에 있는 아래쪽 화살표를 클릭합니다. 결제처 필드를 선택하고 PayNym...
Н지갑과 연결된 PayNym이 표시되는 대화 상자가 나타납니다. 검색해야 하는 경우 지갑의 PayNym 검색 버튼을 클릭합니다.
다음을 선택하면 PayNym... 에서 보내기 탭에서 받는 사람의 PayNym을 찾아야 합니다:
- 연락처 찾기: 연락처 목록에서 PayNym을 찾습니다.
- 연락처 추가: 페이님이 목록에 없는 경우, 페이님을 목록에 입력하세요. 연락처 찾기 필드를 클릭하고 연락처 추가 를 클릭합니다.
- 연락처 링크: PayNym을 추가한 후 링크 연락처 버튼을 클릭합니다.
연락처 연결하기:
연락처를 연결하려면 PayNym과 연결된 주소로 소액 알림 트랜잭션을 보내야 합니다. 이는 연결을 설정하고 PayNym이 자금을 받을 준비가 되었는지 확인하는 데 필요합니다. 이 알림 트랜잭션에는 546샛(채굴 수수료가 추가됨)이 필요합니다.
대안: 결제 코드를 사용한 직접 결제:
결제 코드를 '결제 대상' 필드에 붙여넣어 바로 보낼 수도 있습니다.
참고: 현재 탭루트(P2TR) 지갑에서는 PayNyms로 직접 결제가 지원되지 않습니다.
연락처를 연결하면 Sparrow와 PayNym 지갑은 두 지갑에 대해 고유한 송금 및 수신 주소 세트를 생성합니다. 이렇게 하면 추가 상호 작용 없이 이 PayNym으로 독립적이고 비공개적으로 결제를 보낼 수 있습니다.
- 일회성 연결: 알림 트랜잭션은 링크를 설정하기 위해 한 번만 전송하면 됩니다.
- 연락처 연결: PayNym이 귀하를 연락처로 추가하면 자동으로 연결되며 동일한 방식으로 결제를 보낼 수 있습니다.
- 블록체인 스토리지: 링크는 블록체인에 저장됩니다.
- 시드 복원: 백업에서 지갑을 복원해야 하는 경우, 지갑 시드를 사용하여 해당 주소로 전송된 모든 자금을 복구할 수 있습니다.
- 마스터 지갑: 이 기능을 통해 송금한 자금은 여러 개의 계정을 구성한 경우에도 기본(마스터) 지갑에 표시됩니다.
연결된 PayNym으로 보내기:
- 연락처로 보내기: 클릭 연락처로 보내기 를 클릭하여 결제를 시작하세요.
- PayNym의 Pay To 필드: 대화 상자가 닫히고 결제처 필드에 PayNym으로 결제하고 있음을 표시합니다.
- 레이블 및 금액: 결제 레이블과 금액을 입력합니다.
직접 결제:
- 비공개 주소: Sparrow는 자동으로 귀하와 PayNym 수신자에게만 알려진 비공개 전송 주소를 사용합니다.
- 트랜잭션 만들기: 평소처럼 트랜잭션을 계속 진행합니다(생성, 서명, 브로드캐스트).
결론
이러한 도구를 활용하면 비트코인으로 거래할 때 개인정보 보호를 크게 강화할 수 있습니다. PayNym에 직접 연결하고 결제하는 기능은 서버를 통해 새로운 주소를 제공할 필요 없이 독립적으로 결제를 주고받을 때 특히 유용합니다. 금융 개인정보 보호에 대한 통제력을 유지하는 데 도움이 되는 강력한 기능입니다. 모든 거래에 이러한 개인정보 보호 기술을 사용하는 것을 고려해 보세요. 비트코인 생태계에서 프라이버시를 우선시하기 시작하기에 아직 늦지 않았습니다.