보안 · 2024-09-09

키페어와 시드 문구 — 솔라나 지갑의 기초

솔라나 지갑은 ed25519 키페어를 기반으로 동작합니다. 키페어, 시드 문구, 파생 경로를 이해하면 지갑을 안전하게 관리할 수 있습니다.

#keypair #wallet #security

솔라나에서 모든 계정은 키페어로 시작합니다. 키페어는 공개키와 비밀키 한 쌍이며, 공개키는 지갑 주소로 사용되고 비밀키는 트랜잭션에 서명하는 데 쓰입니다. 이 글에서는 키페어의 구조와 시드 문구로 지갑을 안전하게 관리하는 방법을 다룹니다.

키페어란

솔라나는 ed25519 타원곡선 서명 알고리즘을 사용합니다. 키페어는 32바이트 비밀키와 32바이트 공개키로 구성됩니다. 공개키는 누구에게나 공개해도 안전하지만, 비밀키는 절대 공유하면 안 됩니다. 비밀키가 있으면 그 지갑의 모든 자산을 옮길 수 있습니다.

시드 문구

비밀키를 직접 외우거나 적기 어렵기 때문에, 솔라나는 BIP-39 표준 시드 문구를 사용합니다. 시드 문구는 12개 또는 24개의 단어로 이루어지며, 이 단어들로부터 비밀키를 다시 만들 수 있습니다.

$ solana-keygen new
pubkey: 9xQeWvG...
Save this seed phrase to recover your keys:
apple banana canyon ... (12 words)
핵심: 시드 문구를 가진 사람은 그 지갑의 모든 자산을 통제할 수 있습니다. 시드 문구는 종이에 적어 안전한 곳에 보관하고, 절대 인터넷에 연결된 기기에 평문으로 저장하지 마세요.

파생 경로

하나의 시드 문구로 여러 키페어를 만들 수 있습니다. 각 키페어는 파생 경로로 구분됩니다. 솔라나의 기본 파생 경로는 m/44'/501'/0'/0'입니다. 다른 지갑 앱은 기본 경로가 다를 수 있으므로, 같은 시드 문구를 써도 다른 앱에서는 다른 주소가 나올 수 있습니다.

시드로 복구

시드 문구를 가지고 있으면 키페어를 다시 만들 수 있습니다.

$ solana-keygen recover --prompt
Enter seed phrase:
apple banana canyon ...
pubkey: 9xQeWvG...

같은 시드 문구를 입력하면 같은 공개키가 출력되는 것을 확인할 수 있습니다.

안전한 실습

  • 학습용 지갑과 실제 자산용 지갑을 분리합니다.
  • 시드 문구는 종이에 적어 오프라인으로 보관합니다.
  • 키페어 파일(id.json)을 공유하거나 업로드하지 않습니다.
  • 공개키는 자유롭게 공유해도 안전합니다.
  • 의심스러운 링크나 앱에 시드 문구를 입력하지 않습니다.
학습 팁: 처음에는 Devnet 전용 지갑을 만들어 실습하세요. 실제 자산이 없으므로 실수해도 큰 문제가 없고, 시드 문구 관리를 연습하기 좋습니다.

다음 단계

키페어를 이해했으면 솔라나 프로그램 글로 넘어가 트랜잭션이 프로그램과 어떻게 상호작용하는지 학습하세요.