핵심 기능

전문 채굴 운영을 위해 설계 — 안전하고 확장 가능하며 무중단

F1

전체 트래픽 암호화 터널

Pain Point

복잡한 네트워크에서 평문으로 전송되는 채굴 트래픽은 ISP에 의해 쉽게 식별·제한·차단됩니다. 트래픽 스니핑과 해시레이트 하이재킹은 실제 위협입니다.

Solution

HashRelay는 마이너와 풀 사이에 암호화 계층을 삽입합니다. 클라이언트는 Stratum 트래픽을 TLS 1.3 또는 QUIC 터널로 캡슐화한 후 릴레이 서버로 포워딩합니다. ISP는 암호화된 HTTPS/QUIC 데이터만 볼 수 있습니다.

Technical Highlights

  • 1TLS 1.3 인증서 모드 (프로덕션 권장)
  • 2인증서 없는 환경용 TCP + AES-256-GCM
  • 3AES 가속 없는 저사양 CPU용 TCP + ChaCha20-Poly1305
  • 4국경 간 불안정 네트워크용 QUIC (최저 지연)
F2

다중 풀·다중 코인 병렬 포워딩

Pain Point

여러 코인을 운영하는 기존 채굴장은 코인마다 별도 프록시를 유지해야 합니다 — 관리 복잡, 포트 할당 혼란, 문제 해결 어려움.

Solution

정적 포트 매핑으로 하나의 HashRelay 인스턴스가 여러 코인을 서로 다른 풀로 동시에 포워딩할 수 있습니다. 포트 3333 → BTC 풀, 포트 4444 → ETH 풀. 마이너는 아무것도 변경할 필요 없습니다.

Technical Highlights

  • 1Stratum 기반 모든 코인에 대한 프로토콜 무관 투명 포워딩
  • 2각 매핑을 풀 주소 및 집계 설정과 함께 독립적으로 구성
  • 3설정 변경이 실시간으로 클라이언트에 푸시, 재시작 불필요
  • 4풀별 Stratum 파싱을 독립적으로 활성화/비활성화 가능
F3

요청 집계

Pain Point

수천 대 마이너가 각각 별도 터널 연결을 여는 대규모 채굴장은 대역폭과 서버 리소스를 대량 소비하며, 풀 연결 차단 위험이 있습니다.

Solution

내장 집계 엔진이 클라이언트 측에서 Stratum 프로토콜을 파싱하고 수천 개의 마이너 요청을 소수의 업스트림 연결로 병합합니다. 1,000대 마이너 → 2개 연결.

Technical Highlights

  • 1Stratum V1, V1-Ethash, Stratum V2 지원
  • 2miners_per_conn으로 비율 제어; 기본 500 마이너/연결, 자동 스케일링
  • 3extranonce2 공간 분할로 각 마이너에 고유 탐색 공간 보장
  • 4JSON-RPC ID 리매핑으로 동시 요청 ID 충돌 방지
F4

실시간 해시레이트 모니터링 및 알림

Pain Point

채굴장 운영자는 즉각적인 인지가 부족합니다: 마이너 오프라인을 몇 시간 후에야 발견, 거부율 이상은 풀 로그인으로 수동 확인, 해시레이트 급락 자동 알림 없음.

Solution

프로토콜 미러 분석이 포워딩 파이프라인과 병렬로 Stratum 데이터를 비동기 추출 — 포워딩 지연에 영향 없음. 실시간 해시레이트 계산 및 이상 감지.

Technical Highlights

  • 1연결 끊김 알림: 초 단위 대응
  • 2높은 거부율: ≥30% 거부 시 트리거 (최소 10 셰어)
  • 3해시레이트 급락: 슬라이딩 윈도우 추정
  • 4Email, Telegram, Webhook 알림 지원
F5

동적 설정 핫 푸시

Pain Point

기존 프록시는 풀 설정 변경마다 서비스 재시작이 필요하여 마이너가 잠시 끊깁니다 — 대규모에서는 치명적입니다.

Solution

관리자가 대시보드 또는 API로 매핑을 변경하면, 서버가 DB 트랜잭션에 변경을 기록하고 지속 연결을 통해 관련 클라이언트 노드에 즉시 푸시합니다. 마이너는 아무것도 느끼지 못합니다.

Technical Highlights

  • 1푸시 이벤트 유형: CREATED, UPDATED, ENABLED, DISABLED, DELETED
  • 2클라이언트가 로컬 리스너를 핫 업데이트, 재시작 불필요
  • 3원자적 DB + 푸시로 일관성 보장
  • 4변경 사항 1초 이내 적용
F6

TCP + QUIC 듀얼 프로토콜

Pain Point

국경 간 링크의 높은 패킷 손실로 TCP 처리량이 급락합니다. 그러나 일부 네트워크는 UDP를 차단하여 QUIC을 사용할 수 없습니다. 단일 프로토콜로 모든 환경에 맞출 수 없습니다.

Solution

HashRelay는 TCP와 QUIC을 동시에 수신합니다. 실제 네트워크 조건에 따라 설정 파일에서 프로토콜을 선택하세요. 둘 다 프로덕션 준비 완료이며 즉시 전환 가능합니다.

Technical Highlights

  • 1QUIC: 국경 간/불안정 네트워크에 최적 — 낮은 지연, 패킷 손실 허용
  • 2TCP + TLS 인증서: 안정적인 데이터센터 네트워크에 최적 호환성
  • 3TCP + ChaCha20: 저사양 CPU의 인증서 없는 내부 네트워크에 최적
  • 4두 프로토콜 동시 활성; 클라이언트가 배포별로 선택
F7

스마트 자동 재연결

Pain Point

네트워크 변동으로 연결이 끊기면 마이너가 일시 중지되어 해시레이트 수익을 잃습니다.

Solution

클라이언트에 기본 5초 간격의 무제한 재연결이 내장되어 있습니다. 재연결 중에도 로컬 Stratum 리스너가 유지됩니다. 마이너는 중단을 전혀 경험하지 않습니다.

Technical Highlights

  • 1하트비트: 60초 Ping/Pong 간격
  • 2연속 3회 하트비트 누락 (~180초) 시 재연결 트리거
  • 3터널 복구 중에도 마이너가 로컬 포트로 셰어 계속 제출
  • 4네트워크 불안정 시 해시레이트 손실 최소화
F8

관리 API

Pain Point

대규모 수동 운영은 오류가 많고 느립니다. 팀은 풀 설정, 매핑, 통계에 대한 프로그래매틱 제어가 필요합니다.

Solution

/api/v1/의 완전한 RESTful JSON API로 스크립팅, CI/CD 파이프라인 통합, 서드파티 시스템 자동화를 통해 모든 HashRelay 리소스를 관리할 수 있습니다.

Technical Highlights

  • 1풀 관리: CRUD 작업
  • 2실시간 상태가 포함된 포트 매핑 관리
  • 3클라이언트 노드 관리 및 토큰 생성
  • 4통계 및 알림 이벤트 엔드포인트