이 글을 이해하기 위해서 컴퓨터 공학 지식이 필요하지 않습니다.
Anonymity
Blockchain 은 익명성을 가지는 시스템입니다.
다만, Chain 내에서 발생한 모든 Transaction 을 기록하고, 공유하고 있으므로 추적될 수 있습니다.
소비가 발생하기 전까지 체인 내에 알려진 정보는 Address 뿐이지만, 소비 이후에는 아래 정보가 공개됩니다.
- 해당 Address 와 연계된 Public Key 가 공개됩니다.
- 같은 Address 를 반복적으로 사용하면 해당 Transaction 은 같은 Owner 에 의한 것임이 공개됩니다.
- 자연인 (natural person) 도 Know your customer (KYC) 와 같은 정보와 조합되어 특정될 수 있습니다.
New Address Per Transaction
매 회 Output 으로 새 Address 를 사용하고 기존 Address 를 버리는 방법으로 익명성을 강화할 수 있습니다.
이 방식은 Bitcoin 을 비롯한 UTXO 시스템에서 권장되는 방법입니다.
- Bitcoin 은 Transaction 에 서로 다른 Address 의 Balance 를 합쳐서 사용할 수 있습니다.
By Oracle
Oracle 을 경유하는 것으로 체인 내의 Transaction 연관 관계를 끊을 수 있습니다.
어떤 방식으로든 체인 외적 요소와 결합되면, 체인 내 기록만으로는 검증 및 추적이 불가능해집니다.
Transfer By Centralized Service
예 )
- Exchange 에 1 BTC 를 입금합니다. Transaction 은 Address 1 -> User1's Deposit Address On Exchange 가 됩니다.
- Exchange 에서 1 BTC 를 출금합니다. Transaction 은 Exchange's Bankroll Address -> Address 2 가 됩니다.
Address 1 -> Address 2 로 자산이 옮겨 졌지만, 체인 내 기록만으로는 이를 추적할 수 없으며, Centralized Service 에 보관된 기록을 참조하여 Transaction 의 연결 고리를 찾아야만 합니다.
과정이 다소 복잡해지기는 했지만, Centralized Service 의 협조가 있다면, 추적이 가능합니다. 만약, KYC 정보를 가지고 있는 Centralized Service 인 경우, 자연인도 추적할 수 있습니다.
Exchange 외에도 서로 다른 Chain 간 자산을 옮겨주는 Bridge 서비스나 Side Chain 도 이 방식으로 분류될 수 있습니다.
Transfer By Transaction Mixing
Centralized Service 를 이용한다고 볼 수 있지만, 이 방식은 블록체인 자체 기능으로써 포함되어 있는 경우가 많습니다. 흔히 Dark Coin 으로 분류되는 Blockchain 들이 Native 로 이 방식을 지원합니다.
예 )
- User1 은 Master Node 에게 Mixing (CoinJoin) 을 요청합니다.
- User1 의 자산은 지정 된 단위 (0.001, 0.01, ...) 의 자산들로 분할됩니다.
- Master Node 는 User 1 외 다른 User 들의 요청을 같이 모아 뒤섞으며, 이 과정을 N Round 만큼 반복합니다.
가장 Laundry 에 가까운 방법이며, 이 과정을 중에 발생한 모든 Output 을 추적해야 하므로, 추적 비용이 크게 상승합니다. 이러한 특성에 따라, Dark Coin 을 Market 에서 퇴출 시키기 위한 시도가 이어지고 있습니다.
Transfer By Peer-To-Peer Trade
어떤 Exchange 는 개인 간 거래를 주선하기도 합니다.
이러한 거래는 주로 Offline 에서 이뤄지고, 거래에 사용되는 자산의 출처를 알기 어렵기 때문에 범죄에 연루될 가능성이 있습니다.