Bitcoin Address
blockchain bitcoin
Bitcoin Address
비트코인 지갑을 설치하면 제일 먼저 사용자를 위한 두 개의 암호키(public key, private key)가 생성된다. 비트코인 탈중앙화 시스템이므로 개인키를 분실하거나 도난 당하면 문제를 해결할 방법이 없다.
비트코인 주소(Bitcoin Address) 는 계좌 번호로 생각하면 된다. 주소는 1로 시작하며, 약 35글자 내외로 이루어진다. 비트코인 주소는 각 개인이 임의로 만들어 사용한다.
비트코인 주소(Bitcoin Address)는 "공개키의 RIPEMD160(SHA256()) 해시" 이다.
┌──────────────────────────────────────────────────┐
│ Public Key (33 or 65 bytes) │
│ ↓ │
│ SHA-256 (32 bytes) │
│ • 표준화되고 널리 검증됨 │
│ • 충돌 저항성 강함 │
│ ↓ │
│ RIPEMD-160 (20 bytes) │
│ • 주소 크기 단축 (QR 코드, 저장 공간) │
│ • SHA-2와 다른 설계 = 이중 방어 │
│ ↓ │
│ Bitcoin Address (after Base58Check) │
│ 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa │
└──────────────────────────────────────────────────┘
Flow:
- 개인키로부터 공개키를 생성
- SHA256 과 RIPEMD160 을 사용해 해시 값을 생성
- 생성된 공개키 해시 값 앞에 1바이트 0x00 을 추가
- 생성된 공개키 해시 값과 그 앞에 0x00 을 붙인 값이 SHA256 을 두 번 적용해 생성된 256비트 해시 값의 맨 앞 4바이트만을 취한 후 공개키 해시 값 맨 뒤에 체크섬 추가
- 위 결과를 base58 로 인코딩한 결과가 비트코인 주소
References
- 비트코인의 탄생부터 블록체인의 미래까지 명쾌하게 이해하는 비트코인·블록체인 바이블 / 장세형 저
- 비트코인과 블록체인 가상자산의 실체 2/e / 이병욱 저