믹 보먼(Mic Bowman)은 인텔의 수석 엔지니어이자 코인데스크 자문위원입니다. 이 글은 컨센서스 2019 행사장에서 배포한 컨센서스 매거진에 실린 칼럼입니다.
Moving Beyond ‘The Blockchain Is the App’
출처=셔터스톡

자율주행차 넉 대가 교차로에 멈춰 섰다. 과연 어느 차가 먼저 움직여야 할까?

뜬금없는 소리처럼 들릴지 모르겠지만, 사실 대단히 현실적이고 또 어려운 문제다. 이 문제의 해결책은 블록체인과 다른 기술의 결합으로 이루어진 분산 컴퓨팅에서 찾을 수 있다. 문제를 이해하기 위해 앞서 언급한 교차로를 좀 더 자세히 살펴보도록 하자.

일단 교차로에는 중재자 역할을 할 수 있는 신호등과 같은 교통관제시설이 없다. 자동차들은 차 안에 장착된 컴퓨터 장치만 이용해서 해결책을 도출해야 한다. 컴퓨터는 어떤 지시를 내릴까? 우선 일반적으로 통용되는 몇 가지 사회 규칙이 적용될 것이다. 사고를 내지 않을 것, 가능한 한 빨리 교차로를 통과할 것, ‘공정’하게 움직일 것. (먼저 도착해 멈춰선 차에 먼저 교차로를 통과할 권리를 주는 게 공정하다는 의미에서.)

모든 차에 정해진 공동의 원칙과 상호 합의를 무시하고 부정 출발을 지시할 수 있는 ‘긴급 버튼’이라도 달려있지 않는 게 아니라면, 충분히 해결할 수 있는 문제라 생각할지도 모른다. (중요한 회의에 늦은 사람이라면 나중에 벌금을 내든 말든 일단 그런 버튼이 있다면 누르고 보지 않을까?)

하지만 시스템 아키텍처의 관점에서 볼 때 이 가상의 시나리오에는 커다란 문제가 있다. 먼저, 어느 차부터 어떤 순서로 출발해야 할지 결정을 내릴 중앙의 결정권자가 존재하지 않는다. 둘째, 문제를 해결하기 위해 활용가능한 장치는 차 내에 장착된 컴퓨터 하나뿐이다. 셋째, 모든 차량은 운행 목적에 따라 움직이는데, 일부 목적은 차량 간에 일치하지만(사고 없이 교차로를 통과해야 돼), 일부 목적은 지극히 개인적으로 이 목표가 서로 충돌할 수도 있다(지각이야! 무슨 수를 써서라도 빨리 가야겠어!). 이 마지막 특성 때문에 분산 컴퓨팅이 몹시도 어려운 것이다.

 

활용 사례와 문제점


분산 컴퓨팅을 구현한 사례는 많다. 가장 대표적인 사례는 암호화폐다. 많은 경우 블록체인은 중앙집권적 결정 기관을 대신해 합의를 기반으로 네트워크를 운영하는 핵심 역할을 수행한다. 물론 블록체인만 있어서는 아무런 소용이 없다. 분산 컴퓨팅 작업을 수행하기 위해서는 블록체인과 다른 솔루션의 상호작용이 필요하다.

분산 컴퓨팅 적용사례 중 많은 관심과 논의의 대상이 되는 사례로 유통망에 적용되는 이력 관리(provenance) 시스템이 있다. 월마트는 최근 자사에 납품하는 식품 공급업체에 블록체인 기반 시스템 사용을 의무화한다고 발표했다. 고객들이 오염된 식품의 경로를 추적하고 직접 확인할 수 있게 하기 위해서다. 또 광물의 공급망 이력을 블록체인에 기록해 분쟁 지역을 거치지 않은 제품인지 확인하는 데도 비슷한 기술이 쓰인다.

이러한 이력 추적 시스템에서 블록체인은 핵심 요소다. 하지만 유일한 요소는 아니다. 지난해 컨센서스 매거진에도 기술했지만, 블록체인을 통해 지속적이고 투명한 거래 관리 및 데이터 저장, 업데이트가 가능하지만, 이력을 추적하려면 효율적이면서도 정확한 자료 입력 또한 필수적이다. 블록체인의 모니터링 능력은 블록체인에 기록된 정보의 품질에 비례한다. 제대로 된 감시·감독이 이루어지지 않는다면 악의적 사용자가 조작된 정보를 입력하는 사태가 발생할 수 있다.

유통망에 적용되는 이력 관리 시스템에서는 여러 관련 기관이 공유 데이터에 접근하게 된다. 자연히 데이터의 기밀 관리와 개인정보 보호가 상당히 중요해진다. 양배추 생산지를 따지는 문제야 논란의 여지가 거의 없고 시스템 사용자의 공통 목적과 모순되지 않지만, 분산 시스템의 기밀성 관리를 어렵게 만드는 문제도 많이 존재한다. 예를 들어, 식품 공급자는 어떻게 하면 운영상의 기밀 정보를 공개하지 않으면서 납품 조건을 지켰다는 사실을 증명할 수 있을까? 이 질문에 바로 분산 컴퓨팅의 핵심 과제가 있다. 같은 집단 내의 다양한 관계자들에게 기밀 정보를 노출하지 않으면서 기밀 정보를 가지고 네트워크 전체를 아우르는 컴퓨팅을 수행해야 한다.

게놈 데이터를 생각해 보자. 과학자들은 질병 치료제를 개발하기 위해 다양한 기관이 소유·관리하는 수많은 게놈 데이터를 바탕으로 컴퓨팅을 수행한다. 이 과정에서 엄청난 사회적 가치와 잠재적인 기업 이윤이 창출된다. 그러나 동시에 각각의 데이터베이스는 귀중한 지적 자산으로서 게놈 데이터 제공자의 개인정보를 보호하기 위한 규제의 적용을 받는다. 딜레마가 발생하는 것이다.

다시 자율주행차가 정차해 있는 교차로로 돌아가 보자. 최근 자율주행차에는 사고 원인 등을 규명하기 위해 원격측정 데이터를 저장, 분석하는 블랙박스 장착이 의무화돼 있다. 비행기의 블랙박스와 같은 역할이다. 다만 비행기는 하늘에서 혼자 운항하는 한편, 자동차는 도로 위에서 수많은 다른 자율주행차와 계속해서 상호작용해야 한다. 차 안에 장착된 블랙박스는 하나의 사건에 대한 일방적인 관점을 제시할 뿐, 다른 자동차들의 움직임이나 결정에 대한 이해를 제공하지는 못한다. 어떻게 원격으로 측정된 데이터의 일방적인 기록에만 의존하는 일개 컴퓨터가 사고 원인이 자기 차량 내부에 있는지, 외부 차량에 있는지, 아니면 프로토콜의 악의적 조작 때문인지 판별할 수 있겠는가?

가장 이상적인 해결책은 블랙박스가 자기 차량뿐 아니라 주변 차량의 원격 측정 데이터와 차량 간 상호작용 정보를 모두 확인하여 시스템 전체에 대한 스냅샷을 남기는 것이다. 그러나 이 솔루션은 신뢰할 수 없는 정보 제공자 문제와 기밀정보 처리 문제에 다시 가로막힌다.

 

트러스트 앵커로서의 블록체인


사물인터넷(IoT)을 네트워크로 구현하려면 분산 애플리케이션이 필요하다. 그러나 고도화된 사물인터넷 구현은 어려운 일이다. 단적으로 신뢰할 수 있는 제3자 없이 공정한 거래를 중재하는 것은 불가능하다. 이 지점에서 블록체인이 빛을 발할 수 있다. 블록체인은 다자간 프로토콜을 중재하는 신뢰할 수 있는 제3자의 역할을 수행할 수 있다. 그러나 이러한 보편적 분산 컴퓨팅을 실현하기에 앞서 해결해야 할 문제가 아직 많다.

먼저 ‘블록체인은 애플리케이션에 불과하다’는 기존의 관념에서 벗어나, ‘블록체인은 트러스트 앵커(Trust anchor)’라는 새로운 관념으로 인식을 바꿔야 한다. 블록체인 기술이 그 자체로 신뢰가 필요 없는 당사자끼리의 거래 및 정보 교환 플랫폼이라는 데 합의하는 것이다.

비트코인에서는 이러한 전환이 이미 이루어지고 있다. 비트코인 라이트닝 네트워크(Lightning Network) 사용자들은 오프체인 분쟁이 발생했을 때 계좌를 닫고 비트코인 거래 관리를 오프체인으로 옮길 수 있다. 라이트닝 네트워크가 분산 애플리케이션이라면 블록체인은 여기서 트러스트 앵커 역할을 한다.

한편 코넬대학에서 개발한 합의 알고리듬인 ‘썬더렐라(Thunderella)’는 고성능의 긍정적 오프체인 합의 프로토콜을 사용한다. 썬더렐라는 긍정적 추산이 불가한 경우에 대비해서 기존 블록체인 합의 프로토콜을 사용하는 비동기식 저속 경로를 결합하여 실질적 성능을 높였다. 이 경우 블록체인은 긍정적 추산이 유효하지 않다는 증거를 제시하고 모순적 관점을 리셋하는 역할을 수행한다.

또한, 프라이빗 데이터 객체에 관한 ‘하이퍼레저 랩스(Hyperledger Labs)’ 프로젝트는 거래 실행 과정을 오프체인과 온체인으로 구분한다. 실제 컴퓨팅은 오프체인에서 이뤄지고, 온체인에서는 거래 당사자 사이의 의존도 등을 반영하여 업데이트 등 명령을 내리는 작업을 진행한다. 직관적으로 볼 때 블록체인이 데이터베이스를 업데이트하는 데 필요한 분산화된 실행 및 조정 로그로 작동하는 것이다.

 

기밀성 문제


어떻게 블록체인의 확장성을 향상하면서, 기밀성을 확보할 수 있을까?

성공적인 컴퓨팅의 정의를 좀 더 유연하게 확장하는 것이 도움이 된다. 데이터베이스의 정확성을 일부 조정함으로써 기밀성을 지킬 수 있다. 예를 들어 ‘배달 트럭이 4번가 윌셔 거리에 있다’는 아주 세세한 정보를 내보내는 대신, ‘배달 트럭이 10분 뒤 도착 예정’이라는 일반화된 정보를 제공하는 식이다.

이 개념이 자율주행차에도 적용될 수 있을까? 사고가 발생하지 않고 제시간 안에 도착 지점으로 이동할 수 있다면, 1등으로 교차로에 도착한 차가 1등으로 빠져나가야 한다는 원칙에 집착하지 않아도 될 수 있다. 공정성과 선입선출 원칙은 목표가 될 수 있지만, 성공적 솔루션의 필수 조건은 아닐 수도 있다.

컴퓨터 공학 분야의 다른 발전도 도움이 된다. 지캐시(Zcash)나 모네로(Monero) 등 영지식증명(ZKP)을 이용한 암호화폐는 개인정보가 보호된 데이터 컴퓨팅에서 암호화 기술이 유용함을 보여준다. 그러나 아직 이 기술은 보편적 목적의 분산 컴퓨팅에 활용될 정도로 발달하지 못했다.

또한 하드웨어를 기반으로 하는 신뢰실행환경(TEE, Trusted Execution Environment)도 잠재적 대안이 될 수 있다. 오늘날 대부분의 처리 장치에는 특정 조건 하에서 정확성과 기밀성 유지를 보장하는 컴퓨팅 기술이 내재되어 있다. ARM의 트러스트존(TrustZone)이나 인텔의 SGX(Software Guard Extensions), AMD의 SEV(Secure Encrypted Virtualization) 등이 대표적이다. RISC-V 프로세서용 오픈소스 TEE를 선보이기 위해 UC버클리와 MIT 연구진이 개발한 키스톤 프로젝트(Keystone Project)도 있다.

하드웨어 기반 신뢰실행환경은 다목적 컴퓨팅 환경을 제공한다. 하지만 이것을 만병통치약으로 여겨서는 안 된다. 하드웨어 기반 TEE는 대규모 보안 설계 환경에서 적절하게 사용되었을 때 비로소 기밀성을 유지하면서도 긍정적 방향으로 컴퓨팅을 수행할 수 있을 것이다.

분산 컴퓨팅이 성공적으로 이루어지려면 여러 가지 솔루션이 결합해야 한다. 서두에 언급했던 교차로에서 마주친 자율주행차들이 문제없이 운행을 계속하려면 멀티태스킹 능력을 갖출 필요가 있다.

번역: 뉴스페퍼민트

제보, 보도자료는 contact@coindeskkorea.com
저작권자 © 코인데스크코리아 무단전재 및 재배포 금지