Virtual Box로 비트코인 풀노드 서버 만들기
목적
나는 비트코인 풀노드 서버를 돌리고 개인지갑(green,blue, trezor)을 연결시켜보고 싶었다.
이유
- 개인서버를 이용하지 않으면, 내 월렛이 여기저기에 잔고를 물어보게 된다.(Privacy가 낮아짐)
- 거래를 보낼떄 내가 제시하는 수수료가 너무 낮으면 mempool에서 퍼징 당하는데, 내 네트워크를 돌리면 거래가 취소당하지 않는다고 트위터 탐색을 통해 유추하게 되었다. 실험해 보고 싶었음
방법찾기
풀노드를 돌리는 방법을 알아보니 아래 같은 방법들이 있었다.
- PC에 비트코인 코어 설치
- PC에 VM 설치하고 리눅스 깔아서 Umbrel 로 각종앱을 설치
- 라즈베리 파이에 Umbrel 설치해서 돌리기 (예산:25만원)
- 오래된 중고 컴퓨터로 돌리기
- 제품 구매하기
BTCsession도 소개했고, 많은 사람들이 엄브렐을 사용하는것 같았다. 그리고 뭔가 덜 기술적이어도 작동되는 것이라고 생각이 되어서, 리눅스+업브레레 조합으로 가는 걸로 선택했다.
그러나 리눅스 컴퓨터가 없으니, Oracle virtual box에서 실행해 보기로 한다.
리눅스는 어떤걸 쓰는게 좋을까
서버로는 Cent OS가 좋고 간단하고 깔끔한 리눅스로는 Mint를 추천했다.
나는 간단하게 실험할 목적이므로, 사용성을 고려해서 Mint를 설치했다.
엄브렐설치
엄브렐 홈페이지에 나와있는 가이드를 보고 설치 했다.
커맨드창에서 다운로드와 설치가 가능하다니.. 신기하고 멋있었다.
아래 명령어를 입력하면 된다.
curl -L https://umbrel.sh | bash
엄브렐에서 비트코인 관련 앱 설치
리눅스에서 비트코인 풀노드를 돌리기 위해서는 업브렐에서 Bitcoin Node, Electrs 이 2가지 앱을 설치해야 한다.
일렉트럼 서버는 우선 Bitcoin Node가 싱크되어야 작동된다고 표시가 된다.
그래서 Bidcoin Node의 동기화를 기다렸는데, 1주일 걸렸다. 진짜 느리게 동기화가 됬다. 엤날 모뎀 시절이 생각 났다.. ㅜㅜ
트위터에서 알아보니 HDD는 2주 잡고, SSD는 2~3일의 동기화 시간이 필요하다고 했다.
지갑과 연결하기
결론적으로는 성공했다.
- Sparrow Wallet 연결 성공
- Blue Wallet 연결 성공
- Green Wallet 연결 성공
이 중에서 Green Wallet은 피드백이 분명하지가 않았다. 그래서 정확히 내가 구축한 서버에서 접속해서 로딩했는지, 아니면 퍼블릭 노드에서 가져왔는지 모르겠는 느낌이었다. 다만 엄청 느리게 로딩되다가 트랜젝션 내역을 띄워줬기 때문에, 엄청 느린 내 서버를 이용했겠거니 하고 생각했을 뿐이다. 이 점은 아담백님이 좀 개선해 주었으면 한다.
블루월렛은 확실히 피드백을 해줘서 좋았다.
스패로우 월렛도 밑에 상태표시줄에 확실히 표시를 해줘서 좋았다.
경험담 그리고 결론
내 노드에 연결할 수 있다는 건 정말 기분 좋은 경험 이었다! 좀더 진정한 비트코이너에 가까워진 느낌이랄까.
아무튼 매우 뿌듯했다.
그러나, 이 방식이 지속 가능하지 않다는 걸 알았다. 왜냐면
- 일단 VM(Virtual Machine) 방식이고 HDD를 사용했기 때문에 동기화 속도가 엄청느리다. 컴퓨터 디스크 읽기 LED가 계속 분주하게 깜빡거린다. 너무 느려서 창을 클릭하면 한참뒤에 바뀌기도 한다.
- VM으로 구동하기 때문에, 메인 컴퓨터를 항상 켜놓아야 하는데 현실적으로 불가능하고 그러고 싶지도 않다. (전용컴퓨터가 필요)
위 1,2번 이유가 합쳐져서 전용컴퓨터를 사용하지 않으면, 메인 컴퓨터의 사용성이 확 떨어지기 때문에. 전용 컴퓨터가 필요하다고 생각하게 되었다.
지금 전용컴퓨터(또는 라드베리파이4) 구성으로 예산을 짜보면 15만원에서 50만원정도가 든다.
중고컴퓨터를 싸게 구입해서 HDD로 돌리면 아마 가장싸게 구성할수 있을거다.
(당근마켓에서 6~10만원짜리 옛날 컴퓨터 있음)
그러나 크기와 소음이 크면 부담스럽기 때문에 이것도 추천할 만한 방식은 아닌거 같다.
다음부턴 라즈베리 파이나 미니PC를 활용해서 비트코인 풀노드를 돌리는 방식을 알아봐야겠다.