본문 바로가기

Korean

당신 크립토 지갑의 니모닉 구문을 백업하는 최고의 방법

FTX 파산 사태 이후, 나는 크립토 자산의 대부분을 탈중앙화 지갑으로 옮겼고, 그것이 안전할 것이라고 믿고 있었다. 하지만, 내가 목격한 두 사건으로 인해 나는 내가 얼마나 어리석고 안일한 지 깨닫게 되었다. 

 첫번째 사건은 회사의 콜드월렛이 해킹되어 파산 위기에 있는 한 크립토 회사의 대표이사의 이야기이다. 그 콜드월렛은 대표이사 본인 만이 직접 관리하고 본인은 결백하다고 주장하였다. 콜드월렛의 복구 니모닉은 회사 금고에 보관되고 있는데, 대표는 회사 금고에 접근할 수 있는 소수의 동료 중 하나가 횡령을 한 것으로 의심하고 있다고 하였다. 그는 회사의 자산과 가장 가까운 동료들에 대한 신뢰 모두를 잃었다.

 두번째 사건은 파트너 회사의 한 젊은 직원이 급성 뇌경색으로 사망한 사건이었다. 그 누구도 20대 중반의 그가 갑자기 사망할 것을 예상하지 못했다. 유족은 상속 절차를 통해 고인의 암호화폐 거래소 계정에 접근할 수 있었으나 대부분의 코인은 개인 지갑으로 출금되어 있었다. 나는 유족에게 니모닉에 대해 설명해주고, 집이나 사무실 등에서 니모닉을 찾아 지갑을 복구해 보라고 조언했지만, 유족은 니모닉을 찾을 수 없다고 하였다.

 위 두 가지 사건은 니모닉 관리에 있어서 발생하는 모순된 상황을 보여주고 있다. 니모닉은 유출되지 않아야 하지만, 동시에 분실되지도 않아야 한다. 개인이 은밀하게 관리하면 유출의 가능성은 적어지지만, 분실의 가능성은 커진다. 분실의 가능성을 줄이기 위해 여러 곳에 저장하거나 여러 사람이 접근할 수 있게하면 유출의 가능성이 커진다.

 나는 이 모순을 해결하기 위해 다양한 솔루션을 리서치하였으나 아래 내용 중 하나 이상의 이유로 적절한 솔루션이 아니었다.

  1. 제 3자를 신뢰하고 의존해야 함: 중앙화 지갑을 사용하는 것과 근본적으로 차이가 없다. 비트코인은 중앙화된 기관에 대한 회의에서 탄생했음을 기억하라.
  2. 결정론적인 시스템에 의존함: 신체 정보(지문, 홍채 등), 개인이 설정한 암호 또는 암호 체계  등 결정론적인 시스템에 의존하면 이러한 정보가 유출되거나 해당 정보나 체계를 알고 있는 사람에게 유출될 수 있다. 
  3. 불완전한 기억력에 의존 (fragile memory): 다양한 기억법을 활용한 소위 Brain wallet은 아무리 훌륭한 기억법이라고 할 지라도 기억이 훼손될 가능성이 존재하며, 많은 경우, 복구가 불가능하다. 
  4. 접근 제어의 한계: 지갑의 원 소유자에게 문제가 생겼을 때, 원 소유자가 지정한 사람에게 적절히 소유권이 이전되어야 하나 안전한 이전이 어렵거나 이전 과정에서 제 3자에게 도난될 가능성이 있다. 

 FindingMnemo는 개인의 선호를 활용하여 니모닉을 저장하고 복원함으로써 위의 문제점들을 탈중앙화된 방식으로 극복하여 Self-custody를 실현하는데 있어 가장 큰 문제 중 하나인 니모닉 관리 문제를 해결할 수 있다. 

 FindingMnemo의 동작을 간단히 설명하면 다음과 같다. 대부분의 크립토 지갑들은 BIP-39 표준을 활용하여 2048개(11비트)의 영어 단어 12개~24개를 조합한 니모닉을 생성하고, 이를 통해 지갑을 복구할 수 있게 한다. FindingMnemo는 니모닉의 바이너리 데이터를 개인의 선호로 변환하여 외부 기관이나 기억력에 의존하지 않고 안전하게 관리할 수 있도록 한다. 예를 들면,  BIP-39 표준 중 527번째 영어 단어 dove는 이진수 01000001110로 표현될 수 있다. FindingMnemo는 니모닉의 이진수 표현을 아래 표 1과 같이 11개의 나의 선호로 변환한다. A와 B 중 A를 선호한다면 1, B를 선호한다면 0으로 대응시킬 수 있다.

 

 그리고 FindingMnemo를 저장함에 있어 A vs. B의 리스트만을 보관함으로써 안전하게 나의 니모닉을 저장했다 니모닉이 필요할 때, 내 선호를 선택하여 01000001110 이라는 원래 니모닉 데이터를  복구할 수 있다.

 FindingMnemo는 기존 솔루션들의 문제점들을 아래와 같이 극복할 수 있다.

  1. 중앙화된 기관을 신뢰하고 의존할 필요가 전혀 없다.
  2. 스토캐스틱 시스템이라 유출의 위험이 낮다. 실험을 해보면, 잘 만들어진 FindingMnemo는 소유자의 가족이나 가까운 친구라고 하더라도 많아야 전체 비트 데이터 중 60%를 맞게 추정하기도 어렵다. 물론, 당신의 인스타그램이 당신이 키우는 개 사진으로 도배되어 있고 주변 사람들이 모두 당신이 애견인이라는 것을 안다면, Dogs vs. Cats 같은 항목은 리스트에 포함시키지 말아야 할 것이다. 예를 들어, 나는 “Gatorade vs. Powerade” 중 분명히 하나를 더 선호하지만, 나의 부모님, 부인, 최고의 친구들도 둘 중 어떤 것을 내가 더 선호하는지 명확히 답하지 못하고, 임의로 추측할 수 밖에 없다. 
  3. FindingMnemo를 사용하기 위해 특별한 기억법을 훈련하거나 기억을 잃어버릴까봐 전전긍긍하지 않아도 된다. 물론 선호도 시간이 흐르면 변할 수 있으므로 가끔 FindingMnemo를 업데이트해야 할 수는 있다. 무엇보다도 시간이 흘러 몇몇의 선호가 불분명해져서 몇 비트의 데이터가 불분명하더라도 이는 기술적으로 복구 가능하다. 반면 기존 기억법들은 최고의 최면술사를 고용하더라도 당신의 기억은 복구 불가능할 수 있다.
  4. FindingMnemo의 또 다른 가장 아름다운 장점 중 하나는 내가 원하는 사람에게 안전하게 니모닉을 전달 가능하다는 점이다. 당신의 소중한 사람의 선호를 이용하여 FindingMnemo를 만들어서 나에게 무슨 일이 생겼을 때, 그들에게 전달되도록 할 수 있다. 유산 상속 등 이전 과정에서 다른 누군가에게 FindingMnemo를 유출되더라도 상속자의 선호를 알수 없는 타인은 니모닉을 복구할 수 없을 것이다. 예를 들어, 당신의 변호사(an estate lawyer)가 당신을 배신하고 FindingMnemo를 열어보더라도 그들은 니모닉을 복구할 수 없을 것이다.

 

 FindingMnemo에 대해 개인의 선호 역시 해킹될 수 있다는 우려를 가질 수 있다. 인터넷 검색 기록, 소비 패턴, 개인 정보 등을 분석하여 개인의 선호가 파악 가능할 것이라고 우려한다. 그러나 FindingMnemo를 작성하는 원칙을 잘 따른다면, 당신의 가족, 가장 가까운 친구들 그리고 구글, 애플, 페이스북이 함께 정보를 공유하고 협력한다고 하더라도 복원할 수 없는 FindingMnemo를 작성할 수 있다. (상세한 내용은 다음 블로그에서 다룰 예정이다.) 

 미국 나사가 무중력 상태인 우주에서도 잘 동작하는 볼펜을 개발하기 위해 수백만달러를 낭비하고 있을 동안 소련은 연필을 사용하고 있었다는 일화를 알고 있는가?  당신의 크립토 지갑을 안전하게 백업하기 위해 당신에게 필요한 것은 수백만달러 짜리 수퍼 금고가 아니다. 오늘 당장 당신만의 FindingMnemo를 생성하라!