티스토리 뷰
비트코인의 가장 큰 매력은 어떤 외부의 도움없이 내 자산을 나 스스로 안전하게 보관하고 관리할 수 있다는 것이 아닐까 생각합니다.
저는 특별히 이 부분에 있어서 비트코인에게 크게 매료되었는데요. 정말 놀랍지 않습니까? 이는 은행의 도움 없이 나의 돈을 미래의 나에게 전달할 수 있다는 것이고, 내가 아닌 다른 사람에게 심지어 지구 반대편에 있는 사람에게도 나의 돈을 보낼 수 있다는 것은 정말 소름돋는 혁신이 아닐 수 없다고 저는 생각합니다.
여기서 핵심은 외부의 도움없이 아무것도 신뢰하지 않으면서 이 일이 가능하다는 것입니다. 이것이 바로 비트코인이 인류에게 선사한 Trustless Trust 인 것입니다.
그렇기 때문에 우리가 비트코인을 접할 때 가장 먼저 배워야 할 것은 날 것 그대로의 비트코인을 경험하는 것이라고 생각합니다. 거래소나 핫월렛 또는 하드월렛의 도움 없이 비트코인 네트워크에 나의 돈을 직접 넣어보고 옮겨 보고 할 수 있어야 한다는 것이죠.
거래소, 하드월렛을 사용하는 것은 결국 외부 업체의 도움을 받는 것이지 않습니까? 거래소를 믿어야 하고 하드월렛 제조사를 믿어야 하고.. 이런 것 없이 순수하게 Trustless 한 환경 속에서 안전하게 나의 돈을 비트코인 네트워크에 보관하고 꺼내보는 훈련이 가장 본질적이고 중요하다고 생각합니다.
물론 비트코인 프로토콜의 세부사항들을 모두 다 알 필요는 없다고 생각합니다. 관련해서 복잡한 작업들을 이미 절차대로 잘 구현해 놓은 도구들을 활용하면 보다 쉽게 비트코인을 다룰 수 있기 때문입니다.
참고자료
- 진수 변환기
- 파이썬 bitcoin 라이브러리
- 비트코인 메세지 프로토콜
- 한땀 한땀 트랜잭션 만들기
- 비트코인 주소 생성 절차
우선 파이썬의 bitcoin 라이브러리를 이용해 비트코인 주소를 생성하는 방법을 알아보도록 하겠습니다
1. 파이썬 설치
https://www.python.org/downloads/
2. 비트코인 라이브러리 설치
윈도우(or Mac) 명령 터미널에서 아래 명령 수행
pip install bitcoin
3. 비밀키를 생성하고 비트코인 주소 만들기 코드
from bitcoin import *
private_key = random_key() # or sha256("xx")
public_key = privtopub(private_key)
address = pubtoaddr(public_key)
비밀키 생성시 동전 256번 던지시겠다면, 아래 코드를 이용해 주세요
# 동전 256번 던져 나온 결과
bit256 = '1111101101010110001000010001100100110000001000111101000000000011011001001101101111110110011010000011011010111010010100010110001001010001100100001100011100001100001101001010101011011010001001010001001110000101000110110000010010100011111010101001010110001111'
# 2진수 문자열을 16진수 비밀키로 변환
private_key = hex(int(bit256,2))[2:]
비트코인 주소 거래내역 확인하기
https://www.blockchain.com/explorer
4. 비밀키를 WIF 포맷으로 변환
from bitcoin import *
priv = 'ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2'
encode_privkey(priv, 'wif')
'5Kdc3UAwGmHHuj6fQD1LDmKR6J3SwYyFWyHgxKAZ2cKRzVCRETY'
WIF 상세 참고
https://learnmeabitcoin.com/technical/wif
5. 작업이 완료되면 반드시 `~/.python_history` 파일 삭제
로컬PC의 사용자 홈 디렉토리의 `.python_history` 파일에는 이전에 작업했던 모든 명령의 기록들이 저장되어 있습니다.
주소 생성 작업이 끝나면 해당 파일을 삭제하는 것을 절대 잊지 마세요!
'비트코인 공부' 카테고리의 다른 글
비트코인 해킹 가능할까 (2) | 2022.08.30 |
---|---|
니모닉월렛과 브레인월렛 비교 (0) | 2022.08.29 |
왜 주류들은 비트코인을 놓쳤을까 (2) | 2022.08.22 |
참고자료 (0) | 2022.08.13 |
비트코인이 망할 수 없는 이유 (2) | 2022.07.18 |