비트코인 키 관리란, 어느 정도 가치가 있는 돈을 다루는 새로운 사용자에게 가장 두려운 측면 중 하나일 것입니다. 또한 가장 중요한 측면 중 하나이기도 합니다. 비트코인이 역사적으로 이전의 디지털 가치 형태와 진정으로 차별화되는 핵심 요소 중 하나는 자신의 자금을 통제하고 보관할 수 있는 능력입니다. 중앙 권한이나 기록 보관자에게 의존하지 않고 자금을 보유하고 전송하거나 지출할 수 있는 능력이죠. 자신의 개인 키를 보유할 수 없다면, 제3자 없이 비트코인을 진정으로 자주적으로 사용할 수는 없습니다. 이는 막대한 잠재력과 가능성의 문을 열어주지만, 동시에 막대한 책임과 위험의 문도 열어줍니다. 수년 동안 반복적으로 강조되어 온 것처럼, 비트코인 고객 지원은 없습니다. 전화할 도움 데스크도 없고, 실수를 되돌려줄 사람도 없으며, 오직 당신만이 있습니다.
이는 자신의 비트코인을 보관하는 데 있어 가장 어려운 장애물이며, 정신적이고 실용적인 장애물이기도 합니다. 이 분야는 다양한 모범 사례, 사용 방법 가이드, 최상의 장치에 대한 의견 등으로 넘쳐나며, 새로운 사용자들은 이곳에 도착할 때 모든 방향에서 이러한 정보에 폭격당합니다. 그러나 간단한 현실은 비트코인을 저장하는 방법에 대한 만능 솔루션은 없다는 것입니다. 어떤 것들은 다른 것들보다 사람들에게 더 널리 적용될 수 있으며, 더 큰 금액이나 작은 금액에 더 적합한 솔루션이 있습니다. 어떤 솔루션은 상황에 따라 전혀 의미가 없거나 완벽한 의미가 있을 수 있습니다. 하지만 모든 사람에게 똑같이 적용되는 개인 키 관리에 대한 최선의 방법은 없습니다. 그렇지 않다고 말하는 사람은 이 주제에 대한 조언을 듣지 말아야 할 사람일 것입니다.
키를 관리하는 방법은 여러 가지가 있지만, 비트코인이 처음 생성된 이후로 많은 발전이 있었습니다. 원래 비트코인 클라이언트는 비밀번호로 보호된 디지털 파일에 백업된 단일 독립 키를 생성했으며, 새로운 코인을 받을 때마다 새로운 백업을 만들어야 했습니다. 각 새로운 수신 주소는 이전 백업에 포함되지 않은 새로 생성된 키였습니다. 현재 우리는 사용자에게 단일 백업을 만들 수 있게 해주는 기억 보조 시드와 결정론적 지갑을 가지고 있어, 새로운 자금을 받을 때마다 그 백업을 갱신할 필요가 없습니다.
그러나 키를 안전하게 관리하는 데는 백업 형식 이상으로 고려해야 할 것이 많습니다.
싱글 시그와 멀티 시그
키 관리 조언과 관련하여 사람들이 처음 접하는 것 중 하나는 싱글 시그니처 지갑을 사용할지 멀티 시그 지갑을 사용할지에 대한 논쟁입니다. 두 “진영” 모두 평균 사용자에게 만능 솔루션이라고 주장하며, 오직 하나만 사용하라고 극단적으로 조언합니다. 하지만 위에서 언급했듯이, 키 관리에 있어 만능 솔루션은 없습니다. 각 개인은 자신의 개인적인 상황에 있으며, 그 상황을 고려하는 것이 가장 중요합니다.
멀티 시그로 넘어가기 전에 싱글 시그 지갑의 몇 가지 장점을 살펴보겠습니다. 먼저, 전체 지갑은 복구 가능하기 위해 기억 보조 시드의 복사본만 보관하면 됩니다. 돈을 보내는 모든 비트코인 주소는 다른 장치에서 결정론적으로 다시 생성할 수 있습니다. 시드는 모든 코인을 복구하는 데 필요한 유일한 것입니다. 또 다른 장점은 지출 비용입니다. 블록체인에서 싱글 시그로 코인을 보낼 때, 블록 공간을 덜 차지하므로 수수료가 적게 듭니다. 상속 상황에서 싱글 시그는 친구와 가족에게 남길 수 있는 간단한 것(기억 보조 시드)의 이점이 있습니다. 그들이 가져오기 쉬운 안전한 장치가 있다면, 기본적인 안내만으로도 쉽게 처리할 수 있습니다. 명백한 주요 단점은 무엇일까요? 단일 실패 지점입니다. 만약 당신의 기억 보조 시드나 키가 손상된다면, 그게 전부입니다. 악의적인 행위자가 당신의 코인을 훔치는 데 필요한 모든 것이며, 한 번 이루어진 일은 되돌릴 수 없습니다. 전화할 지원 라인도 없고, 환불도 없습니다. 그들은 영원히 사라집니다.
멀티 시그 지갑의 장점은 무엇일까요? 단일 실패 지점이 없습니다. 멀티 시그 지갑에서는 여러 세트의 개인 키에 접근하지 않으면 코인을 지출할 수 없습니다. 이는 기억 보조 시드의 지리적 분산을 통해 비트코인을 훔치기 위해 충분한 키 세트를 얻는 비용을 증가시킵니다. 또한 실제 소유자 외에 다른 사람이 멀티 시그의 한 세트의 키를 소유하게 하거나, 키를 여러 사람에게 분배하여 어느 개인도 “소유”하지 않도록 할 수 있습니다. 이는 Casa나 Unchained Capital과 같은 회사가 사용자에게 어느 정도 손을 잡아주는 서비스를 제공할 수 있는 방법입니다. 멀티 시그의 몇 가지 단점은 무엇일까요? 지갑에 포함된 모든 마스터 공개 키를 보호해야 합니다. 싱글 시그를 사용할 때는 복구하기 위해 기억 보조 시드만 필요합니다. 하지만 멀티 시그 지갑은 모든 기억 보조 시드의 공개 키를 사용하므로, 이들도 백업해야 합니다. 여기서 문제는 멀티 시그에 포함된 기억 보조 시드를 잃어버리고 일치하는 공개 키의 별도 백업이 없다면 복구할 방법이 없으며, 그 공개 키 없이는 멀티 시그 주소를 재생성하여 체인에서 자금을 찾을 수 없으므로 자금에 대한 접근을 잃게 됩니다. 멀티 시그는 (최소한 Schnorr/Taproot를 사용하는 MuSig 계획이 채택될 때까지) 체인에서 지출하는 데 싱글 시그보다 더 비쌉니다. 따라서 자금을 어디로 보내든 싱글 시그 주소보다 더 비쌉니다.
이제 상상의 비트코인을 살펴보겠습니다: 그들은 아파트에 혼자 살고 있으며, 가족과 잘 지내지 못하고, 친구들은 가장 책임감 있는 사람들이 아닙니다. 그들은 키 관리 솔루션을 설정하는 방법을 고민하고 있습니다. 누군가가 트위터에서 그들에게 Specter 또는 Blue Wallet로 멀티 시그 지갑을 설정하라고 조언합니다. 멀티 시그는 이 사람에게 어떻게 도움이 될까요? 그들은 아파트 외에 키를 저장할 장소가 없으므로 모든 키를 한 곳에 보관할 것입니다. 이는 멀티 시그 키를 분산하여 손실이나 도난에 대한 이점을 무의미하게 만들고, 체인에서 더 비싼 거래 비용을 초래합니다. 또한 모든 시드가 함께 저장되기 때문에 가장 가능성이 낮은 시나리오이긴 하지만, 하나의 시드를 잘못 두거나 손상시키면 자금을 잃을 위험이 있습니다. 이는 의미 있는 보안을 추가하지 않으며, 비트코인을 지출하는 비용을 증가시키고, 그들이 돈에 대한 접근을 잃을 수 있는 추가적인 방법을 제공합니다. 이러한 사람에게 적합할 수 있는 것은 제공자가 복구를 돕기 위해 키를 보유하는 멀티 시그 서비스를 이용하는 것입니다. 2-of-3를 사용하는 경우, 그들은 아파트에 두 개의 시드를 보관하고, 제공자는 하나를 보유하며, 신뢰할 수 없는 가족이나 책임감 없는 친구에게 하나의 시드를 남길 수 있습니다. 그렇게 하면 그 단일 시드로 자금을 지출할 수 없다는 것을 알면서도, 집에서 보관하는 두 개의 시드를 잃어버릴 경우에도 여전히 자금을 복구할 수 있습니다.
또 다른 상상의 비트코인을 살펴보겠습니다: 그들은 자신의 집과 휴가용 집으로 소유한 오두막이 있습니다. 아마도 그들은 선임 소프트웨어 엔지니어이거나 변호사로, 직장에서 자신의 잠긴 사무실이 있습니다. 그들은 합리적인 범위 내에서 여러 장소를 가지고 있습니다. 이 경우, 이 사람은 자신 외에 아무도 관여하지 않는 멀티 시그 설정을 사용하는 것이 합리적입니다. 그들은 2-of-3 지갑을 생성하여, 하나의 시드는 집에, 하나의 시드는 오두막에, 하나의 시드는 사무실에 보관할 수 있습니다(물론 각 시드 백업과 함께 세 개의 공개 키 복사본을 남겨야 합니다). 이는 그들이 실제로 키 자료를 저장할 수 있는 여러 안전한 장소에 접근할 수 있으므로 자금 손실과 도난으로부터 보호하는 지리적 중복성을 제공합니다. 이는 위의 첫 번째 가상의 비트코인 사용자와는 다릅니다.
이 두 가지 시나리오는 개인의 상황에 따라 두 방법의 강점과 단점을 명확히 보여줍니다. “더 안전하니까 멀티 시그를 사용하라!”는 모든 사람에게 항상 합리적인 선택이 아닙니다. 설령 그것이 합리적이라 하더라도, 다른 사람과 같은 방식으로 사용하는 것이 반드시 합리적이지는 않습니다. 싱글 키와 멀티 시그 키 설정 간의 결정을 내리기 전에, 자신의 생활 상황과 자신에게 맞는 것이 무엇인지에 대해 깊이 생각해야 합니다.
패스프레이즈
패스프레이즈는 보안에 대한 만능 솔루션으로 여겨지는 것 중 하나입니다. 현실은 훨씬 더 복잡하고 미묘합니다. 이 논의의 목적을 위해 당신의 기억 보조 시드가 손상되었다고 가정해 보겠습니다(패스프레이즈는 그런 시나리오에서 인터넷 비밀번호와 유사합니다). 패스프레이즈에 있는 엔트로피만큼만 보안을 추가합니다. 안전한 패스프레이즈를 사용했다면, 이는 상당한 보안을 추가할 수 있지만, 더 안전할수록 암기하기 어려워지는 단점이 있습니다. 패스프레이즈의 핵심 목적은 기억할 수 있는 무언가를 갖는 것이며, 물리적으로 저장되지 않는 것입니다. 따라서 패스프레이즈를 사용하는 것은 보안을 추가하면서도 잊어버릴 위험을 너무 크게 만들지 않는 균형 잡기 작업이 됩니다. 패스프레이즈를 기억하지 못하면 자금에 대한 접근을 잃게 됩니다.
Coldbit의 웹사이트에 있는 이 글은 BIP-39 기억 보조 단어 사용부터 다른 단어 목록, 알파벳 숫자 비밀번호까지 다양한 스타일의 패스프레이즈의 엔트로피를 잘 설명합니다. 이 기사는 공격자의 자원에 따라 다양한 클래스의 공격자를 정의합니다: 단일 노트북, 몇 개의 GPU, 패스프레이즈 크래킹을 위한 특수 ASIC, 대규모 슈퍼클러스터의 패스프레이즈 ASIC. 각 공격자 클래스에 대해 패스프레이즈의 길이와 공격자가 가진 자원에 따라 패스프레이즈를 무차별 대입하는 데 걸리는 평균 시간을 평가합니다. 이는 패스프레이즈를 사용하는 모든 사람이 선택할 때 고려해야 할 사항입니다. 기억 보조 시드 자체와 동일한 엔트로피에 접근하지 않는 한, 패스프레이즈는 공격자가 패스프레이즈를 무차별 대입하기 전에 자금을 새 시드로 이동할 수 있도록 하는 일시적인 방패일 뿐이며, 기억 보조 시드와 동일한 엔트로피에 접근하면 패스프레이즈를 잊어버릴 위험을 크게 높이고 자금에 대한 접근을 잃게 됩니다.
시드 문구에 대한 마지막 포인트는 암기와 기록 및 저장의 차이입니다. 시드를 암기하는 경우, 자신이 암기했다고 확신할 때까지 임시로 기록해 두고, 그 후 기록된 복사본을 파기하는 것이 현명할 수 있습니다. 만약 영구적인 물리적 복사본을 만들게 된다면, 제 생각에는 멀티 시그 설정처럼 다루는 것이 가장 좋습니다. 이 시점에서 당신의 기억 보조 시드와 패스프레이즈는 각각 “멀티 시그”의 두 개의 “키”를 구성하며, 둘 다 같은 장소에 저장하는 것은 보안 위험이 큽니다. 패스프레이즈의 주요 이점은 “당신이 아는 것”을 “당신이 가진 것”(당신의 기억 보조 시드)에 추가하는 것입니다. 패스프레이즈를 기록함으로써 이 사용에서 벗어난다면, 이를 염두에 두고 별도로 보관하고 함께 찾기 쉽지 않도록 계획해야 합니다.
시드 백업 저장
이는 모든 지갑 설정에서 고려해야 할 핵심 사항입니다. 하드웨어 지갑은 일반적으로 장치에서 키를 추출하는 것을 매우 비싸게 만드는 물리적 보안을 제공하며, 안전하게 사용할 수 있는 소프트웨어 지갑은 지갑이 열려 있지 않고 사용되지 않을 때 키를 암호화하여 저장합니다. 그러나 이러한 모든 보호 조치는 기억 보조 시드를 책상에 그냥 두면 무의미합니다. 기억 보조 시드의 물리적 보안은 매우 중요하며, 이는 안전 금고에서 오는 것이든, 도둑이나 공격자가 찾지 않을 곳에 숨기는 것이든, 당신의 상황에 따라 고려해야 할 사항입니다. 그러나 그것은 당신 외에는 누구나 쉽게 접근할 수 있는 곳에 두어서는 안 됩니다. 제거하기 어렵거나 부수기 힘든 안전 금고가 좋은 장소가 될 수 있으며, 책의 여러 페이지에 쓰거나 느슨한 바닥판 아래에 숨기는 것과 같이 즉시 명백하지 않은 곳이 좋습니다(이 예시를 문자 그대로 받아들이지 마세요, 하지만 도둑이 귀중한 것을 찾으러 가지 않을 장소에 두는 것이 좋습니다).
만약 당신이 자신의 집이 아닌 다른 곳에 기억 보조 시드를 저장하게 된다면, 이 점을 강조하고 싶습니다. 적절히 강력한 패스프레이즈 없이 그렇게 하지 마세요. 가능하다면 변조 방지 가방이나 설정과 함께 저장하여 주기적으로 시드가 여전히 존재하고 마지막 점검 이후 다른 사람이 변조하지 않았는지 확인할 수 있도록 해야 합니다. 개인적으로는 강력한 물리적 보안이나 은폐(숨기기)가 자신의 거주지에서 가장 좋은 방법이라고 생각하지만, 보안이나 재해 위험으로 인해 다른 곳에 저장해야 할 필요가 있다면, 변조 방지 조치나 패스프레이즈와 관계없이 신뢰할 수 있는 사람에게 저장하는 것이 좋습니다(싱글 시그 주소에 대한 보안 예치금은 끔찍한 아이디어입니다).
만약 당신이 이러한 상황에 처할 가능성이 있다면, 금속 시드 백업을 어떻게 파기할 것인지도 고려해야 합니다. 나라를 떠나고 다시 돌아오지 않을 것이라고 상상해 보세요. 그러나 당신은 글자 프레스를 사용하여 스탬프를 찍거나 에칭된 단어 시드를 가지고 있습니다. 세관을 통과할 수 없습니다. 또한 계속 사용할 계획이라면 떠날 때 발견될 수 있는 곳에 두고 싶지 않습니다. 만약 이러한 시나리오가 미래에 있을 가능성이 있다면, 내구성을 위해 강철 시드를 유지하고 싶다면 타일 기반 시드 백업을 사용하는 것이 좋습니다. 그렇지 않으면 떠나기 전이나 후에 모든 자금을 새 시드로 이동해야 할 것입니다. 이는 다양한 패스프레이즈에 따라 자금이 분리되어 있는 경우, 또는 UTXO를 관리하여 격리된 상태로 유지한 경우, 자금을 한 번에 조금씩 이동해야 하므로 시간이 많이 걸리고 복잡할 수 있습니다. 이는 프라이버시와 격리를 유지하기 위해 연결하지 않고 자금을 이동해야 하기 때문입니다.
큰 그림
자신의 키를 관리하는 것은 비트코인을 특별하게 만드는 핵심이지만, 또한 큰 책임이기도 합니다. 이는 야생에서 하이킹을 하는 것과 같습니다. 선택할 수 있는 다양한 경로가 있으며, 어떤 경로는 힘들고 힘든 길이며, 어떤 경로는 쉽고 편안하며, 어떤 경로는 장애물이 있습니다. 원한다면 완전히 트레일에서 벗어날 수도 있지만, 그럴 경우 길을 잃을 위험이 있습니다. 자연 속으로 나갈 때, 당신이 의지할 수 있는 사람은 오직 당신뿐입니다. 필요한 준비와 이해의 수준은 모두에게 동일하지 않으며, 그런 생각에 빠지지 않도록 해야 합니다.
이 글은 신오비의 게스트 포스트입니다. 표현된 의견은 전적으로 그들의 것이며 BTC Inc 또는 Bitcoin Magazine의 의견을 반드시 반영하지는 않습니다.