avatar
Published on

블록체인은 실제로 얼마나 안전한가?

Author
  • avatar
    Name
    yceffort

How secure is blockchain really?

원문

블록체인을 사용하는 사람들의 가장 큰 이유는 안전하고 조작이 불가능한 방법으로 다른 귀중한 데이터를 신뢰하지 않는 사람들과 공유 하는데 있다. 블록체인은 정교한 수학과 공격자가 조작하기 매우 어려운 혁신적인 소프트웨어 규칙을 통해 데이터를 저장하기 때문이다. 하지만 가장 잘 설계된 블록체인 시스템 조차도, 숙련된 사기꾼과 접촉하는 곳에서는 실패할 수 있다.

왜 그런지 이해하기 위해서는, 블록체인이 '안전하게 만드는 요소' 부터 이해할 필요가 있다. 비트코인은 좋은 예다. 비트코인의 블록체인에서 공유된 데이터는 지금까지 만들어진 모든 비트코인의 거래 히스토리, 즉 원장이다. 이 원장은 '노드'라고 불리는 컴퓨터 네트워크의 여러 사본이 저장된다. 누군가 장부에 거래를 전송할 때 마다 노드는 거래가 유효한지 확인한다. 이 들 중 일부는 유효한 거래를 '블록'으로 패키지화 하고 이전 거래 체인에 추가하기 위해 경쟁한다. 이 노드의 소유자들을 '마이너'라고 한다. 체인에 새로운 블록을 성공적으로 추가한 마이너는 보상으로 비트코인을 얻는다.

이 시스템을 이론적으로 변조 불가능하게 만드는 것은 두가지다. 각 블록의 고유한 암호화 지문과 네트워크의 노드가 공유된 히스토리에 동의하는 '합의 프로토콜'.

해시라고 불리우는 이 지문은 처음에는 많은 연산 시간과 전력을 필요로 한다. 따라서 블록체인에 블록을 추가한 마이너가 비트코인 보상을 얻기 위해 계산 작업을 했다는 증거로 사용된다. (작업증명) 블록을 변경하려면 새로운 해시가 생성되어야 한다. 해시가 블록과 일치하는지 여부를 확인하는 것은 쉽고, 노드가 완료되면 블록체인의 각 사본을 새로운 블록으로 업데이트 한다. 이것이 바로 합의 된 절차다.

최종 보안요소는 해시가 블록체인의 링크 역할을 한다는 것이다. 각 블록에는 이전 블록의 고유한 해시가 포함된다. 따라서 원장항목을 소급하여 변경하려면 해당 블록 뿐 만 아니라 후속 블록에 대한 모든 새로운 해시를 적용 해야 한다. 그리고 다른 노드가 체인에 새로운 블록을 추가하는 작업보다 더 빨리 해내야 한다. 따라서 다른 노다보다 더 강력한 컴퓨터가 없다면, 추가하려고하는 모든 블록은 기존 노드와 충돌하고 다른 노드는 자동으로 변경을 거부한다. 이것이 블록체인을 변조하게 할 수 없게 만드는 이유다.

창의적으로 사기치는 법

비트코인처럼 시스템이 잘 작동한다는 단순한 사실이 그렇다고 해서 안전하다는 것은 아니다. 개발자들이 안전하다고 믿는 방식을 사용하더라도, 실수로 그것을 안전하지 않은 방법과 결합하는 것은 쉽다. 비트코인의 경우에는 가장 철저하게 테스트를 거쳐왔다.

사람들은 또한 속임수를 쓰는 다른 창의적인 방법을 발견했다. 광부의 채광력이 절반에 미치지 못하더라도 블록체인을 파괴하는 방법이 있음을 보여주었다. 세부사항은 기술적이지만, 본질적으로 이기적인 광부는 다른 노드를 속여 이미 해결된 암호 퍼즐에 시간을 낭비하게 하여 불공정한 이점을 얻을 수도 있다.

블록체인 노드는 데이터를 비교하기 위해 일정한 통신을 유지해야 한다. 한 노드의 통신을 제어하고, 나머지 네트워크에서 나온 거짓 데이터를 받아드리도록 속일 수 있다.

마지막으로 블록체인 프로토콜이 아무리 변조되지 않아도 안전한 것은 아니다. 블록체인 시스템이 실제 시스템과 연결되는 곳에서 실패가 발생할 수 있다. 예를 들어, 소프트웨어 클라이언트나 타사 응용프로그램과 같은 곳에서 실패가 발생할 수 있다.

해커들은 암호 화폐를 소유하는 사람이 소비하기 위해 필요한 개인 암호키를 저장하기 위한 인터넷 응용프로그램인 '핫 월렛'에 침입할 수 있다. 많은 온라인 암호 화폐 거래소가 고객의 자산을 '콜드 월렛' 에 보관한다고 저장한다고 말한다. 저장 장치는 대부분 즉 인터넷과 분리되어 있다. 그러나 일본에서 암호 화폐 해킹이 발생한 것 처럼, 모든 자산이 '콜드 월렛'에 있는 것은 아니다.

블록체인과 현실세계에서 가장 복잡한 연결 고리는 '스마트 컨트랙트' 일 것이다. 이는 거래를 자동화 할 수 있는 블록체인에 저장된 컴퓨터 응용 프로그램이다. 2016년 해커들은 블록체인 기반의 새로운 투자 펀드인 분산 자치 기구 (DAO)로 부터 당시 8천만 달러에 달하는 3560만 이더를 훔치기 위해 이더리움 블록체인에 쓰이는 스마트 컨트랙트의 취약점을 이용했다.

DAO 코드가 블록체인에 존재하므로, 이더리움 커뮤니티는 돈을 돌려받기 위해 '하드포크'라고 하는 논란의 여지가 있는 소프트웨어 업그레이드를 진행해야 했다. 연구자들은 여전히 스마트 컨트랙트가 오작동하지않도록 보장하는 방법을 개발중이다.

중앙집중화 문제

블록체인 시스템이 보안을 보장할 수 있는 이유는 '분권화' 다. 블록체인의 복사분이 널리 분산된 노드 네트워크에 저장된다면, 공격할 만한 약점이 별로 없으며, 네트워크를 파괴할 수 있는 충분한 컴퓨팅 파워를 확보하기도 어렵다. 하지만 최근 연구에 따르면 비트코인이나 이더리움이 그다지 생각만큼 분권화 되있지 않은 것으로 보인다. 이들은 상위 4개의 비트코인 마이닝 작업이 평균 마이닝 파워의 53% 이상을 차지 하는 것으로 나타났다. 마찬가지로, 이더리움은 마이너 3명이 61% 정도를 차지하고 있다.

일부 전문가들은 마이닝에 의존하지 않는 대안 합의 프로토콜이 더 안전할 수 있다고 주장한다. 그러나 이 가설은 검증되지 않았고, 새로운 프로토콜은 이들 만의 보안 문제를 내제하고 있을 것이다.

다른 이들은 비트코인과는 다르게 사전에 가입허가를 받는 블록체인에서 잠재력을 본다. 이러한 시스템은 암호화폐의 정신에 반하는 것이지만, 이 접근 법은 공유 암호화 데이터베이스 이점을 이용하는 금융기관과 기타 기관에 매력적이다.

하지만 이런 허가기반 블록체인은 문제점이 있다. 누가 허가를 내릴 권한이 있는가? 시스템이 검증자가 자신이 허가받은 당사자라고 보장하는 방법은 무엇인가? 허가 기반 시스템은 소유자를 안전한 것 처럼 느끼게 할 수 있지만, 실제로는 더 많은 통제력을 필요로 한다. 블록체인 신봉자들은 블록체인이라는 아이디어에 반하는 것이라고 생각할 수도 있다.

결국 '안전'이라는 것은 블록체인 맥락에서 정의하기가 매우 어려워진다. 누구로부터? 무엇으로부터? 이는 당신의 관점에 따라 달라진다.