피드로 돌아가기
Hacker NewsInfrastructure
원문 읽기
2GiB DRAM 및 CPU 범용 연산 강제로 ASIC 효율을 제거한 RandomX 설계
How Monero's proof of work works
AI 요약
Context
SHA-256 기반의 고정 함수 연산 구조로 인한 ASIC 전용 칩의 독점 및 채굴 중앙화 문제 발생. 특정 하드웨어 벤더에 종속되지 않는 탈중앙화된 네트워크 유지를 위한 CPU 최적화 PoW 필요성 대두.
Technical Solution
- Argon2d 기반의 256MiB 캐시 생성으로 메모리 집약적 구조 설계
- 2,080MiB 규모의 Dataset을 구축하여 On-chip 메모리를 초과하는 DRAM 트래픽 강제 유도
- 2MiB Scratchpad를 L1, L2, L3 캐시 계층 구조로 모사하여 CPU 로컬 메모리 활용 극대화
- 정수, 부동 소수점, 벡터 연산 및 분기문을 포함한 8단계 Chained Program의 VM 실행을 통한 일반 목적 CPU 워크로드 구현
- 2,048 블록 주기(약 2.8일)의 Key 변경 시스템을 도입하여 Dataset 재구축 비용 최적화 및 보안성 유지
- 하드웨어 설계자가 최적화하기 어려운 Non-power-of-two 데이터 구조 채택으로 ASIC 개발 비용 상승 유도
실천 포인트
1. 하드웨어 특정 최적화를 방지해야 하는 경우 데이터 구조를 비정형(Non-power-of-two)으로 설계할 것
2. 연산 집약적 작업보다 메모리 대역폭을 강제하는 구조를 통해 범용 하드웨어의 경쟁력을 확보할 것
3. 정기적인 Key Rotation을 통해 초기 설정 비용(Setup Cost)과 실행 효율 사이의 트레이드오프를 관리할 것