’블록체인 저격수’ 카이스트 김용대 교수, “스텔라 노드 2개 멈추면 올스톱”

“국내에선 블록체인 기술을 너무 쉽게 생각하는 것 같습니다.”

카이스트 김용대 전기전자공학부 교수의 말이다. 처음부터 완벽한 소프트웨어는 없기에 블록체인 또한 기술적인 난제에 도전해 꾸준히 개선돼야 한다는 뜻이다. 블록체인이 암호화폐라는 경제적 가치를 품은 기술이기 때문에 더욱 기술 평가에 매진해야 한다는 지적이다.   

김 교수가 이끄는 시스템 보안 연구실(System Security Lab)은 이같은 문제의식을 담아 지난 2일 암호화폐 스텔라 네트워크에 대한 논문을 공개했다. 이 논문은 네트워크 보안 취약점을 지적한다.

이번 논문은 이 네트워크의 대표 노드(sdf_validator) 2개가 멈출 경우 전체 네트워크 운영에 차질이 빚어졌다고 짚었다. 해당 노드들은 스텔라 재단이 운영하는 것으로 알려졌다. 스텔라 네트워크가 ‘중앙화’로 인해 보안 취약점을 드러냈다는 분석이다.

스텔라는 시가총액 9위 암호화폐로 개인 간 소액 송금에 중점을 두고 있다. 컴퓨터 연산작업을 요구하는 작업증명(PoW), 담보 기반 지분증명(PoS)과 달리 분기마다 신뢰받는 노드(네트워크 관리자)를 합의 주체로 구성하는 과정(쿼럼 슬라이싱)을 거친다. 탈중앙화 측면에서 스텔라 네트워크는 허가 없이 네트워크 관리자로 참여할 수 있는 비트코인과 특정 기업을 운영 주체로 한정하는 허가형(프라이빗) 블록체인의 중간에 위치한다.

관련 기사 : 리플과 스텔라, 무엇이 같고 무엇이 다른가?

지난 1월22일 연구 당시 스텔라 네트워크의 쿼럼 슬라이스 시각화. (image : KAIST)

카이스트 시스템 보안 연구실이 스텔라에 주목한 이유와 구체적인 연구 결과를 들어보기 위해 김 교수와 서면 인터뷰를 진행했다.

Q.스텔라의 합의 구조가 왜 ‘중앙화했다’는 평가를 받나요

스텔라는 네트워크 검증자의 자원을 중앙처리장치(CPU)나 암호화폐 지분이 아닌, 상대방으로부터 받는 신뢰에 두고 있습니다. 스텔라가 ‘중앙화했다’는 말은 소수의 블록 검증자들이 힘을 가졌다는 걸 의미합니다. 이러한 상황에서 스텔라 네트워크의 노드 중 몇 개가 동작하지 않을 때 어떤 영향을 받는지 궁금했습니다. 논문을 쓸 당시엔 스텔라 재단이 운영하는 3개 노드 중 2개가 멈추면 전체 스텔라 블록체인이 멈췄습니다.

Q.스텔라 보안 취약점에 대한 연구 계기가 궁금합니다

현재 비트코인이나 이더리움의 경우 상당한 연구가 진행되고 있지만, 여타 합의 알고리즘에 대한 연구는 부족합니다. 그래서 작업증명이나 지분증명이 아닌, PBFT*를 변형한 스텔라에 대해 연구하기 시작했습니다. 더군다나 스텔라는 시황분석 사이트 코인마켓캡 기준 시가총액 상위 10위권 내를 유지하고 있고요. 전산학 분야에서 이름을 알린 스탠포드대 데이비드 마지어스(David Mazieres) 전산과 교수가 스텔라를 설계했다는 것도 연구 대상으로 선정한 중요한 이유 중 하나였습니다.

*PBFT(Practical Byzantine Fault Tolerance) : 분산형 합의 알고리즘. 서비스 요청자(클라이언트)로부터 거래(트랜잭션)을 받아 요청 순서를 정렬 및 전파하는 리더 노드(Primary, Leader)가 존재한다.

Q.이번 논문에 대한 스텔라 측의 반응은 어땠나요

스텔라에 대한 연구 결과를 전했을 때 마지어스 교수가 직접 장문의 이메일을 보내왔습니다. 여러 차례 이메일을 주고 받았죠. 스텔라 측의 반응은 긍정적이었어요. 노드에 참여하는 거래소나 단체에 스텔라의 탈중앙화를 권장할 수 있는 기회가 됐다는 것이었죠. 논문은 활성도(Liveness)에 초점을 뒀지만, 그보단 안전(Safety)에 우선순위를 두고 있다고도 말했고요.

지금은 연구 당시보다 노드 숫자가 늘어나고 네트워크 구조도 개선됐습니다. 다만, 총 251개 중 3개 노드가 멈출 시 전체 스텔라 네트워크가 블록을 생성할 수 없는 상태죠.

앞으로 열흘에 한 번 정도 스텔라의 상태에 대해 업데이트를 할 계획입니다. 그 결과는 다음 홈페이지에서 확인할 수 있습니다.

(2016년 구글 세미나에서 스텔라의 합의 알고리즘 프로토콜을 설명하는 마지어스 교수)

Q.취약점을 알리면 이후에 어떤 과정을 거치나요

보안 취약점은 대개 ‘책임 있는 공개(Responsible disclosure) 모델’을 통합니다. 발표하기 전 논문이 채택되자마자 관련 기관에 취약점을 알립니다. 블록체인의 경우 보안 취약성이 암호화폐 가격에 영향을 미치는 탓에 이 과정이 매우 중요하죠. 이 기간에 보안 취약성의 영향을 받는 제품은 패치를 거치고, 논문 공개 시 ‘어떻게 이를 대중에게 설명할까’ 고민하는 경우도 적잖습니다. 논문 채택부터 공개까지 약 3개월이 걸려서 대다수가 패치를 완료합니다.

다만 이번 스텔라 논문은 워낙 어려운 문제라 패치가 다 되지 못한 시점에 공개됐습니다. 카이스트 석사과정 김민정, 박사과정 권유진 학생이 공저로 오는 6월 국제전기전자공학회(IEEE) 블록체인 보안 및 프라이버시(Security and Privacy of Blockchain) 워크숍에서 발표할 예정입니다.

Q.블록체인과 암호화폐 관련 보안 취약점 연구가 늘어나는 추세인가요

전 세계적으로 계속 늘어나고 있어요. 주로 비트코인이나 이더리움 채굴 풀과 네트워크 관점에서의 보안 취약점에 대한 논문이 쏟아져 나옵니다. 이외에도 (거래 익명성을 강조하는) 모네로의 거래 추적성(Traceability)이나 작업증명 계열 합의 알고리즘이 다양한 공격에 어느 정도 저항성을 보이는지 분석하는 연구가 존재합니다. 스마트컨트랙트 취약점을 자동으로 분석하는 논문 등 다양한 연구 논문이 나오고 있습니다.

Q.스텔라 다음으로 지켜보고 있는 암호화폐나 블록체인이 있나요

국내 유수 블록체인이나 이오스, IOTA 등을 살펴보고 있습니다.

Q.블록체인과 암호화폐 소프트웨어가 보안 취약점 분석에 공을 들여야 하는 이유는 무엇인가요

너무 당연합니다. 암호화폐는 코인거래소에서 이미 거래되는 까닭에 현금 가치가 상당합니다. 해커들이 거래 플랫폼이나 블록체인 자체를 공격하고 있고요. 유출 사고가 날 경우 그 피해는 (단순히 코인 가격 하락보다) 더 심각할 것입니다. 블록체인이 멈추면 블록을 생성하지 못해 더는 그 역할을 할 수 없게 됩니다.

세계적으로 새로운 설계는 국내에서 찾아보기 어렵습니다. 그보다 더 심각한 문제는 기술 평가가 가능함에도 불구하고, 그런 노력을 거의 하지 않는다는 점이죠. 전 세계적으로 이미 상당히 많은 난제가 존재하는데, 마치 블록체인으로 대부분의 문제를 풀 수 있는 것처럼 이야기해요. 이더리움과 같이 많은 개발자가 붙어 있는 프로젝트도 매우 고통스럽게 진도를 나가고 있어요. 이에 비해 국내에선 블록체인 기술을 너무 쉽게 생각하는 것 같아요. 아직 가야 할 길은 매우 멀고, 넘어야 할 산은 많습니다.

썸네일 출처 : 셔터스톡