음악서 영감 얻은 알고리듬이 모네로를 ASIC으로부터 지킬까

등록 : 2018년 10월 11일 06:30 | 수정 : 2018년 10월 11일 00:18

알고리듬은 창의적이다.

모네로(XMR)의 핵심 개발자 호워드 추(Howard Chu)의 말이다. ASIC(Application Specific Integrated Circuits) 채굴기로 불리는 특수한 하드웨어로부터 암호화폐를 보호하는 데 전념해온 추는 최근 ASIC 채굴기를 모네로에서 영원히 배제할 수 있는 해법을 발견했다. ASIC 채굴기가 한 번에 여러 가지 작업을 처리하지 못한다는 점에 착안해 랜덤제이에스(RandomJS)라고 스스로 이름 붙인 작업증명 방식 알고리듬을 고안한 것이다.

아마도 이 알고리듬과 관련해 가장 흥미로운 점이 있다면 추가 취미인 아일랜드 전통 바이올린인 피들(fiddle)을 연주하다가 혁신적인 아이디어를 떠올렸다는 사실이다. 외딴 시골이지만, 음악에 관한 한 풍요로운 거주지 아일랜드 도네갈에서 코인데스크의 취재에 응한 추는 피들을 연주할 때의 상상력을 토대로 랜덤제이에스를 만들었다고 말했다.

사진=Joseph Lopez

 

추의 말을 빌리면, 음악과 코딩은 두뇌에서 논리를 담당하는 부분과 창의적 사고를 담당하는 부분을 동시에 사용한다는 점에서 신경학적으로 작동하는 방식이 매우 흡사하다. 따라서 프로그래밍과 음악 사이에 공통점이 많다며 이를 새로운 알고리듬에 적용했다고 한다.

“음악은 매우 수학적이고, 음악의 기본 자체가 수학이다. 하지만, 동시에 음악에는 창의성이 존재한다.”

여기에 착안해서 추는 무작위로 생성되는 코드를 이용하는 알고리듬을 개발했다. 무작위로 생성된 코드는 한 가지 알고리듬에만 대응하도록 설계된 ASIC 채굴기를 신속하게 무력화시켜 채산성을 떨어뜨린다. 이렇게 되면 ASIC 채굴기 생산업체가 알고리듬을 자주 변경하는 암호화폐 프로젝트를 기피할 것이라고 많은 개발자가 예상한다.

지난해 채굴 업계의 거인 비트메인(Bitmain)이 비트코인뿐 아니라 다른 암호화폐에도 ASIC 채굴기를 개발해 출시하기 시작하면서 개발자들은 본격적으로 ASIC 채굴기에 대항하는 코드에 관심을 두게 됐다.

호워드 추는 지난 3월 비트메인이 출시한 모네로의 작업증명 알고리듬인 크립토나이트(Cryptonight)를 구동하도록 프로그램된 앤트마이너(Antminder) X3를 예로 들었다. 모네로 개발자들은 4월에 앤트마이너 X3를 무력화하는 긴급 소프트웨어 업그레이드를 단행, 알고리듬을 변경함으로써 “채굴자와의 전쟁”으로 알려진 암호화폐 진영의 반격을 주도했다.

이때부터 모네로 개발자들은 이런 종류의 하드웨어에 대응하기 위해 정기적으로 소프트웨어를 변경해왔다. 하지만 소규모 소프트웨어 변경만으로 하드웨어 생산업체의 암호화폐 채굴 시장 공략을 막기에는 역부족이었다. 추는 결국, 암호화폐를 지속해서 보호하기 위한 해결책으로 랜덤제이에스를 개발했다고 말했다.

“랜덤제이에스는 누구도 생각하지 못한 방식으로 이 문제를 해결한다.”

        

무작위 계산

프로그래머로서 높이 평가받는 추는 통신 산업에 널리 쓰이는 오픈소스 데이터베이스 레이어를 만든 OpenLDAP 프로젝트의 선임 설계자이기도 하며, 2015년부터 모네로 개발에 참여해왔다. 추는 자신이 연주하는 피들의 연주법에서 힌트를 얻은 기발한 접근법을 랜덤제이에스에 적용했다.

ASIC 하드웨어 생산업체가 특정 알고리듬을 구동하기 위해 소프트웨어를 분석하고 최적화된 하드웨어를 만드는 반면, 랜덤제이에스는 정반대의 접근법을 사용해서 (대부분 소비자용 랩톱 컴퓨터에 쓰이는) CPU 하드웨어의 기능을 먼저 분석하고 거기에 맞추어 알고리듬을 만든다.

추는 이 방식을 알고리듬을 연산하는 데 걸리는 시간과 이 연산을 검증하는 속도라는 작업증명 프로토콜의 두 기능 사이에서 균형을 맞추는 것이라고 설명했다. 예를 들어 추의 설명에 따르면 비트코인에 내장된 작업증명 알고리듬인 SHA 256은 검증이 간단하지만, 연산은 기본적으로 “너무 쉬워서” 여기에 맞는 하드웨어를 만드는 일은 식은 죽 먹기다.

“암호화폐의 해시는 원본임을 증명하는 데는 아주 탁월하지만, 너무 평이하므로 작업 단위로서는 낙제점이다. SHA 256 같은 알고리듬을 칩에 이식해서 CPU를 대량 복제하는 일은 정말 쉽다.”

따라서 랜덤제이에스 알고리듬은 CPU의 기능을 좀 더 광범위하게 사용하기 위해 연산 과정을 더욱 복잡하게 만들었다. 블록체인 데이터를 무작위 코드를 만들기 위한 입력값으로 사용하는 것이다.

“이전 블록의 해시값을 입력값으로 받아들여 의사 난수 발생기(pseudo-random number generator)의 시드(seed)로 사용한다.”

추는 이어 해당 데이터가 자바스크립트로 쓰인 무작위 알고리듬을 생성하고, 이 알고리듬은 채굴에 참여한 컴퓨터에 의해서 실행된 후 해시를 거쳐 블록체인에 더해진다고 설명했다.

새로운 알고리듬은 아직 모네로 핵심 개발팀의 검증 단계를 밟고 있으며, 해결해야 할 문제가 많아 적용이 지연될 수 있다. 예를 들어 모네로 채굴 인프라의 대부분을 차지하는 범용 하드웨어(GPU)에서 이 알고리듬이 작동하지 않는 문제를 포함해서 풀어야 할 과제가 산적해 있다.

 

음악적 사고

그럼에도 추의 알고리듬은 아마 ASIC 채굴기에 대항하는 기술 중에서 심미적인 면은 차치하고라도 가장 독특하다는 평가를 받고 있다.

이 알고리듬이 코드를 수시로 변경하기 때문에 에너지가 많이 소비되는 접근법이라는 주장이 있을 법한데, 에너지는 사실 LA 태생인 추가 도네갈 북서부로 이주한 이유를 잘 설명하는 단어이기도 하다. 추를 이 바위투성이 해안으로 이끈 것은 아일랜드 전통 음악에 대한 깊은 열정이었다. 추는 도네갈 전통 음악에 이곳의 풍광이 녹아 있음을 깨달았다.

추는 이렇게 말했다.

“도네갈 피들의 연주 스타일은 에너지가 충만하고 고음을 사용한 리듬감이 있다. 아일랜드 북단의 말린 헤드(Malin Head) 해안가에서 바위에 부서지는 파도를 바라보면서 피들의 에너지를 느꼈다.”

추는 음악 교육이 커리큘럼에 포함된 프로그래밍 학교를 도네갈에 세울 계획이라며 “유연성과 다양한 사고방식을 가르칠 계획”이라고 말했다. 컴퓨터 공학 교육이 학생들에게 논리적인 사고만 가르칠 뿐, 개발자의 창의적인 문제 해결 능력이 요구되는 현실 세계에 대비한 준비를 등한시하고 있다고 추는 말했다.

자신의 관심 분야인 음악과 프로그래밍의 융합에 대해 추는 이렇게 결론지었다.

“창의성이 있어야 음악과 프로그래밍을 융합할 수 있다. 창의적 사고를 하도록 훈련받지 않으면 두고두고 고생할 수밖에 없다.”

번역: 뉴스페퍼민트

This story originally appeared on CoinDesk, the global leader in blockchain news and publisher of the Bitcoin Price Index. view BPI.