51% 블록체인 공격시 블록체인의 대응방법
51% 공격이 빈번하게 일어나는데 해당 블록체인에서 막을 수 있는 방법은 없는건가요?
51%공격이 일어나는 이유와 대응방안은 있는지 궁금합니다
우선 51% 공격에 대한 개념부터 알아야 합니다.
51% 공격은 체굴 시스템(POW)의 네트워크 전체 해시 파워에서 절반 이상을 확보하여 네트워크 생태계를 교란시키는 행위를 듯합니다. 마치 민주주의 시스템 같은 것이죠. 비트코인 같은 많이 알려져있고 채굴자도 많은 코인들은 전체 해시파워가 상당히 높기 때문에 아무리 좋은 장비를 이용하더라도 공격이 쉽지 않습니다. 하지만 마이너한 코인들의 경우에는 채굴자들이 많지 않아 해시파워가 부족한 경우가 있습니다.
공격자는 이 부분을 노려 한 순간에 집중하여 정상적인 네트워크가 아닌 가짜 네트워크를 생성해 2개의 트랜잭션을 만들어 '가짜 코인'을 만들 수 있습니다. 가짜 코인을 거래소에 입금하게 되더라도 거래소 입장에서는 이 코인이 진짜인지 가짜인지 바로 알아차릴 수 없습니다. 설령 알아차린다 하더라도 이미 그 가짜코인을 팔고 난 뒤입니다.
이런 행위를 막기위해서는
거래소에서 체인 재구성을 통해 확실히 코인이 '진짜'인지 '가짜'인지 가려낼 수 있을 만한 컨펌 시간을 가져야합니다. 체인 재구성에 의해 '가짜'가 자연스레 사라지기 때문입니다. (현재 upbit에서 이더리움클래식 컨펌을 500으로 늘린 것이 주요 사례입니다)
해시파워를 늘리면 됩니다. 하지만 이는 서로의 이해관계가 있기 때문에 쉽지 않습니다.
51% 공격은 막을 수 없습니다.
51%공격이 가능한 블럭체인은 이미 블럭체인으로서 기능을 상실했다고 볼 수 있습니다.
거래소에서 컨펌수를 늘린다고해서 51%공격을 막을 수 없습니다. 공격하는데 걸리는 시간을 더 늘릴 수는 있겠지만요.
전체 네트워크 해시파워의 51%정도를 차지하면 확률적으로 블럭을 계속 따라갈 수 있습니다.
51%공격의 시나리오는 다음과 같습니다. (악의적인 블록에는 '기호를붙였습니다.)
A - B - C- D - E - F - G -H - J - K
A - B'-C'-D'- E'- F'-G'-H'-J'- K'
제가 51%이상의 해시파워를 가지고 있기 때문에 확률적으로 악의적인 트랜잭션을 포함한채로 체인을 계속 따라가는게 가능합니다.
거래소에서 컨펌수를 늘린다고하더라도 계속 체인을 따라가다가 어느순간 역전시키면서 51% 공격이 가능합니다.
거래소에서 컨펌수를 늘려서 공격하는데 걸리는 시간을 늘릴 수 있겠지만 막는것은 불가능합니다.