미래 IT 기술의 기반, 블록체인

보안칼럼 011
블록체인 (1)

미래 IT 기술의 핵심 기반기술은 뭘까?
그 요란한 빅데이터? 사물인터넷? 아니,

블록체인이다.

‘블록체인(Blockchain)’이란, 각 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안된 분산 데이터베이스의 한 형태로서 대규모의 노드들 사이에서 각 노드에 분산 저장된 데이터를 항상 최신 상태로 유지할 수 있도록 하는 합의 및 수렴 알고리즘이다.

아니 이게 도대체 뭔 소린가,, 보다 간단하게는, 구글에 ‘블록체인’이라고 치면 쪼르르 같이 뜨는 ‘비트코인’이 어떻게 동작하는지를 보면 쉽게 이해할 수 있다.

‘비트코인’이라는, 말은 아주 익숙하지만 그 개념은 왠지 좀 애매한 그 무엇은, ‘암호화 화폐(Cryptocurrency)’ 그리고 그 암호화 화폐의 거래가 기록되는 ‘블록체인(Blockchain)’의 결합물이다. 비트코인을 ‘가상화폐(Virtual Currency)’라고 말하기도 하는데, 가상화폐는 현물화폐의 반대로서 개념이 좀 다른, 훨씬 더 광범위한 개념이라서 적절한 용어가 아니다. 그러니 비트코인을 대충 가상화폐라 부르면 뜻이 좀 어긋난다. 이제 구시대의 유물 된 싸이월드 도토리도 가상화폐였으니까.

‘블록체인’은 모든 비트코인 거래 내력이 기록된 일종의 장부 같은 것이다. 장부 기록 과정 그리고 장부에 기록된 값이 맞는지 검증하는 전 과정에 모든 비트코인 사용자가 참여하고 기록이 모두 남기 때문에 위변조가 불가능하고 사용자가 늘수록 안전성은 더욱 강화된다. 바로 그 점 때문에 블록체인은 미래 IT 기술의 기반으로서 각광 받고 있다.

비트코인의 망조, 그리고 부활?

한창 뜨겁던 비트코인 광풍도 시나브로 식나 싶더니 폭락 소식에 이제 드디어 망하나? 했다. 하지만 최근 중국 투자자들이 몰려들어 화려하게 부활했다. 중국의 비트코인 열풍은 어쩌면 당연하다 싶은 건, 화폐가치 급락 전망 풍문이 흉흉한데도 당장은 철철 넘치는 위안화가 현재 마땅한 투자처도 따로 없어서 갈 만한 곳이 없고, 당국의 엄격한 자본 통제 탓에 규제를 피할 수 있는 자유로운 비트코인에 몰린 것.

현재 비트코인의 중국 거래량은 전 세계 거래량의 무려 9할이 넘는다. 아무리 그렇다 해도 왜 이렇게까지나 몰리나? 좀 이상하지만, 비트코인은 세계 어느 나라에서든 마음대로 쓸 수 있기 때문에 국제범죄조직도 애용한다는 점을 떠올려 보면 아주 이상한 일은 또 아니고.

하지만 이는 단기적 그리고 비정상적 호황으로 보이니 비트코인 시장의 장밋빛 미래를 보장할 만한 증거는 아니다. 그럼에도 확실한 건,

비트코인은 망하더라도 블록체인은 살아남는다

미국의 장외주식거래시장 나스닥(NASDAQ)을 운용하는 OMX 그룹은 ‘나스닥 개인시장(Private Market)’에서 블록체인을 활용할 계획이다. 나스닥 개인시장은 일일 거래대금이 2조원에 이를 정도로 급속도로 성장했지만, 모든 거래에 변호사의 공증 절차가 필요해 거래 속도가 매우 느렸다. 이에 나스닥은 블록체인을 통해 주식을 발행하고 거래함으로써 속도 문제를 해결할 수 있으리라 기대하고 있다.

금융 분야뿐 아니라, 온두라스는 국가 토지대장을 블록체인에 기록하고 있다..고 말하니까 누가 “온두라스가 모범사례라고?” 라며 피식 웃던데, 온두라스는 지방 토호와 군벌이 농민들 토지를 강제로 뺏고 심지어 정부 자료까지 막 조작하다 보니 어쩔 수 없이 블록체인 등의 방법을 동원할 수 없는 상황이라, 오히려 가장 적절한 모범사례 아닌가? 그래도 보다 일반적인 모범사례 같아 보이는 걸 찾자면,

버클리 음악대학은 블록체인 기반으로 저작권료 지급 시스템을 구축하고 있다. 블록체인은 저작권이라는 제도의 성격에 딱 들어맞는 선택.

그 외 국내외 참으로 다양한 분야의 실용 그리고 연구 사례들이 있는데 그 모든 사례들이 함께 공유하는 공통점이 있다.

내가 누구인지 말할 수 있는 자는 누구인가

왜들 그리 블록체인에 집중하는가? 앞서 언급한 피곤하고 오래 걸리는 ‘공증’ 절차를 대체할 아주 절묘한 방법이기 때문이다. 공증이란 어떤 사실을 공적으로 증명하는 일이다. 내가 나임을 증명하고 이것이 나의 것임을 증명한다. 난 뭐 대충 살기 때문에 공증 뭐 그런 거 모르겠다? 그러든 말든 우린 모두 다 이미 공증의 엄격한 테두리 안에서 살아간다. 그 말 많은 공인인증서도 일종의 공증이니까. 공증 없이는 정말 아무 일도 못 한다.

그래도 기존의 공증이라는 거, 지금껏 그래왔듯 좀 번거롭고 느리더라도 꾹 참고 그냥 하던 대로 하면 대충 굴러가지 않아? 아니, 안 굴러간다. 어쩌다 보니 기존 방식으로는 아예 불가능한 지경에 이르고 말았다. 여러 까닭이 있지만 요즘 가장 두드러진 까닭은 바로 ‘사물인터넷(Internet of Things, “IoT”)’ 때문. 사물인터넷이란 주소의 빅뱅, 간단히 말해 사람뿐 아니라 세상 모든 사물들이 자기를 증명해야 할 필요가 생겼다는 뜻이다. 그러니 기존 방식으로는 물량 감당을 못하게 된 거다.

아니 사물까지 굳이 다 그렇게 해야 돼? 해야 된다. 아니라면 정말 무시무시한 사건사고들을 보게 될 것이다.

블록체인과 사물인터넷

IBM을 기억하는가? 요즘은 IBM이란 말을 아예 못 들어 봤다는 사람도 있던데,, 한때 세상의 거의 모든 컴퓨터는 ‘IBM 호환기종’으로 불렸다. 약간의 ‘애플’도 있었지만, 대개 IBM 호환기종. 지금도 기업 전산 환경에는 ‘메인프레임’으로 대표되는 IBM 제품들이 활약하고 있고, 덕분에 완전히 잊혀진 옛말인 듯싶은 ‘코볼’ 개발자가 고연봉 받으며 잘 살고 있다. 아무튼, 바로 그 IBM이 요즘 블록체인 이야기 나오면 절대 빠질 수 없는 큰 배역을 맡고 있다. 바로, 블록체인과 사물인터넷.

그럼 IBM이 말하는 블록체인과 사물인터넷 시나리오를 들어 보자.

“세제가 떨어지면 세탁기가 알아서 단골 가게에 주문하고 자기가 관리하는 집안 소모품 구매 계좌에서 가상화폐를 꺼내 세제 값을 계산한다. 가게 주인은 입금을 확인하고 세제 배달 도착일을 세탁기에게 알려 주면, 세탁기는 자기 주인에게 세제 떨어져서 주문했고 언제 도착한다고 알린다.”

“세탁기가 고장나면 세탁기는 자기진단 시스템을 가동해 어디가 고장났는지를 파악하고 해당 부품 보증기간 등을 확인한 뒤 수리점에 출장을 요청한다. 수리점에서 견적을 보내오면 자기 주인에게 알린 뒤 주인이 수리점과 일정을 조율할 수 있도록 서로 연결해 준다.”

사실 이 두 시나리오만 보면 먼저 드는 생각은, “세탁기가 뭘 굳이 그런 걸 다,,” 싶기도 하다,, 하지만 이는 시나리오일 뿐이니 다른 상상도 해 보자. 이를테면, 집안 물건 중 가장 많은 정보와 연결되는 물건은 뭘까? TV? 글쎄, 냉장고 아닌가 싶다. 냉장고엔 수많은 물건들을 담는데 그 모든 물건은 유통기한 영양정보 등의 정보를 가지고 있고 경우에 따라선 의사가 금지하거나 섭취량 조절을 권유한 음식이 있을 수도 있다. 결정적으로, 냉장고는 365일 24시간 가동된다. 그래서 스마트홈의 중심으로 냉장고가 가장 자주 거론되는 것. 그러니 위 시나리오도 “차라리 냉장고라고 하지 왜?” 싶다. 아무튼 중요한 점은,

세탁기든 냉장고든, ‘사물’은 어떻게 자신을 ‘인증’할까?

그래서 IBM은, 아니 IBM뿐 아니라 수많은 회사들이 사물인터넷 네트워크를 ‘P2P(Peer-to-Peer: 동등 계층간 통신망, 소수의 서버에 집중하지 않고 망 전체 구성에 참여한 기계들끼리의 통신과 계산에 의존해 구성되는 통신망)’ 방식으로 구현하려 한다. 중앙집중 네트워크에다가 수십 억에 이르는 수의 사물을 연결해 관리하는 건 비용 문제 안정성 문제 일일이 따질 수도 없이 아예 불가능하기 때문이다. 서버 하나에 연결된 기기는 서버가 고장하면 모두 못 쓴다. 네트워크 구현 비용을 낮추면서 안정성을 높이는 방법은? 그렇다, 블록체인이다. 아니라면 사실, 달리 쓸 방법도 없다. 그런데,

결정적 문제, 블록체인은 안전한가?

블록체인 관련 사고는 이미 터지고 있다. 얼마 전 한국서도 꽤 큰 껀 터졌다.

지난 5월 12일 한국의 이더리움(Ethereum, ‘에테리움’이라고 읽기도 함) 사용자가 7218이더(ether, 이더리움 화폐 단위, 당일 기준 거래가로 환산하면 $89,936)를 해킹당하는 사건이 발생했다. 해커는 이더리움 블록체인을 생성하는 어플리케이션과 이더 화폐를 저장하고 관리하는 전자지갑 어플리케이션 사이에 암호화되지 않은 통신이 일어난다는 점을 노려 어플리케이션 간 통신 중에 이더를 빼돌려 피해자의 지갑으로부터 자신의 지갑으로 전송했다.

이더리움 재단은 해당 취약점에 대해 긴급 보안 업데이트를 실시했지만 네트워크 보안에 집중한 내용이었고, 애초 문제였던 어플리케이션-어플리케이션 통신 문제는 해결되지 않았다. 사고 경위 전체의 문제 핵심은 ‘어플리케이션’과 ‘암호화’인데 엉뚱한 곳에 집중한 것이다. 시사하는 바가 아주 크고 중한 사고 그리고 잘못된 후처리의 좋은 예다.
아무튼 그래서, 블록체인은 안전한가?

블록체인은 안전하다. 아니, 블록체인만 안전하다. 위 사고를 보더라도, 블록체인 알고리즘 자체는 안전하지만 블록체인과 관계된 어플리케이션과 시스템 그리고 네트워크까지 싹 다 안전하다고 볼 수는 없다. 그렇지만 여전히 블록체인은 안전하다. 그러니 어플리케이션과 시스템 그리고 네트워크를 안전하게 잘 만들어야 한다.
블록체인 알고리즘과 그를 둘러싼 여러 환경요소들, 그리고 그 총체로서의 ‘블록체인’의 안전에 대한 이야기는, 이미 너무 길어졌고 쓰다 보니 아직 공부 부족함이 처절하다 싶어서,, 뒷 이야기는,

후일을 기약합니다. 쓰다 보니 ‘블록체인, 1편’이 됐군요,,