블록체인은 비트코인의 근본적인 분산원장 기술이며 지원하는 화폐보다 더욱 가치가 있음을 입증해 보이고 있다. 하지만 본 기술은 안전해야 가치 있을 수 있다. 분산원장 기술 적용을 시작함에 따라 우리가 설정한 초기 조건이 훗날 보안 문제로 설정되지 않음을 주의해야 한다.
블록체인 기술에 내재된 보안 위험요소를 이해하려면 공공 블록체인과 개인 블록체인의 차이를 이해해야 한다.
비트코인은 누구나 거래정보를 읽고 쓸 수 있게 하는 거래 기록 시스템인 공공 블록체인에 의존한다. 누구나 거래정보를 종합하고 발행할 수 있는데 어려운 암호 퍼즐을 풀어 이에 충분한 노력이 들어갔다고 보여줘야 가능하다. 이전에 증명된 거래의 기록을 노드(node)의 네트워크가 확인하고 새로운 거래를 증명하는 것을 합의 프로토콜이라 한다. 비트코인 시스템 내에서는 어떠한 사용자도 거래 증명에 있어 무조건 신뢰할 수 없기에 모든 사용자는 소프트웨어 및 하드웨어 자원을 무차별 대입으로 문제를 푸는 데 전념 시켜 거래를 증명하는 알고리즘을 따른다. 해결책에 처음 도달한 사용자는 보상을 받고 이를 입증시키는데 사용된 거래와 함께 각각의 새로운 해결책은 해결되어야 할 다음 문제에 기초를 형성한다.
이러한 분산과 접근의 상대적 자유는 예상치 못한 결과를 낳았다. 모든 이가 거래정보를 읽고 쓸 수 있기 때문에 비트코인 거래는 암시장 거래를 부채질 했다. 합의 프로토콜이 에너지 소모가 크기 때문에 대부분의 사용자는 전기료가 싼 나라에서 운용되고 이는 중앙 네트워크로의 집중과 결탁의 가능성을 초래하여 전기 보조금에 대한 정책의 변화에 네트워크를 취약하게 만든다. 이 같은 추세는 둘다 기업들에게 더 높은 통제권을 궁극적으로 부여할 수 있는 개인 블록체인에 대한 관심을 증가 시켰다.
금융의 맥락에서 주로 사용되는 개인 블록체인은 누가 증명된 거래의 장부를 읽을 수 있고, 거래정보를 제출할 수 있으며 이를 증명 시킬 수 있는지에 관한 통제권을 운용자에게 부여한다. 이러한 개인 블록체인의 활용범위는 서로를 완전히 신뢰하지 않지만 동시에 참여하고자 하는 다수의 당사자들이 있는 다양한 종류의 시장을 포함한다. 예를 들어, 토지 및 유형자산 등록소, 상품 무역 및 사모펀드 분배를 지원하는 개인 블록체인 시스템은 모두 시험 중에 있다. 이러한 시스템이 개발되고 발전되면 이들 또한 시스템 및 관리, 저장되는 자산에 대한 보안에 영향을 주는 등 예상치 못한 결과에 맞닥뜨릴 수 있다. 소프트웨어 및 상품 개발 에서와 같이, 초기단계에 보안을 생각하면 훗날 보안적 결함을 해결하기 위한 상품에 근본적인 수정을 하는데 더 수월 할 것이다.
보안은 네트워크 아키텍처로 시작된다.
개인 블록체인을 구축하는데 고려해야 할 점 중에 하나는 시스템의 네트워크 아키텍처에 관해서이다. 블록체인은 새로운 거래를 쓰고 승인하는데 필요한 커뮤니케이션을 통해 증명된 거래의 목록인 장부에 대한 합의에 도달한다. 이 커뮤니케이션은 노드 간 발생하는데 각 노드는 장부의 복사본을 지키고 다른 노드에게 새롭게 제출 혹은 증명된 거래인지에 대한 새로운 정보를 알린다. 개인 블록체인 운용자는 노드 운용을 누구에게 허용했는지, 어떻게 이러한 노드가 연결되었는지를 통제 할 수 있다. 연결이 더 잘된 노드는 정보를 더 신속하게 받을 수 있다. 이와 같이, 특정 수의 연결이 유지되어야 활성화 됐다고 할 수 있다. 정보의 전송을 제한하거나 부정확한 정보를 전송하는 노드는 시스템의 온전함을 유지시키기 위해 인식과 회피가 가능해야 한다. 상품 무역의 내부적 개인 블록체인은 네트워크에 더 많은 중앙 직책을 저명한 무역 파트너에 부여할 수 있고 새 노드가 예상대로 행동함을 보장하기 위한 보안 정책으로 중앙 노드 중 하나에 연결성을 유지하도록 요구할 수 있다.
네트워크 아키텍처를 수립하는데 또 하나의 우려사항은 비활성화 및 간헐적 활성화 노드를 어떻게 다루느냐 에 있다. 노드는 위험 없이 오프라인으로 될 때에도 네트워크는 이전에 증명된 거래에 대한 합의를 얻고 새 거래를 올바르게 증명하기 위해 오프라인 노드 없이도 작동할 수 있도록 구조화되어야 하고 온라인으로 돌아올 시 이 노드가 다시 제 속도를 빨리 찾을 수 있어야 한다.
공공 대 개인 블록체인의 합의 프로토콜 및 접근허가
문제해결을 통해 거래를 증명하는 합의에 도출하는 데 사용하는 과정은 현재로는 10분쯤 시간이 소요되게끔 고의적으로 고안되었다. 약 한 두 시간 동안은 거래가 완전히 증명되지 않은 걸로 간주되고 이 시간이 지나면 장부에 충분히 깊게 관여한 것이 되어 포크(fork)라 불리는 대립되는 장부 버전을 소개하는 것이 산술적으로 비싸다. 이 같은 지연은 초기에 증명된 거래가 나중에 지위를 상실할 수 있는 시스템의 취약점이자 금융 무역과 같은 빨리 진행되는 거래를 위한 비트코인 기반 시스템 사용에 상당한 장애물이다.
이와 달리, 개인 블록체인에서는 운용자가 증명 과정을 수행하기 위해 특정 노드만을 허용하기를 선택할 수 있고 이 같은 신뢰기관은 네트워크 전체에 새롭게 증명된 거래를 활성화 시키는 책임을 지닌다. 이 같은 노드의 접근을 확보하고 언제, 누구를 위해 신뢰기관을 확장할지를 정하는 책임은 블록체인 시스템 운용자가 내릴 보안상의 결정이다.
공공 대 개인 블록체인의 거래 가역성 및 자산보안
블록체인 거래가 데이터 저장에 쓰이기도 하지만 비트코인 거래의 주요 목표는 비트코인 자체의 교환이다. 화폐의 환율은 단기 주기동안 변동을 거듭해왔지만 지난 2년동안 5배 이상으로 가치 상승했다. 각 비트코인 거래는 교환되는 비트코인과 관련된 고유의 문자 스트링을 포함한다. 이와 같이, 다른 블록체인 시스템은 거래에 관여한 자산 및 주식 보유를 기록한다. 비트코인 시스템에서는 지불에 연결된 개인키(무작위의 고유한 산출량을 제공하도록 고안된 알고리즘에 의해 생성된 긴 숫자)를 사용하여 소유권을 나타내고 이러한 개인키의 가치에도 불구하고 현금과 같이 여타 데이터처럼 도난, 손실될 수 있다. 이 같은 도난은 비트코인 보안의 실패가 아닌 개인 보안의 실패이며 개인키를 불안전하게 저장한 결과이다. 일부 추정치는 손실된 비트코인에 9억5천만 달러의 가치를 부여했다.
따라서 개인 블록체인 운용자는 특히 유형자산을 관리하는 시스템을 위해 신분증명 자격이 손실된 문제의 해결방안을 반드시 결정해야 한다. 그 누구도 오일 한 배럴의 소유권을 증명할 수 없다고 해도 그 배럴은 어딘 가에 자리를 잡아야만 한다. 비트코인은 현재 개인키를 잃어버린 사람들에게 변상을 해주지 않는다. 이와 같이, 도난 된 비트코인은 도난 된 키로 제출한 거래와 같이 입증하는 노드에는 합법적 거래와 구별하기 어려워 거의 회복이 불가능하다.
개인 블록체인 소유자는 특히 거래가 도난 된 듯 하면 어떤 상황에서 입증된 거래를 뒤집을 수 있는 지의 여부에 대한 결정을 해야 한다. 거래 전환은 시스템의 공정성과 공명정대의 신뢰를 해칠 수 있다. 하지만 오류 남용 결과로 대규모 손실을 허용한 시스템은 사용자들을 잃을 것이다. 이는 공공 블록체인 기반 플랫폼인 이더리움(Ethereum)에서 운영되도록 고안된 코드 기반 벤처 자본 기금인 분산자치기구(DAO)의 최근 사례에서 볼 수 있다. DAO 운용 코드의 보안 취약점은 DAO의 취약점이 이더리움 프로토콜의 문제가 아니었음에도 불구하고 이더리움 개발자들의 이더리움 프로토콜 자체 수정을 필요로 하는 금융 손실로 이어졌다. 이 같은 수정에 대한 결정은 논란이 많았고 공공 및 개인 블록체인 개발자들 둘다 비슷한 결정에 직면하는 상황을 고려해야 한다는 생각을 강조했다.
보상을 따져보다
개인 블록체인이 제공하는 신속한 거래 증명 및 네트워크 커뮤니케이션, 오류 수정 및 거래 전환 능력, 접근 제한 및 외부 공격 가능성 축소 능력 등의 이점은 장래 사용자들이 시스템을 경계하도록 만들 수 있다. 여하튼 블록체인이 필요 하다는 건 어느 정도의 불신을 전제로 하거나 적어도 모든 사용자의 혜택이 일치하지 않음을 인정하는 것이다. 비트코인과 같은 공공 블록체인 시스템을 유지하기 위해 일하는 개발자들은 여전히 그들이 제안하는 수정사항을 개별 사용자들이 채택하는데 의존하며 이는 전체 시스템의 이해관계와 부합해야만 수정사항이 채택됨을 보장하는 역할을 한다. 반면에, 개인 블록체인 운용자는 일부 사용자들이 반대하는 수정사항을 일방적으로 배포하길 선택할 수 있다. 개인 블록체인의 보안성과 유용성 모두를 보장하기 위해 운용자는 시스템 규칙의 수정사항에 반대하거나 새 규칙을 채택하는 데 더딘 사용자들에게 가능한 변상을 고려해야 한다. 최신 패치 없이 현재 운영되는 운영체제의 수는 논란이 없는 수정사항 조차도 신속하게 도입될 수 없음을 강력히 보여준다.
공공 블록체인에 금융시장이나 다른 인프라를 구축하는 데서 오는 위험요소들은 새롭게 합류한 사람들을 주저하게 만들겠지만 개인 블록체인은 참가자 태도 및 거래 증명 과정 모두에 어느 정도의 통제권을 제공한다. 블록체인 기반 시스템의 사용은 특정 시스템의 투명성과 유용성을 나타내며 이는 시스템 보안을 초기단계에 생각함으로 인해 강화된다. 기업이 자사 시스템 중 어떤 시스템이 높은 안정성의 개인 인트라넷 혹은 인터넷에서 더 잘 관리될지 결정하지만 둘 다 사용할 가능성이 높은 것처럼 빠른 거래, 거래 전환 가능성 및 거래 증명의 중앙 통제를 요구하는 시스템은 개인 블록체인에 더 적합할 것이며 광범위한 참여, 투명성 및 제3자 증명으로부터 혜택을 볼 시스템은 공공 블록체인에서 번창할 것이다.