Microsoft MVP성태의 닷넷 이야기
비트코인 지갑 생성 및 채굴 방법 [링크 복사], [링크+제목 복사],
조회: 44309
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

비트코인 지갑 생성 및 채굴 방법

와~~~ 성태도 궁금함을 못 이겨 비트 코인을 한번 접해 보기로 했습니다. ^^ 검색해 보니 다음의 글이 나오는군요.

새로운 전자화폐, BitCoin
; http://kromlab.tistory.com/13

대충 따라해 보았습니다. ^^

우선, 지갑을 생성해야겠지요. 아래의 경로에서 Bitcoin Core 프로그램을 다운로드해서

Choose your Bitcoin wallet
; https://bitcoin.org/en/choose-your-wallet

설치 후 실행하면 그동안 누적된 블록체인을 다운로드하는 동기화 과정을 거치게 됩니다. (동기화 과정이 필요 없는 비트코인 지갑 프로그램도 있다고 합니다.)

bitcoin_1.png

이 시간이 제법 걸립니다. 네트워크로부터 블록 데이터를 /bitcoin/blocks 폴더에 전송받게 되는데 이것이 20GB가 넘습니다. (동기화 완료 후 bitcoin 폴더의 용량은 25GB가 넘습니다.)

한 세월 기다리고 싶지 않으면 토렌트를 이용한 공유 파일을 다운로드하는 방법이 있습니다. 따라서, 동기화 중인 비트코인코어 프로그램을 종료하고 아래의 경로를 이용해 토렌트에서 bootstrap.dat 파일을 다운로드해,

bootstrap.dat
; https://bitcoin.org/bin/blockchain/bootstrap.dat.torrent

/bitcoin 폴더(즉, bitcoin-qt.exe가 위치한 폴더)에 복사한 후 다시 비트코인코어 프로그램을 실행시키면 이제 로컬에 저장된 bootstrap.dat로부터 블록체인 데이터를 복원합니다. (이것만 해도 시간이 꽤 걸립니다.)

모든 동기화가 완료되면 다음과 같은 화면으로 바뀝니다.

bitcoin_2.png

자, 그렇다면 다른 사람이 여러분에게 비트코인을 주고 싶다면 계좌 번호를 알아야 할 텐데 어떻게 알아낼 수 있을까요? 비트코인 지갑의 계정으로 돈을 보낼 수 있는 "수신 주소"는 "파일" / "주소 받는 중" 메뉴를 선택해 나오는 창에서 "계좌복사" 메뉴를 선택하면 됩니다.

bitcoin_3.png

은행 계정과는 달리 복사하지 않고서는 다른 사람에게 알려주기 매우 난감한 자릿수입니다. 가령 제 수신 주소는 (인용 부호 빼고) "1EK6hfQPJ31vWDNZzQGMGzsJkZCkDc3VhN"인데 혹시나 테스트하시고 싶은 분들은 제 계정으로 송금해 보시는 것도 좋겠습니다. ^^




하지만, IT 개발자로서 가장 관심있는 것은 역시나 비트코인 채굴입니다. 지갑이 생겼으니 이제 자신만의 비트코인을 갖기 위한 채굴을 해볼 텐데요 ^^ "새로운 전자화폐, BitCoin" 글이 쓰여진 때는 50비트 코인을 주지만 현재는 25비트 코인이 채굴되는 기간이며, 라데온 5850 기준으로 초당 3억 hash를 처리할 수 있다는 가정하에 258일이 걸려야 25비트 코인을 채굴할 수 있다니 녹록치 않은 작업입니다. (아마 지금은 난이도 상승으로 인해 더 기간이 걸릴 것입니다.)

이 때문에, 최근에는 채굴 연합에 가입하는 것이 필수가 되어버렸습니다. 저도 "새로운 전자화폐, BitCoin" 글에서 소개한 https://deepbit.net/에 회원 가입 후 "MY ACCOUNT" 메뉴를 가서 채굴 후 받게 될 비트 코인 수신 주소를 (복사해서) 입력했습니다.

하지만, 아직 채굴 프로그램을 돌리고 있는 것은 아니므로 deepbit의 "MY ACCOUNT" 화면 하단에 "Worker" 테이블을 보면 Shares 컬럼의 값이 (0.00%)로 나타납니다.

자... 그럼 이제 채굴 프로그램을 돌려볼 텐테 제 경우에는 GUI 프로그램 환경의 poclbm-GUI를 선택했습니다.

poclbm-GUI miner (GPU 또는 CPU를 사용해서 비트 코인 채굴)
; poclbm-GUI miner 

실행해서 Server를 "deepbit"로 설정하고 Username과 Password에 deepbit 웹 사이트의 "MY ACCOUNT" 화면 하단에 "Worker" 테이블에 지정된 계정 정보를 넣어준 후 "Start mining!" 버튼을 누르면 됩니다.

bitcoin_4.png

위의 프로그램 실행 화면에서 보는 바와 같이, 제 경우에 GeForce GTX 660으로 테스트한 경우 약 110Mhash/s 정도의 성능이 나옵니다. 그리고, 채굴 기여도는 위의 화면에 하단 좌측에 보면 "Shares: 0 accepted"가 나오는데, 이 숫자가 올라가면서 반영이 됩니다. 많은 accepted 해시값을 생산할수록 더 많은 비트코인을 받을 수 있습니다.

채굴된 해시값들이 정상적으로 deepbit의 채굴 연합에 반영되고 있는지는 "MY ACCOUNT" 메뉴에서 알 수 있습니다. "poclbm-GUI miner" 프로그램에서 accepted 숫자가 올라갈 때마다 "MY ACCOUNT" 화면의 "Worker"에 해당하는 "Shares" 값에 반영됩니다.

우와~~~ 저도 이렇게 해서 비트코인 채굴을 해보게 되었습니다. ^^

아쉬운 점이 있다면 poclbm-GUI 프로그램을 켜놓고는 다른 작업을 제대로 할 수가 없다는 점입니다. GPU 연산만 하는 것이 아니고 CPU까지도 쿼드 코어인데 항상 25%를 잡아먹고 있어서 저사양 노트북만큼이나 PC가 느려집니다.




잠깐 채굴 프로그램에 대해서 더 설명하자면.

poclbm-GUI(guiminer)에서 "Start mining!" 버튼을 눌렀을 때 오류가 발생한다면 "View" / "Show console" 메뉴를 선택해서 "Console" 탭을 띄운 다음 다시 "Start mining!" 버튼을 누르면 콘솔 탭에 상세한 오류 메시지가 기록됩니다.

예를 들어, 가끔 "Start mining!" 버튼을 누르는 경우 다음과 같은 오류를 보게 되는데요.

2014-09-17 00:26:30: Running command: poclbm.exe xxxx:xxxxx@pit.deepbit.com:8332 --device=0 --platform=0 --verbose -r1 
2014-09-17 00:26:30: Listener for "Default" started
2014-09-17 00:26:31: Listener for "Default": WARNING: ADL missing (no AMD platform?), temperature control is disabled
2014-09-17 00:26:31: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:26:31, checking for stratum...
2014-09-17 00:26:31: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:26:31, started OpenCL miner on platform 0, device 0 (...)
2014-09-17 00:26:42: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:26:42, no response to getwork, using as stratum
2014-09-17 00:26:52: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:26:52,  [Errno 11002] getaddrinfo failed
2014-09-17 00:26:53: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:26:53, IO errors - 1, tolerance 2
2014-09-17 00:27:03: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:03, Failed to subscribe
2014-09-17 00:27:05: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:05, IO errors - 2, tolerance 2

잠시 후에 다시 시도를 해보면 정상적으로 연결이 되는 것으로 봐서 일시적인 통신 장애가 간간이 있는 것 같습니다.

또한, poclbm-GUI로는 GPU를 사용해 채굴하는 것은 잘 되지만 CPU를 사용하는 경우에는 deepbit에 정상적으로 연결이 안되었습니다. (이유는 알 수 없습니다.) 이런 경우 콘솔 메시지는 대략 다음과 같았습니다.

2014-09-17 00:27:46: Running command: poclbm.exe xxxx:xxxxx@pit.deepbit.com:8332 --device=0 --platform=0 --verbose -r1 
2014-09-17 00:27:46: Listener for "Default" started
2014-09-17 00:27:47: Listener for "Default": WARNING: ADL missing (no AMD platform?), temperature control is disabled
2014-09-17 00:27:47: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:47, checking for stratum...
2014-09-17 00:27:47: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:47, started OpenCL miner on platform 0, device 0 (Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz)
2014-09-17 00:27:48: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:48, diverted to stratum on f1.deepbit.com:3333
2014-09-17 00:27:49: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:27:49, Setting new difficulty: 32
2014-09-17 00:28:28: Listener for "Default": pit.deepbit.com:8332 17/09/2014 00:28:28, Setting new difficulty: 8

이때의 CPU 사용량을 봐서는 계산이 진행되고 있는 듯한데 참여가 안되므로 쓸데없이 CPU만 낭비하는 격입니다.

그리고 매번 이런 식으로 GUI 프로그램을 경유해서 실행하는 것이 불편할 수 있을 텐데요. 위의 콘솔에 보면 명령행에서 직접 실행하는 것이 나오므로 그대로 실행시켜 주면 됩니다. 예를 들어, GPU 사용인 경우 다음과 같이 실행해 주면 됩니다.

poclbm.exe [계정]:[암호]@pit.deepbit.com:8332 --device=0 --platform=0 --verbose -r1 

당연하겠지만 채굴 프로그램마다 성능이 다소 다르다는 점도 고려해야 합니다. 제 컴퓨터는 NVidia GeForce였기 때문에 테스트를 위해 다음의 "RPC Miner" 프로그램도 돌려보았는데요.

puddinpop's GPU/CUDA miner (for nVidia) 
- RPC Miners (CPU/4way/CUDA/OpenCL)
; https://bitcointalk.org/index.php?topic=2444.0

명령행에서 이렇게 실행해 주면,

rpcminer-cuda -url=http://pit.deepbit.net:8332 -user=[계정] -password=[암호]

68283 khash/s 정도의 성능이 나왔습니다. 약 66 Mhash/s에 해당하는데 poclbm.exe 프로그램이 110 Mhash/s를 기록한 것에 비해 꽤나 낮은 성능을 보여줍니다. 장점이라면 poclbm.exe의 경우 GPU뿐만 아니라 CPU도 25% 정도 사용하던 것에 반해 rpcminer-cuda.exe 채굴 프로그램은 CPU는 거의 사용하지 않아서 일반적인 컴퓨팅 작업에 방해되지 않는 수준으로 부하가 적었습니다. 만약 PC 작업을 함께 해야 한다면 poclbm.exe보다는 rpcminer-cuda.exe가 더 나은 선택일 것입니다.

또 한 가지 rpcminer 프로그램의 장점이 있다면 poclbm-GUI는 CPU를 사용한 채굴이 (제가 잘 못 사용한 걸 수도 있지만) 안되었지만 동일한 환경에서 rpcminer의 CPU 사용 버전은 정상적으로 동작했습니다.

사용법은 rpcminer-cuda와 비슷합니다.

rpcminer-cpu -url=http://pit.deepbit.net:8332 -user=[계정] -password=[암호]

제 PC가 i5 쿼드 코어인데도 CPU 100% 상황에서의 성능은 4700 khash/s에 불과했습니다. 4.5 Mhash/s에 불과한 수준인데 확실히 이런 유의 연산은 CPU보다는 GPU가 빠름을 알 수 있습니다. 전기세 무서우니 절대 CPU로 비트 코인 채굴은 안하는 것이 좋습니다. (물론 GPU도 채굴기를 돌리면 3D 게임만큼은 아니어도 적지 않은 부하가 가해지므로 전력 소비가 발생합니다.)

재미있는 것 한 가지! "새로운 전자화폐, BitCoin" 글의 작성 시점이 2012년이고 작성자가 테스트한 GPU 카드가 그 당시 Radeon 5850 기준으로 테스트한 결과 초당 3억 해시라고 하는데 1024 단위로 나눠서 계산하면 대략 280Mhash/s 정도의 성능입니다. 그런데 제가 가진 그보다 최신의 NVidia GTX 660에서는 절반에도 못 미치는 110Mhash/s를 기록하고 있는데요. 비트코인 관련 연산해서는 AMD Radeon이 그래서 갑이라고 합니다. ^^;




그렇다면 이제 정말로 궁금한 수익성에 대해서 이야기해봐야 하는데요.

테스트를 위해 deepbit에 가입하고 (정확하지 않은데) 약 6시간 정도 켜놓고 비트코인 수집량을 보았더니... 0.00000034 BTC가 모여 있었습니다. 이것이 얼마인지 가늠이 안되시죠? ^^

국내에서 원화로 환전 가능한 korbit 서비스에 방문해 보면 오늘자 기준으로 1BTC == 475,000원이었습니다. 그러면 제가 6시간 동안 GPU로 채굴한 비트코인을 현금으로 환산하면 0.1615원이 됩니다. ^^; 한마디로, 전기세 생각하면 그냥 안하는 것이 현명합니다. (게다가 deepbit의 경우 최소 비트코인 계좌 전송 단위가 0.01이므로 저런 식으로 채굴해서는 답이 없습니다.)

개인적으로 더욱 충격적이었던 것은 광고 대행 업체에서 1시간마다 배당받을 수 있는 비트코인이 있는데,

freebitcoin
; https://freebitco.in/

그냥 사이트 방문해서 CAPTCHA 이미지의 숫자를 입력해 주는 것만으로 벌 수 있는 비트코인이 무려 0.0000043 가량 된다는 점입니다. 이는 제가 GPU 채굴기를 72시간 가량 켜놓아야 얻을 수 있는 금액입니다. (그래봤자 2원입니다. 시간당!)

비트코인 채굴 난이도가 점점 더 상승하고 있다는 점까지 감안하면 PC를 이용한 채굴은 포기하는 것이 타당합니다. (심지어 아두이노나 라즈베리 파이 따위 아무리 그리드 연결을 해도 전기세 생각하면 역시 답이 아닙니다.)

이런 난관에서 생각해 볼 수 있는 차선책은 아예 채굴 전용 ASIC 칩이 달린 장비를 구매하는 것입니다.

Antminer U2 USB Miner 1.6 ~ 2.2 GH/s 비트코인 채굴
; http://item2.gmarket.co.kr/Item/detailview/Item.aspx?goodscode=606989663

세상에... 무려 2 Ghash/s나 된다고 하니 제가 가진 GeForce GTX 660의 20배 성능이 나옵니다. 검색해 보니 2014년 5월 글에서 (소비전력 980W인) 1테라 전문 채굴기가 700만원 정도까지 하는 것도 있는데, 이쯤 되면 비트코인 채굴은 이미 개인의 영역을 넘어서 버렸습니다.

설령 투기 분위기까지 가세해 100배까지 오른다고 가정해도 2014년 9월 기준으로 6시간 GPU 채굴로 0.1615 * 100 = 16원에 불과합니다.




마지막으로, 남아도는 클라우드 서비스 자원을 이용하는 것도 생각해 볼 수 있겠지요? ^^ 예를 들어, Azure 클라우드에서 남아도는 VM 머신이 있는 경우 비트코인 채굴 프로그램을 돌리는 것도 한 방법인데, 이에 대해서는 다음의 글에서 아주 자세하게 설명하고 있습니다.

Azure Mining Step by step guide (Mine more Quarks per day) 
; http://forum.qrk.cc/thread/457/azure-mining-step-guide-quarks

하지만 시도하지 않는 것이 좋습니다. 이미 설명한 대로 CPU는 GPU에 비해 상당히 낮은 채굴 성능을 보이는데, Azure의 가상 머신에는 GPU가 없는데다 i5 물리 CPU에서조차도 4.5Mhash/s였는데 Azure의 Virtual CPU에서는 더 낮을 수밖에 없습니다. 실제로 Azure의 AMD Opteron Processor 4171 HE 가상 프로세서 1개 기준으로 CPU 100% 사용했을 때 겨우 0.8Mhash/s가 나오고 그나마도 accepted 해시 수가 가뭄에 콩나듯 하나씩 나올 뿐이어서 괜히 클라우드 서비스 CPU 사용량만 늘여 요금만 증가시킬 뿐입니다.

결과는! 그냥 마음 내려놓고... 채굴자가 아닌 사용자나 되어야겠습니다. ^^



[연관 글]






[최초 등록일: ]
[최종 수정일: 7/9/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2014-09-23 07시33분
[나예요] 갑자기 왠 비트코인이예요?
두세달 전부터 저한테도 비트코인을 물어보시는 분이 계셨어요.
몇년전에 비트코인 카페에 가입을 했었으나
아는 지식이 없어 답변은 많이 못드렸지만... ㅋㅋ

정책임님이 캐려고 하고 계시다니요...
[guest]
2014-10-10 04시34분
정성태
2018-02-05 04시15분
정성태
2018-10-22 03시25분
[sariose] 2014년이면 아직 광풍 불기전인데 대단하시네요
[guest]
2018-10-22 11시42분
@sariose 저렇게 실습만 하지 말고... 10비트코인이라도 사두었더라면... 하면서 땅을 치며... (더 이상의 자세한 설명은 생략합니다.)
정성태

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
227정성태1/29/200918601파수닷컴 DRM, fph.exe 제거하는 방법
226정성태1/15/2009151934GB USB 메모리로 Windows 7 베타를 UMPC 에 설치하는 방법 [1]
225정성태1/11/200926874nProtect 서비스 죽이기
224정성태1/11/200914576Windows 7 - DivX Codec 기본 내장
223정성태1/9/200916083작업 관리자 화면 - 96개의 코어 + 512GB 메모리
222정성태1/7/200914921비스타 - 유령 윈도우 제거 방법
221정성태1/4/200916520Q1 Ultra + Windows 7 [1]
220정성태1/3/200914717숫자가 주는 인식의 오류
219정성태1/1/2009154552008년 인기 순위 정리
218정성태1/1/200917071Internet Explorer용 RFC 검색 제공자
217정성태12/21/200826448개발자를 괴롭히는 nProtect 개발자 [1]
216정성태12/21/200814903Dynamic DNS 서버에 등록하는 과정을 없애는 방법
215정성태12/8/200814094TDD가 좋은 줄 알면서도 안하는 이유
214정성태12/2/200815934Outlook HTTP 접속 오류
213정성태11/30/200825789실행 시간을 제한하는 NT 서비스파일 다운로드1
211정성태10/30/200817150서울시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건
210정성태10/19/200814039BGT 2008
209정성태10/4/200813523At least they’re consistent
208정성태10/2/200814231MSDN Magazine 기사 인쇄
207정성태7/25/200813977막연한 거부감 [1]
206정성태7/1/200813159변화... [1]
205정성태6/26/200813589NASA 과학자 “온난화, ‘티핑 포인트’ 임박했다” [1]
204정성태6/23/200813064Interface-Driven Development [1]
203정성태5/22/200813650돌부처의 심장을 뛰게 하라 [2]
202정성태4/16/200813510[디지털데일리] 기업 블로그, 쉽게 생각했다간 낭패 [2]
201정성태4/11/2008149872008년 4월 10일 - IE ActiveX 활성화 패치 포함
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...