heart
unicorn
unicorn

Fork it 3: ETC 51공격에 대해서 다같이 토론해봐요

10 Questions You Should Ask In A Web Dev Interview Mike MU 2019년 6월 20일

Fork it 3: ETC 51% 공격에 대해서 다같이 토론해봐요!

디지털 화폐가 탄생한 초기부터, 51%의 공격은 모두가 토론하는 이슈였고, 작업량 증명을 합의 알고리즘으로 하는 디지털 화폐, 그것의 가장 큰 보안 위험은 51%의 공격이 존재할 수 있다는 것이다. 만약 누군가가 전체의 51%를 넘는 연산력을 가지고 있다면, 그는 한번 공격할 수 있다. 이 공격은 이중지불을 하거나, 이미 이루어진 합의상태을 다시 바꾸게 할 수 있다.

 

비트코인 네트워크는 10년 넘게 운영되고 있으며, 51%의 공격이 이론적인 차원에 머무르고 있는 것처럼 들릴 때가 많다. 그런데 이번에, 그것은 정말 실제로 일어났다. 그것은 바로 ETC의 51% 공격이다. 이번Fork It에서는 여러분과 ETC 51% 공격에 대해 이야기하도록 할 것이다.

 

Fork It 은 최초의 중국어 블록 체인 기술 팟캐스트이다. 이곳에서 다년간 블록체인 업계에 종사한 경험이 있는 앵커들은 현재 가장 핫한 업계 이슈를 토론하고 블록체인 기술에 대한 이해와 쌓인 지식을 공유하며 블록체인의 향후 진로와 트렌드에 대한 견해를 표현할 것이다. 바로 Fork It하러 가시죠~!

 

ETC 51% 공격의 경위

Daniel: ETC 의 51%의 공격은 조직적이고, 치밀하게 계획된 공격입니다. 2019년 1월 6일 Bittrue 라는 한 거래소는 13,000 ETC 의 이상 인출을 발견했다는 공고를 내었습니다. 충전해 들어온 거래는 복구되었고, 거래 잔액은 거래소에서 현금을 인출하는 중에 발견되어 차단되었습니다.

그리고 추적 후에, Coinbase 측은 더 큰 규모의 ETC 리오그 현상을 발견했습니다.

 

참고: 블록 재구성(Block Reorganization)이란, 네트워크에서 6개에서 8개 심지어는 더 긴 블록까지 채굴자들에 의해 이미 채굴된 상태에서, 이 블록들이 갑자기 모두 유효되지 않고 새로운 블록들이 원래 검증된 블록들을 대신하여 생겨난 것이다.

 

Coinbase 공식 블로그에서 처음으로 문제가 있는 것으로 의심되는 세 번의 비교적 큰 규모의 리오그를 발표했다. 이후 유명한 거래소인 gate.io가 51%의 공격을 받은 것으로 드러났는데, 해커가 이 거래소에서 두 번의 큰 액수의 입금을 하였고, 이 두 번의 입금 또한 리오그가 일어난 것이고, 해커들은 온라인에서 그들의 거래소에 있는 토큰을 팔아버리거나, 다른 토큰으로로 교환했다. 이어gate.io은 이번 공격으로 대략 20만 달러 상당의 피해가 발생했다고 공지했다.

 

이 사건이 드러나자, 일부 기술 애호가들, 특히 PeckShield와 같은 보안 조직이 공격 사건을 조사하기 시작했고, 그들은 51% 공격의 해쉬파워가 NiceHash라는 웹사이트에서 나온다는 것을 발견했고, 해커는 이 사이트에서 일정 규모의 해시파워를 임대하여 ETC 네트워크에 공격을 가할 수 있었다.

그 시절에는 ETC 네트워크의 112%를 넘는 해쉬파워를 임대될 수 있었고, 임대된 해쉬파워는 ETC를 채굴하는것과 당신이 하고 싶은 어떤 일이든 할 수 있었다. 해커는 NiceHash 사이트를 이용해 해쉬파워를 빌려야 공격할 수 있다.

ETC가 왜 이렇게 쉽게 공격되는가? 그것은 사실 ETC의 두 가지 특징이 있다.

 

첫 번째 특징은 공격에 드는 비용이 작다는 것이다. 우리는 ETC의 메인 네트워크 해시레이트가 100이라고 가정하고, 현재 101의 해쉬파워를 빌려 ETC 네트워크를 공격하려고 한다. 해커는 공격을 통해 한 거래소에서 대략 20만 달러의 손해를 입혔다. ETC의 메인 네트워크의 해쉬레이트를 초과한 하나의 해쉬파워를 임대하여 공격하면 20만 달러를 벌 수 있다, 과연 그 해쉬파워을 임대하는 데에는 얼마를 사용해야 할까?

 

답은 해커의 공격에 드는 비용이 시간당 5000달러 정도이다. 공격하던 날부터 지금까지 ETC 메인 네트워크의 해쉬레이트가 지속적으로 떨어졌었는데, 이제 다시 해쉬파워를 임대하여 ETC 네트워크를 공격하는 것은 이전 공격보다 저렴하게 할 수 있다.

 

우리는 ETC가 2016년 THE DAO 사건을 포크체인이라는 것을 알았다. 오랜 기간 동안 ETC의 해시레이트는 대개 이더리움 총 네트워크 해시레이트의 1/20이고, ETC가치도 이더리움 네트워크 토큰 가치의 1/20 정도였지만, 시간이 흐르면서, ETC의 네트워크 해시레이트는 점점 더 낮아졌고, 토큰 가치도 점점 떨어졌으며, 현재는 마침 쉽게 공격당하는 상태가 되었다.

 

ETC의 또 다른 특징은 유동성이 좋다는 것이다. 이더리움은 전세계 대다수 거래소에서 지원하는 주류 암호화폐이며, ETC는 이더리움과 같은 뿌리에 있기 때문에 거래소에서 ETC에 대한 지지가 매우 좋다. 비록 가격이 낮고, 해시레이트가 낮다고 해도, 유동성을 고려해 볼 때, 해커들은 적어도 51%의 공격을 하는데 적어도 두 가지 이윤을 남기는 방법을 가지고 있다. 첫 번째 방법은 이중지불이다. 거래소에 먼저 지갑에 이체를 하고, 해시파워 공격을 통해 그 장부를 체인상의 합의를 망가트리고, 이때 거래소에 이체기록이 남아 있어 사실상 존재하지 않는 돈을 뽑을 수 있다. 또 다른 방식은 해커가 51%의 공격을 성공시켜 부정적인 뉴스를 통해 선물시장에 영향을 주고 선물시장에서 미리 틈을 내 차익을 챙길 수 있다.

 

PoW 합의 초석이 흔들렸는가?

Terry: 사실 이번 PoW 51% 공격은 처음이 아니고, 많은 알트코인들이 선에 오르자마자 공격 당하고, 공격이라는 것은 이른바 해쉬파워로 공격하는 것입니다. 새로운 토큰 종류 또는 알트코인 종류에 상관하지 않고, 이들의 해쉬파워, 시가총액이 충분히 높지 않을 때 해커는 비교적 낮은 원가로 체인 하나를 공격할 수 있습니다. 이는 특히 안전하지 않습니다.

 

이 사건 이후 PoW에 관한 뉴스가 많이 나왔는데, 대표적인 것이 "ETC가 51%의 공격을 당했는데, 이로 인해 PoW 합의의 초석이 흔들렸는가?"입니다. 약간 이목을 끄는 제목이지만 한가지 물어보자면, PoW 합의 알고리즘에 대한 믿음을 잃었습니까? 또는 그것이 정말 문제가 있다고 생각합니까?

 

Kevin: 우선 PoW는 일종의 시빌 공격 방지 방식인데, 그것의 합의 알고리즘은 매우 간단합니다. 즉, 무작위로 하나의 수를 선택함으로써 완전히 공평하게 만드는 것이다.

 

시빌 공격(Sybil Attack): 동등한 네트워크에서 단일 노드는 보통 여러 개의 신분 표시를 가지며, 시스템의 대부분의 노드를 제어함으로써 불필요한 백업을 줄이는 역할을 한다.

 

네트워크에 하나의 악의적인 노드가 있으면 동일한 악의적인 노드가 다중의 신분을 가질 수 있으며, 원래 여러 노드에 백업해야 하는 데이터가 동일한 악의적 노드(이 악의적인 바이트가 다중의 신분으로 위장됨)에 잘못 백업되면, 이러한 악의적인 노드가 인터넷 통제권을 장악할 수 있습니다.

 

또 하나는 개방성으로, 어느 노드도 합의에 참여할 수 있으며, 채굴자들은 채굴기를 사서 전기를 꽂기만 하면 바로 채굴할 수 있습니다. 네트워크 자체의 해쉬레이트가 매우 높다면 PoW의 이점은 여전히 매우 분명합니다. 반면 PoS는 규제조건이 많아 온라인 유지, 토큰 구입이 필요할 수 있으며 이 과정에서 개인 정보가 포함된 IP 주소가 일부 노출될 수 있습니다. PoW 전체 시스템은 채굴자마다 가장 긴 체인에 블록을 제출해야 한다는 것을 보장했는데,  채굴자마다 블록을 하나씩 파낸 후 가능한 한 빨리 그것을 전파할 수 있는 동기을 갖게 해줍니다. 이것들은 모두 비트코인 Nakamoto Consensus의 아주 좋은 특징입니다.

 

그러나 어떤 합의 알고리즘도 안전 모델이 있고, 공격당할 가능성이 있을 것입니다. 다만 사람들은 PoW의 공격 모델을 비교적 잘 알고 있으며, 그것이 공격을 어떻게 막아낼 수 있는지 알고 있습니다. 다른 합의 알고리즘은 사람들이 잘 이해하지 못하고 있습니다. 많은 Pos 프로젝트 중, 재단 등 관련된 단체가 50%의 토큰을 보유하여 공격을 방지하는 방식을 채용하는 것입니다. 정말로 "황무지"에서 성장한 PoS는 아직 작동 시간이 매우 짧으며 아직 연구하는 과정에 있지만 연구할 만한 방향입니다.

 

Daniel: 네, 잘 알지 못하는 합의 알고리즘에 대해 우리가 더 걱정하는 것은 알려지지 않은 공격 방식, 그리고 이러한 공격 방식에 대한 아직 성숙한 해결책이 없다는 것입니다. PoW는 우리는 해커들이 어떤 방식으로 공격할 지 잘 알고 있습니다.

 

Terry: Vitalik이 Twitter를 보냈는데, 그는 ETH가 PoS로 방향을 돌려야 한다고 생각했습니다. 철학적으로 옳은 말입니다. 물론 반대의 목소리도 많습니다. PeckShield의 창시자는 어떤 알고리즘을 사용하든 비잔틴 장군의 문제를 해결하고 있다면 그 자신만의 안전 모델이 있다는 것을 얘기했습니다. Kevin이 말했듯이 안전의 전제 가설은 다르고 각각의 문제가 있을 것이고 PoS 도 해결되지 않은 문제들이 많이 있습니다. 사실 저희는 PoS 합의 알고리즘에 대해서도 굉장히 많은 이해와 지식을 가지고 있어서 저희가 앞으로 방송하면서 PoS에 대해서 전문적으로 얘기할 수 있을 것입니다.

 

하지만 표현하고자 하는 것은 PoW를 PoS로 바꾸는 것은 문제를 해결하는 방법이 아니고, 새로운 문제점을 많이 불러올 수 있다는 것입니다. 실제적인 문제 해결의 관점에서, 체인의 리오그에 대한 BCH 커뮤니티의 리오그 프로텍트와 같은 일부 해결책이 제기되었습니다. (BCH 에서 ABC 0.18.5 버전은 리오그 프로텍트가 추가되어 10개 이상의 블록 리오그를 배제할 수 있다.)

 

현재의 PoW 채굴 방식은 크게 두 가지로 나뉘는데, 하나는 ASIC 채굴기를 통해 채굴하는 것입니다. 예를 들어 비트코인이 있습니다. 다른 하나는 GPU 채굴기를 통해 채굴하는 것입니다. 예시로 ETC가 있습니다. 인정하지 않을 수 없는 점은, 그래픽 카드 채굴의 해쉬파워 유동성은 비교적 높고 캐낼 수 있는 토큰의 종류가 많기 때문입니다. 따라서 어느 토큰이든지 비교적 쉽게 해쉬파워를 임대해서 공격할 수 있고, 어떤 토큰을 공격한 후에, 자체 프로젝트가 망하고, 채굴자는 다른 토큰를 채굴하여 이윤을 얻습니다. 그렇다면 문제를 살펴보면, 그래픽 카드 채굴의 해쉬파워 유동성이 이렇게 높은데, 어느 정도부터 그래픽 카드 채굴을 인한 체인에 안전성에 영향을 줄 것 같다.

 

Daniel: 전체 해쉬파워 시장은 하나의 데이터 뱅크 시장 이며, 현재의 시장 환경에서는 그래픽 카드 시장에 투자하여 많은 그래픽 카드를 구입하고 해쉬파워를 증가시키는 사람은 많지 않습니다. 반면에, 더 많은 채굴자들이 채굴기를 멈추는 것을 선택할 것인데, 그것은 현재 모든 암화화폐 종류의 가격이 낮아서 채굴하는 것이 수지가 맞지 않기 때문이다.

 

모든 채굴자들은 어느 화폐를 채굴할지 자유롭게 선택할 수 있고, 보통 이성적인 채굴자들은 이윤을 내고 돈을 벌 수 있는 암호화폐 종류를 선택합니다. 결국 모든 암호화폐가 상대적 손익분기점으로 되돌아가거나, 각 종류의 암호화폐를 채굴해 얻는 이익이 비슷합니다. 그래서 현재 모든 화폐 종류가 각자 뒤에서 지탱하는 계산력이 안정된 상태를 유지하고 있다.

 

이러한 안정된 상태에서 일부 화폐의 가치가 높을수록 해쉬파워가 커져 메인 네트워크를 능가하는 해쉬파워를 임대해 공격하는 것은 매우 어렵습니다. 가치가 낮거나 채굴하는 것이 비경제적이어서 채굴하는 채굴자들이 많이 없는 화폐 종류는 공격자들이 연산력을 빌려 공격하기 쉽기 때문에 매우 안전하지 않습니다.

 

어느 프로젝트든, 특히 PoW를 합의 알고리즘 프로젝트로 선택하는 것은 초기 해세레이트 성장 단계에서 안전하지 않은 단계를 거치게 될 것이며, 그러면 이 위험한 상태에서 어떻게 안전하고 성숙한 단계로 발전할 것인지, 이것이 특히 관건입니다.

 

ASIC Friendly or Not?

Terry: 우리는 많은 프로젝트를 봤고, 그들은 ASIC 채굴기로 채굴할 것인지에 대해 서로 다른 태도를 가지고 있고, 일부는 대립적, 일부는 중립적, 일부는 우호적입니다. 그러면 만약 알트코인 종류가 ASIC로 채굴한다면, 그것이 더 안전할까요?

 

Kevin: 이것은 당신이 어떻게 안전성을 규정하느냐에 달려있다. 알트코인 종류가 ASIC Friendly를 비난하는 태도는 두가지 종류가 있다. 하나는 매우 짧은 연구 개발 주기 동안 하나의 새로운 프로젝트의 ASIC 채굴기가 만들어진다고 가정하고, 모두가 이 프로젝트를 좋게 보고 있다. 그러면 이러한 문제가 나타날 수 있다.

 

일반적으로 한 프로젝트가 그전에 가장 빨리 토큰을 분산 시키고 싶으면 가장 빠른 배당금은 ASIC를 보유한 채굴자에게 양도되었다면, 이 채굴자들은 중앙화되었을 가능성이 높습니다. 심지어 ASIC 제조업체가 채굴기를 개발해 판매하지 않고 스스로 토큰을 채굴하는 식으로 토큰 자체에 중앙화될 수도 있다. 토큰이 지나치게 중앙화 되면 커뮤니티에 매우 중앙화되는데, 나중에 토큰으로 투표해야 하거나 온라인 상에서 해쉬파워로 컨트롤 해야 할 경우 문제가 생길 수 있다. 심지어 비트코인 ASIC 채굴기 제조업체처럼 한 곳만 커져버리는 상황이 발생하면, 생산업자들이 가장 먼저 채굴기를 생산해 가장 많은 토큰을 파낸 다음 토큰을 헐값에 팔아서 얻은 자금을 다시 투입해 생산과 연구개발을 할 수 있고, 이렇게 다른 사람보다 더 앞서나가는 것이다. 이 부분이 사람들이 ASIC Friendly에 대해서 질책하는 부분이다.

 

또 다른 하나는 어떠한 프로젝트가 다른 프로젝트(예를 들면 비트코인을 캐는 채굴기)의 ASIC 채굴 알고리즘을 적용하는 것인데, 이미 시중에는 대량의 ASIC 채굴기가 비트코인을 캐고 있고, 이것은 이 프로젝트에 대해 매우 안전하지 않다. 일단 종목이 올라가면 비트코인 채굴자들이 직접 종목에 공격을 가할 수 있기  때문이다. 이 비트코인 채굴자들이 자체 소유할 수 있는 해쉬파워만 충분하다면, 이 프로젝트에 51%공격을 가하기 쉽다.

 

그래서 가장 좋은 방법은 그래픽 카드로 채굴하던지, ASIC Friendly를 사용해 채굴하던지, 새로운 알고리즘을 적용하는 것다.

 

그러나 하나의 새로운 알고리즘을 가진 프로젝트를 사용하는 것 또한 문제가 있다. 만약 그래픽 카드를 사용하여 채굴한다면, 그래픽 카드는 모두 똑같기 때문에, 해커는 채굴 소프트웨어를 설치하여 공격할 수 있다. 만약 ASIC 채굴기를 사용하여 채굴하는 것이라면, 기존의 ASIC 채굴기는 처음 단계에서 직접 공격하기는 힘들지만, 채굴의 중앙화와 같은 약간의 다른 문제들을 가져올 수 있다.

 

Grin을 예시로 들어보겠습니다. Grin의 채굴설계는 매우 재밌다. Cuckoo Cycle(John Tromp가 발명한 그래픽 작업량 증명이고, 다음 Fork It 에서 설명한 것이다.)에 기반한 두개의 알고리즘을 가지고 있고, 하나는 Cuckaroo29라고 불리는 ASIC 저항입니다. 나머지 알고리즘은 Cuckatoo31+라고 불리는 ASIC Friendly이다.

 

처음에 Grin은 많은 양의 그래픽 카드로 채굴해서 채굴자들에게 돈을 분산해주었다. Grin은 새로운 알고리즘을 채택했기 때문에, 이전의 저장된 그래픽 카드는 연산력으로 전환할 수 있었지만, 어려운 점도 있었습니다. 또한 Grin은 ASIC를 배제하지 않고 일정량의 화폐를 ASIC 채굴기가 채굴했고, 시간이 지날수록 각 채굴 알고리즘으로 채굴한 화폐 비율이 점차 변화했다.

 

만약 그래픽 카드를 고용군에 비유한다면 ASIC 채굴기는 금위군과 같다. 최적화된 ASIC 채굴기는 다른 프로젝트의 토큰을 다시 캐러 가는 것이 불가능하며, 이 장비들은 하나의 프로젝트만 캐낼 수 있다. 다른 채굴자들이 가입하려고 한다면, 채굴기를 사는 방식으로만 채굴할 수 있습니다. 그런 측면에서 Grin은 좋은 프로젝트입니다. ASIC의 채굴자들이 어느 정도 중심적일 수 있지만 채굴자들은 Grin Token만을 채굴할 수 있으며, 이것은 그들로 하여금 이 프로젝트를 보호하도록 동기를 만들어 줄 수 있다. (그 외의 칩들은 다른 역할을 하지 않기 때문이다.)

 

Terry: 맞아. ASIC 알고리즘을 만든 새로운 프로젝트가 하나 있다고 가정했을때, 그리고 많은 사람들이 이 화폐를 캐고 있다면, 채굴자들은 해쉬파워를 임대해 그 프로젝트를 공격하려고 하지 않을 것이다. 단기적으로는 흑자가 날 수도 있지만, 장기적으로 봤을 때는 화폐의 가치가 없어지면 모든 채굴기가 고철에 불과해지기 때문에 손해가 더 클 수 밖에 없기 때문입니다. 하지만 그래픽 카드로 채굴하는 화폐 종류의 채굴자들은 이런 상황을 고려하지 않습니다. 이것은 또한 ASIC채굴의 충성도를 나타내는데, 그래픽 카드 채굴과는 약간의 차이가 있습니다.

 

아까 언급했던 Grin의 채굴 중, 하나의 재미있는 설계가 있습니다. 갓 시작한 Grin의 채굴 90%는 Cuckaroo29 (ASIC 저항)이고, 10%는 Cuckendoo31+ (ASIC Friendly)입니다. 이 비율이 점차 변화하는데, ASIC의 채굴 부분은 점점 커지고, 그래픽 카드 채굴 부분은 점점 작아집니다. 이러한 변환 방식은 Grin이 ASIC에 대해 중립적이라는 것을 설명하고 있고, 이것은 우리의 의견과 일치한다

 

저는 한 베테랑 채굴기 생산업자의 관점을 들은 적이 있는데, 그는 프로젝트가 충분히 좋으면 ASIC화가 불가피하다고 생각한다. ASIC화를 피하기 위해서는 두가지 방법이 있다. 한가지는 프로젝트 측이 ASIC를 제조하기만 하면, 과감하게 소프트웨어를 개발하고, 알고리즘을 바꿀것이라 윽박지르는 것이다. 또 하나는 ETH가 PoS로 바꿀 것이라 계속 말했던 것처럼 "속이는" 것입니다. 저는 '속인다'는 말에 동의하지 않지만 다른 사람들이 그렇게 비꼬아서 말하면, 표현하고자 하는 중점은, 우호적이든 비우호적이든, 이익이 충분하기만 하면 ASIC를 사용해야한다는 것입니다.

 

기술적으로는 모든 알고리즘이 ASIC를 할 수 있는지 여부를 판정할 수 없지만, 이익이 충분히 크다면, 누군가가 ASIC 연구를 할 것이라고 믿습니다. 제가 알고 있는 정보에 따르면, Zcash, 모네로등은 사실 ASIC 채굴기가 있지만, 단지 커뮤니티에서만은 ASIC 채굴기에 대한 태도가 다르다.

 

Daniel: 네, 모네로 커뮤니티에 ASIC 채굴기가 생긴 후에, 빠른 속도로 합의를 형성했고, 알고리즘을 변환하면 이전 ASIC 채굴기가 고철로 변한다.

 

Terry: 네, 다시 한번 말씀드리자면, 저희는 Grin 프로젝트를 추천하지 않다.  Grin 이 프로젝트 뒤에 있는 MimbleWimble 프로토콜은 확실히 강한 특징을 가지고 있다. Grin을 제외한 MimbleWimble 프로토콜의 또 다른 구현은 Beam 프로젝트이지만, 이는 원래의 프로토콜 기반에서 몇몇 소위 "개량"을 했는데, 이 "개량"은 좋은 것인지 나쁜 것인지 시간을 두고 평가해야 할 필요가 있다. 대조적으로, 저는 Grin이 좀 더 원리주의적으로 MimbleWimble을 이루어냈다고 생각한다. 또한, 저는 국내의 몇몇 팀들이 MimbleWimble을 구현하려고 한다고 들었는데, 이것은 작은 붐을 일으킬 수도 있다고 생각한다.


# 로그인 후 댓글을 달아주세요
10 Questions You Should Ask In A Web Dev Interview Mike MU 2019-06-20 14:56:10
글 너무 길다