신규: Helius가 Light Protocol을 인수했습니다
Ore 채굴 방법
블로그/개발

Ore 채굴 방법: 초보자를 위한 가이드

개발자 경험 엔지니어X의 Anam AnsariLinkedIn의 Anam Ansari
읽는 데 12분
목차

훌륭한 피드백과 도움으로 이 글을 완성하는 데 기여해 주신 Hardhat Chad와 0xIchigo에게 진심으로 감사드립니다!

Ore는 Solana에 구축된 Proof of Work 토큰으로, 누구나 어디서든 채굴할 수 있습니다. 2024년 4월 2일 출시된 직후 Solana를 망가뜨린 프로젝트로 불렸습니다. 당시 Solana는 스팸 트랜잭션으로 심각한 혼잡을 겪었으며, 그중 대부분은 Ore 채굴자들이 유발했습니다. 이후 Ore 제작자 Hardhat Chad는 2024년 4월 16일 채굴을 중단했습니다. 2024년 8월 6일 Ore v2가 출시되면서 채굴이 재개되었습니다. 새로운 채굴 알고리즘인 Drillx와 토큰 스테이킹을 유도하는 인센티브가 도입되었습니다. 출시 이후 현재 Ore 트랜잭션은 각 블록의 약 ~5%를 차지합니다. 

이 글에서는 Bitcoin의 기원을 따라가며 Proof of Work와 채굴을 살펴봅니다. 이어서 Ore 채굴과 Bitcoin 채굴을 비교한 후 웹 앱과 Command Line Interface(CLI)를 통해 ORE를 채굴하는 방법을 알아봅니다.

Bitcoin

Bitcoin은 2008년 Satoshi Nakamoto가 선보인 최초의 암호화폐입니다. 블록, 즉 트랜잭션 묶음을 서로 연결하고 해시 체이닝을 통해 변경할 수 없도록 만드는 블록체인 개념을 도입했습니다. 기본적으로 블록의 해시는 블록에 포함된 트랜잭션 항목을 SHA256 해싱 알고리즘에 입력해 얻은 64자리 16진수입니다. 각 블록은 이전 블록의 해시를 사용해 서로 연결되며, 이를 통해 블록 체인이 만들어집니다. 이 속성 덕분에 블록체인은 변경할 수 없습니다. 데이터가 변경되면 해시 값이 일치하지 않기 때문입니다. 

누구나 블록의 해시를 계산하고 제출할 수 있습니다. 먼저 네트워크가 목표 해시 값을 설정합니다. 목표 해시는 채굴 난이도를 결정하는 데 사용됩니다. 채굴 난이도는 2,016번째 블록마다, 즉 약 2주마다 조정되는 동적 매개변수입니다. 블록이 약 10분마다 일정하게 블록체인에 추가되도록 합니다. 채굴자, 즉 채굴 장비와 소프트웨어를 보유한 사람은 복잡한 수학 문제를 풀어 목표 해시보다 작거나 같은 해시를 찾습니다. 네트워크의 모든 채굴자는 올바른 해시와 nonce(한 번만 사용되는 숫자) 조합을 찾을 때까지 이 작업을 수행합니다. 가장 먼저 찾은 사람은 수행한 작업의 대가로 Bitcoin과 수수료를 받습니다. 따라서 채굴은 복잡한 수학 문제를 풀고 해시를 제출한 뒤 사용한 컴퓨팅 자원에 대한 보상을 받는 과정입니다. 하지만 이 문제를 해결하려면 많은 처리 능력과 에너지가 필요합니다. 

이 채굴 과정을 Proof of Work(PoW)라고 합니다. 당첨 해시를 생성하기 위해 수행한 작업은 채굴자가 블록의 트랜잭션을 검증했다는 증거로 간주됩니다. 즉, 작업이 실제로 수행되었음을 증명합니다. PoW는 합의 메커니즘입니다. 블록이 닫히고 체인에 추가되면 합의가 이루어집니다. 각 채굴자는 새 블록을 제안하고 당첨 해시를 생성하는 동시에 새로 추가되는 블록도 검증합니다. 각 채굴자는 해당 블록이 유효하다고 확인되었음을 네트워크에 브로드캐스트합니다. 새 블록은 이전 블록의 헤더 해시를 사용해 증명 체인을 만들며, 이는 네트워크 합의로 이어집니다. 이러한 증명이 합의에 도달하는 방식의 기반이 되기 때문에 합의 메커니즘이라고 부릅니다. 각 채굴 노드가 최신 블록을 채굴하면서 이 작업을 수행하므로 적은 에너지와 컴퓨팅 성능만 필요합니다. 새 블록이 추가될 때마다 네트워크가 이를 확인합니다.

Bitcoin의 총공급량은 2,100만 개로 제한됩니다. 이 글을 작성하는 시점에는 약 1,900만 개의 Bitcoin이 채굴되었습니다. 2009년 가명의 제작자 Satoshi Nakamoto가 제네시스 블록, 즉 첫 번째 블록을 채굴하고 보상으로 Bitcoin 50개를 받았습니다. 

Ore

Ore는 Bitcoin과 마찬가지로 Proof of Work 토큰이지만, Solana 위에서 프로그램으로 구현됩니다. 노트북, 휴대폰 또는 가정용 컴퓨터에서 채굴할 수 있습니다. Ore v1에는 몇 가지 문제가 있었습니다. 먼저 시스템을 악용하기가 너무 쉬워 대량의 스팸이 발생했고, 이로 인해 Solana가 혼잡해졌습니다. 또 다른 문제는 ORE가 즉시 매도된다는 점이었습니다. 채굴자에게 수령 후 판매하는 것 외에는 다른 선택을 할 이유가 없었기 때문에 토큰 가치가 약 $4,000에서 약 $120로 하락했습니다.

생존을 위해 Ore v2는 단순했던 v1에서 몇 가지 중요한 사항을 변경했습니다.

  1. 악용하기 어려운 새로운 채굴 알고리즘 DrillX를 도입해 일반 휴대폰과 노트북으로 채굴하는 사용자도 비용 문제로 Ore 채굴에서 밀려나지 않도록 했습니다
  2. 채굴 보상을 높이는 ORE 스테이킹을 도입해 수요처를 만들고, 채굴자가 수령 후 판매하지 않고 보유하도록 유도합니다

Bitcoin과 마찬가지로 Ore의 공급량도 2,100만 토큰으로 고정되어 있습니다. 평균적으로 1분마다 새로운 ORE 1개만 채굴되므로 약 2064년이면 전체 2,100만 ORE가 채굴됩니다. Ore를 더 자세히 다루는 Helius 블로그의 kelxyz 글도 읽어보시길 권합니다.

해시 파워

해시 파워는 암호화폐 채굴에 사용되는 컴퓨팅 성능을 의미하며, 초당 수행되는 계산(해시) 횟수로 정확하게 측정됩니다. 해시 파워가 높을수록 컴퓨팅 능력이 뛰어나므로 채굴자가 문제를 더 빠르게 풀고 보상을 받을 확률을 높일 수 있습니다.

이 경우 기기가 문제를 풀고 Ore 채굴을 위한 트랜잭션을 전송합니다. 기기의 해시 파워를 확인하려면 터미널 또는 명령 프롬프트를 열고 ore benchmark 명령어를 실행하세요. 또는 Ore 웹사이트에서도 확인할 수 있습니다. 아래 스크린샷을 보면 제 기기는 분당 600개의 해시를 생성합니다. 더 좋은 노트북이 필요하겠네요. 

Ore v2가 도입한 새로운 프로토콜 Drillx는 CPU 기반입니다. 따라서 코어가 많은 기기일수록 더 빠르게 계산할 수 있습니다. 코어는 명령을 실행할 수 있는 CPU 내부의 단일 처리 장치입니다. CPU 코어가 많을수록 더 많은 작업을 동시에 처리할 수 있습니다. 

Ore는 어떻게 채굴하나요?

Ore 웹사이트의 Command-Line Interface(CLI) 또는 웹 앱을 통해 ORE를 채굴할 수 있습니다. ORE 채굴은 기본적으로 복잡한 수학 문제를 풀어 해시를 찾은 다음 트랜잭션을 전송하는 과정입니다. 따라서 채굴 보상을 높이는 방법은 두 가지입니다. 강력한 컴퓨팅 성능을 갖춘 기기를 사용하거나 트랜잭션을 더 빠르게 랜딩하는 것입니다. Ore v2가 도입한 새로운 프로토콜 Drillx는 CPU 기반입니다. 따라서 코어가 많은 기기일수록 더 빠르게 계산할 수 있습니다. 코어는 명령을 실행할 수 있는 CPU 내부의 단일 처리 장치입니다. CPU 코어가 많을수록 더 많은 작업을 동시에 처리할 수 있습니다. 

랜딩 성공률을 높이려면 Staked Connections와 우선순위 수수료를 사용하세요. Staked Connections는 리더, 즉 현재 트랜잭션을 실행 중인 검증인에 대한 우선 접근 권한을 제공합니다. 이를 통해 트랜잭션이 사전에 드롭되지 않고 리더에 의해 처리되도록 합니다. 트랜잭션 처리 단계에서 우선순위 수수료는 검증인이 다른 트랜잭션보다 내 트랜잭션을 먼저 실행하도록 유도합니다. 간단히 말해 Staked Connections는 트랜잭션을 리더에게 보내는 데 도움이 되고, 우선순위 수수료는 트랜잭션을 더 빠르게 실행하도록 돕습니다. 트랜잭션을 최적화하고 확인 지연 시간을 줄이며 전송 성공률을 높이려면 이 글을 참고하세요.

CLI를 사용하면 기기의 하드웨어를 더 효과적으로 활용하고, 사용할 RPC URL과 우선순위 수수료를 직접 제어할 수 있습니다. 하지만 초보자라면 웹사이트에서 시작하는 것도 좋습니다. 

웹

먼저 Ore 웹사이트에 접속해 지갑을 연결하세요.

새 채굴 계정을 만드는 페이지로 이동합니다. “계정 만들기”를 클릭하면 트랜잭션에 서명하라는 메시지가 표시됩니다. “시간 초과” 오류가 발생하면 “계정 만들기”를 다시 클릭해 재시도해야 할 수 있습니다. 서명한 트랜잭션이 처리되지 않은 채 만료되면 이 오류가 발생합니다

채굴이 자동으로 시작됩니다. 해시를 찾으면 트랜잭션 서명 요청이 표시되므로 백그라운드에서 실행하지 않는 것이 좋습니다.

마지막으로 홈페이지로 돌아가 잔액을 확인하고 “수령”을 클릭해 보상을 지갑으로 전송할 수 있습니다. 개인 탭으로 전환하면 활동 내역도 확인할 수 있습니다

CLI

Command-Line Interface(CLI)는 터미널에서 컴퓨터 시스템, 운영 체제 또는 애플리케이션과 상호작용하는 텍스트 기반 사용자 인터페이스입니다. 운영 체제에 따라 터미널(macOS, Linux 기반 OS) 또는 명령 프롬프트(Windows) 애플리케이션을 열어야 합니다.

사전 요구 사항

  1. Rust 및 Cargo
  2. Solana CLI

다음 명령어를 실행해 위 소프트웨어가 올바르게 설치되었는지 확인할 수 있습니다.

여기서는 &&을 사용해 명령어를 한 줄로 실행합니다.

Windows에 설치

Rust 및 Cargo

rustup-init.exe를 다운로드해 실행하세요. 콘솔에서 설치가 시작되며, 설치에 성공하면 다음 메시지가 표시됩니다. Rust is installed now.

Solana CLI

명령 프롬프트를 열고 다음 명령어를 실행하세요.

코드
cmd /c "curl https://release.solana.com/v1.18.18/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
코드
C:\solana-install-tmp\solana-install-init.exe v1.18.18

Linux/macOS에 설치

Rust 및 Cargo

코드
curl https://sh.rustup.rs -sSf | sh

Solana CLI

코드
sh -c "$(curl -sSfL https://release.solana.com/v1.18.18/install)"

Ore CLI 설치

코드
cargo install ore-cli

같은 명령어로 CLI를 최신 버전으로 업데이트할 수도 있습니다. 

네트워크 구성

현재 ORE는 Mainnet에서만 채굴할 수 있으므로 네트워크를 Mainnet으로 전환하겠습니다. 기본적으로 Ore는 모든 채굴 요청을 “https://api.mainnet-beta.solana.com”으로 전송합니다. solana config set 명령어로 구성을 변경할 수 있으며, --url 플래그를 사용하면 네트워크 구성을 변경할 수 있습니다. 

코드
solana config set --url https://api.mainnet-beta.solana.com

URL은 어떤 RPC URL로든 변경할 수 있습니다. 예를 들어 Helius는 월 $49부터 공유 플랜에서 Staked Connections를 제공합니다. 기본 URL을 사용하는 것보다 더 유리합니다. 위 명령어의 RPC URL을 큰따옴표 안에 원하는 RPC URL로 바꾸세요.

코드
solana config set --url "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

지갑 설정

트랜잭션에 서명하고 네트워크 수수료를 지불하며 보상을 받을 지갑을 만들겠습니다. 기기에 이미 지갑이 있다면 이 단계를 건너뛰어도 됩니다.

코드
solana-keygen new

위 명령어는 새 지갑을 만듭니다. 채굴 트랜잭션 수수료를 충당하려면 이 새 지갑에 SOL을 추가해야 합니다. 다음 명령어로 지갑의 공개 키를 확인하세요. 

코드
solana address

주소를 복사하고 SOL을 전송하세요. 다음 명령어를 사용해 이 지갑의 잔액도 확인할 수 있습니다.

코드
solana balance

이제 지갑에서 ORE를 채굴할 준비가 끝났습니다!

채굴 시작

모든 기본 구성을 사용해 ORE를 채굴하려면 다음 명령어를 실행하세요. 

코드
ore mine

그러면 ORE 채굴이 시작됩니다. 

고급 구성

기본 구성을 변경하려면 ore mine 명령어에 플래그를 추가합니다. 이 --<command>을 사용해 플래그를 추가할 수 있습니다. 여러 플래그를 한 번에 전달할 수도 있습니다. 

RPC

RPC 공급자의 Mainnet 엔드포인트를 추가하려면 --rpc 플래그 뒤에 RPC 공급자의 네트워크 주소를 입력해 네트워크를 전환할 수 있습니다.

코드
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

우선순위 수수료

위 ORE 채굴 스크린샷에서는 우선순위 수수료가 50000 microlamports로 설정되어 있습니다. 이 값과 다른 매개변수도 변경할 수 있습니다. 네트워크가 혼잡할 때 우선순위 수수료는 현재 트랜잭션을 실행하는 검증인이 내 트랜잭션을 처리하도록 유도합니다. 더 높은 수수료를 지불하는 트랜잭션이 먼저 처리되므로, 더 많은 비용을 지불할 의사가 있는 사용자는 더 빠르게 실행할 수 있습니다.

RPC 공급자가 제공하는 동적 우선순위 수수료를 사용하려면 다음 플래그를 사용하세요. 단, --rpc 플래그를 사용해 해당 RPC 공급자를 설정해야 합니다. 

코드
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

동적 수수료를 조회할 다른 URL이 있다면 수수료를 동적으로 추정할 수 있도록 해당 RPC URL을 큰따옴표 안에 추가하세요.

코드
ore mine --dynamic-fee-url <DYNAMIC_FEE_URL>

--priority-fee 플래그를 사용해 고정 우선순위 수수료를 추가할 수 있습니다. 동적 수수료를 사용한다면 이 값이 최댓값으로 적용됩니다. 기본값은 500000입니다.  

코드
ore mine --priority-fee <MICROLAMPORTS>

기타 구성

지갑을 만들면 수수료 지불자의 구성이 기본 위치에 저장됩니다. 예: /Users/username/.config/solana/id.json

다른 위치에 저장된 지갑을 수수료 지불자로 사용하려면 다음 명령어로 해당 수수료 지불자의 파일 경로를 추가할 수 있습니다.

코드
ore mine --priority-fee <MICROLAMPORTS>

ORE는 SPL 토큰이므로 ORE가 저장되는 Associated Token Account(ATA)가 생성됩니다. 이 ATA는 채굴을 처음 시작했을 때 생성되었습니다. 하지만 다른 계정에 ORE를 보관하려면 해당 계정의 키페어 파일 경로를 추가할 수 있습니다.

코드
ore mine --keypair <KEYPAIR_FILEPATH>

위 명령어를 모두 사용하려면 ore mine 뒤에 계속 추가해야 합니다. 

또는 모든 구성을 YML 파일에 저장하고 파일 경로를 직접 전달할 수 있습니다.

코드
ore mine --config <PATH>

config.yml 파일의 예시는 다음과 같습니다.

코드
---
json_rpc_url: https://mainnet.helius-rpc.com/?api-key=<your-key>
websocket_url: ''
keypair_path: /Users/example/.config/solana/id.json
address_labels:
  '11111111111111111111111111111111': System Program
commitment: confirmed

Ore CLI는 지속적으로 업데이트됩니다. 다음 명령어로 CLI를 최신 버전으로 유지해 새로운 명령어와 모든 버그 수정 사항을 이용하세요.   

코드
cargo install ore-cli

다음 명령어로 현재 버전을 확인할 수 있습니다. 

코드
ore -V

ore help 명령어는 현재 사용 가능한 모든 플래그와 각 플래그의 기능 및 인수를 나열합니다.

ORE 수령

채굴된 모든 ORE는 다시 스테이킹됩니다. 스테이킹을 해제하고 ORE를 수령하려면 다음 명령어를 실행해 채굴 보상을 지갑으로 전송하세요.

코드
ore claim

ore stake 명령어를 사용해 ORE 잔액을 스테이킹할 수 있습니다.

결론

Bitcoin은 디지털 화폐를 안전하고 탈중앙화된 방식으로 관리하는 길을 보여주었습니다. 이제 Ore는 새로운 알고리즘을 통해 채굴을 더 공정하게 만들고 있습니다. 새 버전은 스테이킹을 도입해 채굴자가 ORE를 즉시 매도하지 않고 보유하도록 합니다. 웹 앱이나 CLI를 사용하면 ORE를 쉽게 채굴할 수 있습니다. Backpack도 지갑 앱에서 Ore를 채굴하는 방법을 설명하는 가이드를 공개했습니다. Ore CLI에는 새로운 기능이 계속 추가되고 있으며, 이 프로젝트의 모든 저장소는 오픈 소스입니다. 최신 소식을 확인하려면 Twitter / X에서 창립자와 Ore 공식 계정을 팔로우하세요. 

여기까지 읽어주셔서 감사합니다! 아래에 이메일 주소를 입력해 Solana의 새로운 소식을 놓치지 마세요. 더 자세히 알아볼 준비가 되셨나요? 최신 Helius 블로그 글을 살펴보고 지금 바로 Solana 여정을 이어가세요.

Ore 사이트

자료

Helius 구독하기

최신 Solana 개발 소식을 확인하고 새 게시물 알림을 받아보세요

확대 이미지