Dead Man’s Switch는 확인 응답이 없거나 정해진 시간이 지나면 미리 정한 동작을 가능하게 하는 장치입니다. 메시지를 보내거나 다른 비트코인 지출 경로를 열 수 있습니다. 소유자의 사망 여부를 판단하지 않으며, 기술적 접근이 상속권을 증명하지도 않습니다.
안나는 가족을 위한 계획을 세웁니다. 가능할 때는 직접 비트코인을 관리하되, 오래 연락할 수 없게 되면 다른 방법을 남겨 두려 합니다. 지갑은 비트코인을 받고 보내는 앱이나 기기입니다. 여기서 서명은 비밀 숫자 값인 개인 키로 결제를 승인했다는 검증 가능한 증거를 만드는 작업입니다. 다른 사람은 그 비밀 값을 몰라도 서명을 확인할 수 있습니다. 거래 출력에는 금액과 나중에 그 금액을 쓰기 위해 충족해야 할 조건이 담깁니다. Dead Man’s Switch가 판단하는 것은 확인 응답의 부재나 출력의 나이 같은 특정 신호입니다. 소유자가 왜 응답하지 않는지는 판단하지 못합니다. 입원, 고장 난 전화, 잊어버린 관리 작업도 같은 조건을 만족할 수 있습니다. 따라서 시스템이 실제로 무엇을 관찰하고 이후 무엇을 허용하는지부터 정해야 합니다. 정상 작동하는 장치라도 정당한 상속인을 가려내지는 못합니다. 계획의 일부를 돕는 것이지 관련 결정을 모두 대신하지는 않습니다. [1] [5] [8] [9]
deadmansswitch.net은 메시지 방식의 예입니다. 이메일을 미리 작성하고 수신자를 정한 뒤 정기적으로 응답합니다. 확인이 누락되면 서비스가 준비한 메시지를 보냅니다. 이는 지출 때 네트워크가 검사하는 규칙인 Bitcoin Script와 다릅니다. 이메일은 자료를 찾을 위치를 알려 줄 수 있지만 필요한 서명까지 주지는 않을 수 있습니다. 미전달, 계정 분실, 조기 유출도 고려해야 합니다. 지갑 키를 도출하는 단어인 Seed Phrase는 일반 메모가 아닙니다. 유출 후 타이머를 바꿔도 다른 사람이 얻은 지식을 없앨 수 없으며, 노출된 자금을 새 키 아래로 옮기는 문제도 해결해야 합니다. [7]
다른 방식은 지갑의 지출 조건 안에 들어갑니다. 예를 들어 Liana는 즉시 이용할 수 있는 기본 경로와 기다린 뒤 열리는 복구 경로를 구분합니다. 이 모델에서는 대기가 끝나도 안나의 원래 권한이 사라지지 않습니다. 선택지가 추가될 뿐, 누군가는 여전히 유효한 거래를 만들고 서명해 전파해야 합니다. 두 보유자 모두 경로를 쓸 수 있으면 같은 UTXO, 즉 아직 쓰지 않은 특정 거래 출력을 먼저 지출하려고 경쟁할 수도 있습니다. 결정하는 것은 체인에서 확인된 지출이지 앱의 소유자나 상속인 표시가 아닙니다. 관리를 놓치면 안나가 살아 있는 동안 다른 사람이 접근할 수 있습니다. [1] [5]
실무 준비는 가장 가까운 기한보다 충분히 일찍 시작합니다. 안나는 신뢰할 만한 알림, 시간 여유, 필요한 수수료 자금을 마련해야 합니다. 자주 갱신하면 수수료가 들고, 오래 기다리게 하면 복구 경로 접근이 늦어집니다. 가족에게는 올바른 키와 이해할 수 있는 지갑 설명, 알맞은 소프트웨어가 필요합니다. Output Descriptor는 출력을 찾고 지출하는 데 쓰는 키와 조건을 기계가 읽을 수 있게 설명한 것입니다. 설정만으로 필수 서명을 대신할 수는 없습니다. 자료를 안나의 사용할 수 없는 전화로만 열리는 계정에 가두면 안 됩니다. 그런 백업은 존재해도 필요할 때 도움이 되지 않습니다. [5] [6]
상대 시간 제한에서는 각 UTXO에 별도 대기 시간이 있습니다. 블록은 공동 기록에 추가하는 거래 묶음입니다. 출력이 블록 H에서 확인됐고 다른 경로가 1000블록을 요구하면, 나머지 조건을 충족한 상태에서 가장 빨라도 H+1000에 사용할 수 있습니다. 로그인이나 다른 입금은 이 출력의 나이를 초기화하지 않습니다. 안나는 해당 출력을 실제로 지출하고 의도한 조건을 갖춘 새 출력을 확인시켜야 합니다. 지갑 일부만 갱신하면 오래된 출력이 여전히 기한에 가까울 수 있습니다. 오늘 지갑을 열었다는 것과 모든 코인의 일정을 갱신했다는 것은 다릅니다. [1] [2] [9] [10]
Timelock은 지출 경로를 언제 쓸 수 있는지 제한합니다. BIP 65와 OP_CHECKLOCKTIMEVERIFY는 블록 높이 같은 절대 기준을 적용합니다. BIP 112와 OP_CHECKSEQUENCEVERIFY는 BIP 68과 함께 특정 UTXO가 일정 나이에 도달하도록 요구할 수 있습니다. 시간 기반 상대 제한은 512초 단위이며 블록에서 얻는 median-time-past를 씁니다. BIP 113은 이전 11개 블록 타임스탬프의 중앙값, 즉 정렬한 뒤 가운데 값을 설명합니다. 휴대전화 시간도 아니고 정확한 달력상의 순간을 보장하는 것도 아닙니다. 문서는 규칙을 명시하지만 일반 독자는 자기 계획이 어떤 시계를 쓰는지 알아야 합니다. [1] [2] [3] [4]
다른 계획은 지연 조건이 붙은 서명 완료 거래를 가족에게 줄 수 있습니다. nLockTime 필드는 그 거래가 언제 확인될 수 있는지 제한할 뿐, 키 보유자가 다른 거래에 서명하는 것까지 금지하지는 않습니다. 사전 서명 계획은 특정 UTXO, 목적지, 수수료 지급 방법을 가리킵니다. 다른 확인된 거래가 입력을 먼저 지출하면 기존 사전 서명 거래는 쓸 수 없게 됩니다. 문서를 수정한다고 자금이나 가족의 자료까지 갱신되지는 않습니다. 계획을 바꿀 때는 실제 출력, 서명 권한, 수신자가 새로 쓸 수 있는 정보를 받았는지 확인해야 합니다. [3]
Liana는 Signet 지침을 공개합니다. Signet은 실제 가치 없는 테스트 코인을 쓰는 별도 시험 네트워크입니다. 이곳에서 너무 이른 시도, 복구 경로 개방, 특정 UTXO의 기한 갱신을 시험할 수 있습니다. 자신의 계획에는 알림 미전달, 기본 키 분실, 실제 저장한 테스트 지갑 자료로 복구하기도 포함하는 편이 좋습니다. 수신자를 바꾼 뒤에는 예전 키와 출력이 무엇을 여전히 허용하는지도 봐야 합니다. 유효한 서명, 미확인 거래를 보관하는 mempool 수락, 블록 확인은 별개 단계입니다. 한 번의 성공적인 시연이 모든 실패에 대한 대비를 증명하지는 않습니다. [6] [1]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Bitcoin Inheritance Plan, Timelock, Bitcoin Vault, Miniscript, Output Descriptor, Seed Phrase. 다음 항목에서도 이 글을 참조합니다 Bitcoin Inheritance Plan.