23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
처음으로 작성하는 블로그라서 설레기도 하면서도 낯설기도 합니다.
아무래도 첫 번째 블로그임을 고려하여 가능한 좀 더 많은 분들이 공통적으로 관심이 있으실 만한,
나아가 이 글을 꼭지로 하여 다음 이야기도 손쉽게 풀어나가며 전개할 수 있을 만한 주제로 꼽았는데요, 쓰려고 보니 막상 마음처럼 쉽지는 않네요.
'블록체인'이라고 제목을 달았지만, 실상 '비트코인'에 대한 이야기입니다.
비트코인을 제외하고 블록체인을 이야기하기 어렵기 때문이고, 이야기를 간단하게 풀어나가려면 비트코인에 한정하는 것이 좋겠다는 판단에서입니다.
저의 경우 아무래도 기술쟁이이다보니 기술적인 부분에 있어서 일반인보다는 관심이 많을 수 밖에 없는데,
인터넷이나 유튜브에는 아무래도 투자 관점에서의 비트코인에 대한 정보들이 압도적으로 많다 보니, 비트코인의 근간이 되는 기술적인 부분에 대해 파고 들기가 쉽지가 않더군요.
결국 양질의 과정들을 제공할 만한 곳에서 in-depth 전문 과정들을 섭렵하게 된 계기가 되었죠.
'여행을 다녀오면 결국 남는건 사진'이라는 말이 있는데, 이렇게 여러 교육 과정들을 마치고 나니 결국 남는 건 자격증, 수료증이네요.
어쩌면 이 블로그 글도 새롭게 남는 일일 것 같구요!
하여간 비트코인을 보유하기 시작하면, 개인에 따라 차이는 있겠지만 어느 시점에는 결국 하드웨어 지갑을 갖추고 셀프 커스티디를 고려하게 되는데요,
이 무렵 자신의 소중한 재산을 보관하는 하드웨어 지갑을 막무가내로 믿을 수는 없다는 걱정이 들게 되죠.
이 걱정에 불을 붙이듯 마침 작년 초에는 나노렛저의 마케팅 담당자가 "누구나 지갑 회사를 어느 정도는 신뢰하기 때문에 해당 지갑을 사용하는 것 아니냐"라는
알쏭달쏭하고도 미스테리한 멘트를 남겨 좀 더 많은 사람들이 본인이 가진 지갑에 대한 본격적인 걱정을 하게 만들기도 하였습니다.
아무튼 본인의 지갑을 본인이 직접 검증하는 것은 이러한 걱정을 조금이나마 덜 수 있는 방법 중 하나가 될 것 같네요.
오늘 블로그 글은 시중에서 구할 수 있는 여러 비트코인 지갑 중,
본인이 직접 firmware source code를 검증 할 수 있는 오픈소스 기반의 하드웨어 지갑 중 비트박스02 라는 하드웨어 지갑을 기반으로 하도록 할게요.
하필이면 왜 비트박스02냐 라고 한다면, 뭐 당연히 필자의 취향입니다.
물론 시중에는 여러 좋은 지갑들이 많지만, 저의 경우 크게 오픈소스 여부, secure element chip 지원 여부, Bitcoin-Only 지원 여부, 제3자 검증 기관에 의한 검증 여부,
passphrase 지원 여부, RBF 지원 여부, miniscript 지원 여부 및 제조국의 금융 컴플라이언스 수준을 주되게 고려하는데요,
비트박스02는 해당 조건들을 부합하는 몇 안되는 지갑 중 하나인 셈이죠. 참고로 여기 사이트를 보시면 주요 지갑들의 특성들을 일목 요연하게 비교할 수 있습니다.
비트박스02 지갑의 Firmware 소스코드는 여기에서 확인할 수 있는데요. 이번 글에서는 가장 간단한
- 즉, firmware 소스를 자신의 로컬에서 빌드를 하고 개발 회사와 동일한 바이너리 결과가 나오는지를 검증하는 방법에 대해 기재하도록 할게요.
물론 자세한 방법은 여기에 잘 설명이 되어 있지만, 저는 이를 좀 더 간단하게 한국어로 요약했다라고 보시면 됩니다. ^^
우선 bitbox02-firmware 를 자신의 Github로 fork 한 후, 적당한 이름으로 firmware 검증을 할 본인의 branch를 하나 땁니다.
해당 branch 에서 releases 디렉토리로 들어가면 버전 별 firmware 소스코드를 볼 수 있는데요,
bitcoin 전용의 가장 최신 firmware 는 firmware-btc-v9.17.0 임을 확인할 수 있네요.
일단 releases 디렉토리에서 아래 명령을 수행합니다.
# ./build.sh firmware-btc-only/v9.17.0 "make firmware-btc"물론 이 명령이 수행되기 위해서는 docker 등과 같은 패키지들이 설치되어 있어야 하는데요,
빌드 진행 중에 때에 따라 필요한 패키지들을 설치하라고 나오니 그때그때 설치를 해 주면 됩니다.
이 명령이 완료되기 위해서는 상당한 시간이 흘러야 합니다. 제 로컬에서는 한 30분 걸리는 것 같네요.
성공적으로 빌드가 완료되면 temp/build/bin 디렉토리에 해당 firmware의 bin 파일이 생성되는데요,
이를 releases/firmware-btc-v9.17.0/assertion.txt 파일 안에 기재된 해시값과,
이 최종 결과 바이너리 파일의 hash 값을 아래 명령어로 수행해 본 결과와 비교해서 동일하면 검증이 완료된 겁니다.
# sha256sum temp/build/bin/firmware-btc.bin 검증이 너무 간단히 완료되었나요?
허무함을 조금 덜기 위해서라도, 자, 이렇게 검증했으면 아래와 같이 본인의 GPG 서명 인증해서 main branch로 PR 을 등록하자구요.
# cd firmware-btc-only/v9.17.0
# gpg -o assertion-본인이름.sig --detach-sign assertion.txt
# gpg --export --armor YOUR_PGP_KEY_ID > ./pubkeys/본인이름.asc오늘은 간단하게 비트코인 지갑에 대해 firmware 검증하는 방법을 소개하였습니다.
데브오션 분들의 수준에 비해 너무 간단한 내용을 기재한 것이 아닌가 싶기도 하지만, 일단 첫 번째 글이라고 양해해 주시고,
다음에는 비트코인 테스트넷에서 Miniscript 와 Rust 언어로 비트코인 smart contract 을 구현하는 주제를 단계 별로 다루어볼까 합니다.
물론 지금 생각은 이렇다는 것이고, 바뀔 수도 있어요 ^^
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.