-
비트코인 채굴 시스템Cryptography 2021. 10. 26. 20:58반응형
비트코인이 탄생한 2009년 이래로, 비트코인 채굴자들은 비트코인 채굴을 위해 다양한 방법을 사용해 왔습니다. 채굴이 기반한 핵심 원리가 double SHA256 알고리즘이기 때문에, 전문가들은 그러한 해시값 계산하는 시스템을 더욱 빠르게 발전시켜 왔습니다.
이번 글에서는 비트코인에 사용되는 다양한 종류의 채굴 방법을 알아보고 어떻게 진화해왔는지 살펴보겠습니다:
- CPU
- GPU
- FPGA
- ASICs
CPU
CPU 채굴은 오리지널 비트코인 클라이언트에서 사용가능했던 첫 번째 타이비의 방식입니다. 사용자는 심지어 노트북이나 데스크톱 컴퓨터를 사용해 비트코인을 채굴할 수 있었습니다. CPU 채굴은 더 이상 이익이 되지 않으며 ASIC 기반의 방식과 같은 더욱 발전된 방법이 사용됩니다. CPU 채굴은 비트코인이 탄생하고 1년 정도 채굴자들 사이에서 사용된 후 다른 방법으로 대체되었습니다.
GPU
비트코인 네트워크의 난이도가 증가하고 점점 더 빠르게 채굴하는 방법을 찾으며, 채굴자들은 GPU나 그래픽 카드를 사용해 채굴을 수행하였습니다. GPU는 보통 OpenCL 언어를 사용하여 프로그램된 빠르고 병렬적인 계산을 제공합니다.
GPU는 성능면에서 CPU보다 매우 우수하였는데요. 사용자들은 overclocking과 같은 기술을 사용해서 GPU power를 최대치로 누릴 수 있도록 하였습니다. 또한, 병렬적으로 여러 그래픽 카드를 사용할 수 있다는 점이 더욱 비트코인 채굴에 그래픽 카드를 사용하는 원동력이 되었습니다. 그러나 GPU 채굴은 overheating이나 특별한 motherboards를 요구하고, 여러 그래픽 카드를 수용하기 위해 추가적인 하드웨어가 필요하다는 제약들이 존재하였습니다. 또 다른 점으로는, 그래픽 카드는 사람들의 수요가 늘고, 게이머나 그래픽 소프트웨어 사용자의 수요도 존재했기에 가격이 비쌌습니다.
FPGA
GPU 채굴이 얼마 지나지도 않아서, 채굴자들은 Field Programmable Gate Arrays (FPGAs)를 사용해 채굴하는 또 다른 방법을 찾아냈습니다. FPGA는 기본적으로 특정 연산을 수행하도록 프로그래밍 가능한 집적회로입니다. FPGAs는 보통 Verilog나 VHDL과 같은 hardware description languages (HDLs)에 프로그램되어 있습니다. Double SHA256은 빠르게 FPGA 프로그래머들에게 매력적인 작업이 되었고 몇 개의 오픈소스 프로젝트도 시작하였습니다. FPGA는 GPU와 비교해 더욱 뛰어난 성능을 제공합니다. 그러나 접근성, 프로그래밍 난이도, FPGA를 설정하고 프로그래밍하기 위해 특별한 지식을 요구하는 부분 등으로 인해 널리 이용되지는 못하였습니다.
X6500 miner, Ztex, Icarus와 같은 채굴 하드웨어는 FPGA 채굴이 이익이 날 때에 개발되었습니다. Xilinx, Altera와 같은 다양한 FPGA 제조사들은 FPGA 하드웨어와 채굴 알고리즘을 프로그래밍하는데 사용될 수 있는 개발 보드를 생산하였습니다. 그러나, 이후 ASICs의 도입은 FPGA 기반 시스템을 빠르게 사라져가게 만들었습니다. GPU 채굴은 여전히 몇몇 코인 채굴에 있어서는 이익이 나지만, 비트코인의 난이도는 너무 높아서 오직 병렬로 실행되는 ASICs로만 적절한 이익을 얻을 수 있습니다.
ASICs
ASICs는 SHA256 연산을 수행하기 위해 디자인 되었습니다. 이 특별한 칩은 다양한 제조사에서 판매되며 매우 높은 해시율을 제공하는데요. 어떤 경우에는 이익을 내며 잘 수행되나, 채굴 난이도가 급격히 올라가며 싱글-유닛 ASICs는 더 이상 이익이 나질 않습니다.
현재 이익이 발생하는 채굴 플랫폼을 만들기 위해서는 막대한 양의 에너지와 자금이 필요하기 때문에 개인이 진입하기는 매우 어렵습니다. 이제는 수천개의 병렬 ASIC 유닛을 전문적인 채굴 센터가 사용자에게 채굴계약 형태로 제공해주고 있습니다. 기술적인 제약은 거의 없어서 단일한 사용자가 수천개의 ASICs를 병렬로 실행할 수 있으나 채굴만 하는 데이터 센터와 하드웨어가 필요하기에 일반 개인이 지불하기에는 매우 큰 비용이 듭니다.
Reference
[1] Mastering Blockchain
[2] https://blog.hubspot.com/marketing/bitcoin-mining-hardware
[3] https://www.investopedia.com/terms/a/asic.asp
반응형'Cryptography' 카테고리의 다른 글
블록체인 코드를 변경해 pseudo 암호화폐 만들기 (0) 2021.12.14 파이썬으로 간단한 블록체인 만들기 (0) 2021.12.13 Corda란? (0) 2021.10.26 마이닝 풀이란? (0) 2021.10.26 비트코인 채굴(마이닝, mining)이란? (0) 2021.10.24 비트코인 블록체인의 구조 (2) 2021.10.16 비트코인 트랜잭션의 인증(Validation) (1) 2021.10.15 비트코인 스크립트의 종류 (0) 2021.10.15