Bitcoin Private Key는 secp256k1 군 차수보다 작은 유효한 0이 아닌 스칼라입니다. 공개 키를 유도할 수 있지만 일반적인 보안 전제에서 역계산은 현실적으로 어렵습니다.
서명은 출력 조건을 충족할 수 있지만 키 하나가 충분하지 않을 수 있습니다. multisig는 추가 서명이 필요하고 스크립트는 시간 잠금을 둘 수 있습니다. 체인은 출력과 조건을 기록하며 개인 키 이전은 기록하지 않습니다. 올바른 서명 구현은 키를 드러내지 않습니다. [libsecp256k1: secret-key interface] [Bitcoin Developer Reference: Transactions]
안전 키는 암호학적 무작위성 또는 올바르게 유도한 seed에서 나옵니다. 사람이 고른 문구와 예측 가능한 생성기는 탐색 공간을 크게 줄입니다. WIF는 체크섬이 있는 인코딩이지 암호화가 아니며 복사하면 비밀이 전달됩니다. [libsecp256k1: secret-key interface] [BIP 32: hierarchical deterministic wallets] [Bitcoin Developer Guide: Wallets]
BIP 32는 seed와 chain code로 키 트리를 유도하며 말단 키 하나의 백업에 다른 분기는 없습니다. BIP 39 단어와 선택 passphrase는 seed를 만들며 읽기 쉬운 Private Key만은 아닙니다. 다른 passphrase는 오류 대신 다른 seed를 만듭니다. [BIP 32: hierarchical deterministic wallets] [BIP 39: mnemonic to seed]
침해된 컴퓨터, 서명 구현 결함, 노출 백업은 지출을 허용할 수 있습니다. Hardware wallet은 비밀을 분리하지만 신뢰 화면에서 목적지와 금액을 확인해야 합니다. 기기 소유만으로 firmware나 백업 안전이 증명되지 않습니다. [libsecp256k1: secret-key interface]
신뢰 환경에서 복구를 시험하며 실제 키나 seed는 웹 양식이나 채팅에 넣지 않습니다. 앱 비밀번호 변경은 유출 키를 무효화하지 않습니다. 독립된 새 키와 남은 자금 이전이 필요하며 이동하지 않은 옛 출력은 계속 위험합니다. [BIP 32: hierarchical deterministic wallets] [BIP 39: mnemonic to seed]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 지갑, 트랜잭션, UTXO, Bitcoin. 다음 항목에서도 이 글을 참조합니다 트랜잭션, UTXO, 지갑, Taproot.
01서명을 위해 Private Key가 서명 기기 밖으로 나가야 하나요?+
아닙니다. 기기는 내부에서 서명을 만들고 Private Key 없이 서명된 데이터를 반환할 수 있습니다. 키를 다른 환경으로 내보내거나 입력하면 유출될 수 있는 장소가 늘어납니다.
02분실한 Private Key를 재설정할 수 있나요?+
어떤 중앙 주체도 재설정할 수 없습니다. 유효한 사본 또는 해당 seed 백업과 필요한 파생 정보로 원래 키를 복구할 수 있습니다. 스크립트가 이미 다른 지출 경로를 허용한다면 모든 조건을 충족할 때 자금을 사용할 수 있을 수 있지만, 그 경로가 분실한 키를 복구하는 것은 아닙니다.