Hacking Verge: 어땠는지 (2부)

첫 번째 부분

시간 왜곡, 마이닝 취약점, DOS 공격 등.

Verge의 채굴: 5가지 알고리즘이 과도할 때

전통적으로 작업 증명 프로토콜을 기반으로 하는 암호화폐에서 블록은 단일 알고리즘(대부분 SHA-256)을 사용하여 채굴됩니다. Verge에서는 5가지 다른 알고리즘을 사용할 수 있었습니다(Scrypt, X17, Lyra2rev2, myr-groestl 및 blake2s). 다중 알고리즘을 사용하는 이유는 아래에 설명되어 있습니다.

Bitcoin에 대한 일부 비평가는 시간이 지남에 따라 비트코인 채굴 너무 전문화되고 중앙 집중화되어 대부분의 마이닝은 ASIC("응용별 집적 회로"의 약어, 특수 목적을 위한 집적 회로)에서 수행됩니다. 자원을 모아서 수익을 공유하는 광부. 다양한 유형의 "중앙 집중화"에 대한 이러한 경향은 암호 화폐의 기본 원칙에 위배된다고 말합니다. 다중 마이닝 알고리즘과 함께 코인을 사용하는 것은 이러한 추세에 대한 균형입니다. 이는 하드웨어, 생산 및 리소스 관리 측면에서 XNUMX가지 다른 알고리즘을 관리하는 것이 불가피하게 단일 알고리즘을 제어하는 ​​것보다 더 어려울 것이며, 이를 통해 Verge가 보다 분산되고 분산된 마이닝을 달성할 수 있다는 의미입니다.

상황은 다음과 같습니다. 올바른 작동을 달성하는 유일한 방법 - 이 경우 "정확한 작동"의 개념에는 블록 사이에 30초 간격을 유지하고, 채굴자를 위한 30가지 알고리즘 모두의 경제성을 유지하고, 하나의 알고리즘(전체 실험을 무의미하게 만들 수 있음) - 각 알고리즘이 다른 네 가지와 독립적으로 조정되는 고유한 난이도 매개변수를 갖도록 합니다. 즉, X17 및 기타 알고리즘과 마찬가지로 Scrypt 알고리즘의 채굴 난이도는 블록당 XNUMX초 간격으로 조정됩니다.

이것은 우리 해커가 전체 네트워크의 채굴 난이도를 실제로 줄이지 않았음을 의미합니다. 그는 50가지 알고리즘 중 하나인 Scrypt를 사용하여 채굴한 사람들에 대해서만 다운그레이드했습니다. 그리고 Scrypt 채굴자들은 엄청나게 쉬운 채굴을 즐겼지만, 다른 알고리즘을 작업하는 나머지 채굴자들은 작업의 복잡성이 줄어들지 않았습니다. 이것은 공격자가 Scrypt 알고리즘으로만 작업했으며 동일한 작업을 수행하는 다른 사용자와 경쟁해야 함을 의미합니다. 따라서 공격자에게 필요한 해시 파워는 10%(전체 네트워크에 대한 지배력)를 넘지 않고 XNUMX%(다른 Scrypt 채굴자에 대한 지배력) 이상이었습니다.

이제 추측의 영역으로 들어가겠지만, 상황은 더 나빠진 것 같습니다. 각 알고리즘에 대해 거의 동일한 양의 리소스가 할당되어야 한다는 사실(마이닝 난이도 설정 메커니즘의 본질)을 기반으로 10%라는 수치를 가정했습니다. 그러나 실제로는 자유 시장 경제의 공리가 항상 지켜지는 것은 아닙니다. 커뮤니티에서는 다양한 요인(예: 비활성화된 Scrypt용 ASIC의 존재 및 Nicehash를 통해 임대할 수 있는 무료 리소스 등)으로 인해 공격 중 Scrypt에서 채굴이 우세했다는 사실이 밝혀졌습니다. 네 가지 알고리즘 중 다른 어떤 것보다 훨씬 저렴합니다. 필요한 해시 비율이 궁극적으로 10% 미만이라고 가정하는 것이 안전합니다. Reddit에 제공된 일부 예비 추정에 따르면 해시 비율은 0,4%만큼 낮을 수 있습니다.

요약하자면, 가짜 타임스탬프는 마이닝의 복잡성을 극적으로 줄였습니다. 30가지 알고리즘을 사용한다는 것은 그 중 하나에 대한 복잡성을 줄이는 것이 가능하다는 것을 의미하여 전체 네트워크의 캡처를 크게 단순화했습니다. 이 특정 마이닝 알고리즘의 경제 및 생산 상태로 인해 캡처가 훨씬 쉬워졌습니다. 마지막으로 마이닝의 복잡성 감소로 인해 블록 형성 시간이 급격히 단축되어 공격 수익이 약 XNUMX 배 증가했습니다.

교훈

이 상황에서 어떤 결론을 내릴 수 있습니까? 해킹의 단기 결과는 예측할 수 없을 정도로 혼란스럽고 이해할 수 없었습니다. 며칠 후 주요 개발자는 오류가 발생할 수 있는 유틸리티의 도움으로 여러 버그를 수정했으며 결국 네트워크에서 하드 포크가 수행되었습니다. 이는 처음에는 우연히(또는 우연이 아님) 발생할 수 있었습니다. . 글로벌 반응으로 보자면 해킹 후 일주일 만에 Verge의 가격이 30% 인상되었으며 다음 주에 Verge 통화가 pornhub.com에서 구독료로 받아들여질 것이라고 발표되었습니다. 프로토콜 수준에서 가장 큰 암호 화폐 해킹이 어떻게 이 통화의 가치를 높이고 나중에 가장 많이 방문한 포르노 사이트와 파트너십을 맺을 수 있었는지에 대해 이 질문을 남겨 두겠습니다. 개인적으로 그냥 세상에 의미가 없고 사람이 완전 미쳤다고 생각합니다.

그러나 나는 빗나간다. 전 세계적으로 이 상황에서 배울 수 있는 몇 가지 교훈이 있습니다.

첫째, 인위적으로 복잡성을 줄이기 위해 타임스탬프를 사용하는 기술은 실제로 오랫동안 알려져 왔으며 심지어 "타임 워프" 취약점이라는 이름을 얻었습니다. 몇 년 전, 공격 벡터는 비트코인 ​​포럼에서 논의되었습니다. 새로운 블록마다 난이도가 조정되는 새로운 난이도 조정 알고리즘인 Dark Gravity Well의 사용은 Verge에 대한 공격을 구현하는 데 어느 정도 도움이 되었습니다. 비트코인에서 난이도는 2016 블록마다 변경됩니다. 이렇게 시간이 오래 걸리고 간헐적인 난이도 설정이 이상한 결정처럼 보일 수 있다는 사실에도 불구하고 Verge 해킹은 이것이 실제로 보안 조치임을 분명히 했습니다. 비트코인에 채굴의 복잡성을 줄이는 방법이 있다면 공격자는 2주에 한 번만 가능하므로 해커가 30초마다 마이닝 난이도를 낮출 수 있는 Verge에 비해 공격 결과가 미미합니다.

흥미롭게도 Dark Gravity Wave의 장점 중 하나는 시간 왜곡 취약점에 면역이 되어야 한다는 것입니다. 이 가정이 얼마나 강력하게 반증되었는지를 감안할 때 이 알고리즘을 사용하는 다른 통화는 최소한 긴장해야 합니다.

XNUMX가지 알고리즘의 사용에 관해서: 언뜻 보기에는 경제적으로 자극적인 분산 환경에서 가치 있는 실험처럼 보이지만 예기치 않은 취약점이 발생할 가능성을 필연적으로 증가시키는 새로운 복잡성을 도입합니다.

두 경우 모두 이 해킹은 입증된 메커니즘에 대한 강력한 주장을 구성하며 사람들의 금융 자산과 관련된 불필요한 위험을 복잡하게 만들고 도입하는 데 주의가 필요합니다. 이러한 문제에서 Bitcoin 팀은 최선을 다했습니다.

문제는 좀 더 광범위합니다. 소프트웨어 개발자는 인정하기를 꺼려하지만 궁극적으로 인간일 뿐입니다. 기본 보안 원칙이 완벽하게 건전해 보이더라도 항상 오류의 여지가 있을 수 있습니다. 예상치 못한 공격이 있고 타협이 항상 보상을 주는 것은 아니며 물론 좋은 오래된 버그의 가능성을 취소한 사람은 아무도 없습니다. 소프트웨어는 항상 우리가 원하는 대로 작동하지 않으며, 2018년에는 이와 같은 버그가 자금 손실로 이어질 수 있다는 사실에 아무도 놀라지 않을 것입니다. 그러나 소프트웨어가 자기  돈, 우리는 각별한 주의가 필요합니다.

우리 대부분이 투자하는 모든 프로젝트에 대해 철저한 코드 검토를 수행할 자유 시간이 없다는 점을 고려할 때 재해에 대한 최선의 보호는 긍정적인 업무 경험과 보수적인 개발 접근 방식을 갖춘 검증된 시스템에 대한 신뢰입니다.

그리고 송금과 관련된 파일럿 프로젝트에서 일부 자금에 베팅하려면 최소한 위험에 대해 알고 있어야 합니다. 궁극적으로 최선의 방어는 지역사회가 미래의 재난을 예방하기 위한 적절한 조치를 요구할 때입니다. 내가 틀리지 않는다면 George Santayana는 "과거의 보안 취약성에서 배울 수 없는 사람들은 미래에 그것을 계속해서 반복하게 될 운명입니다."라고 말했습니다. 우리는 예기치 않게 과거의 실수를 다시 반복하지 않도록이 단어를 기억해야합니다.

기사 평가
블록체인 미디어
코멘트를 추가