SPECIAL ISSUE 06

06 - 사물인터넷이 만드는 문제들, 블록체인에 답이 있다


12.PNG

11.PNG

▲ 장주욱 교수 서강대학교 전자공학과


2016년 10월 트위터, 넷플릭스, 페이팔 등의 서버를 마비시킨 DDoS 공격 뒤엔 미라이라고 하는 멜웨어에 감염된 수많은 사물인터넷 장치들이 있었다.

우리가 사물인터넷의 혜택을 제대로 느끼기도 전에 벌써 사물인터넷이 만드는 문제가 먼저 우리 앞에 닥친 대표적인 경우라 할 수 있다.

여기서는 사물인터넷이 만드는 문제들을 살펴보고 이것들을 최근 떠오르고 있는 블록체인 기술이 어떻게 해결해 줄 수 있는지, 또 더 나아가서 블록체인을 사물인터넷에 적용할 때 어떤 문제가 있는지 알아보고자 한다.



사물인터넷 서버의 해킹 문제

현재의 사물인터넷 생태계는 서버/클라이언트 기반으로 되어 있다.

사물인터넷 서버가 모든 장치를 식별, 인증할 뿐만 아니라 모든 사물 간의 통신도 서버를 거치도록 되어 있다.

최근 서버 중심에서 클라우드를 이용한 서버 중심으로 진화하였을 뿐 서버/클라이언트라는 근본 구조에는 변화가 없다.

서버가 해킹 당할 경우 그에 연결된 많은 장치들이 고스란히 모든 위험에 노출될 수 있다.

사물인터넷 장치의 종류가 의학, 공장 관리, 보안 등 여러 분야로 점점 다양해지고 급증하는 추세로 보아 서버 해킹이 초래할 위험은 상상을 초월할 것이다.

몇 년 전 국내 모 금융기관이 서버 해킹에 의해 큰 어려움을 겪은 적이 있다고 하니 사물인터넷 서버 역시 이러한 위험에서 자유로울 수 없다 하겠다.

블록체인의 해결책

단일 서버 대신에 P2P 네트워크로 연결된 여러 개의 참여 노드(컴퓨터)들에 트랜잭션들을 복사하여 저장하기 때문에 단일 서버를 노리는 해커의 공격에서 자유롭다(그림 1).


13.PNG


또한 모든 트랜잭션들의 유효성은 공개키, 개인키 암호기법을 통해 검증되고 해싱에 의해 수학적으로 변조가 불가능하게 만들어 데이터의 무결성이 유지된다.

예를 들어 중환자실에 있는 맥박계가 측정한 맥박수를 개인키로 암호화하여 보내면 이 블록체인 네트워크에 참여한 다른 노드들이 맥박계의 공개키를 써서 그 유효성을 검증할 수 있다.

또한 맥박수의 변화 기록은 해싱되어 공유하기 때문에 수학적으로 변조가 불가하다.

대표적인 퍼블릭 블록체인 네트워크인 비트코인이 지난 7년간 1억6천만 건 이상의 트랜잭션들 중 단 하나도 무결성이 훼손되지 않아 큰 신뢰를 받고 있다.

방화벽들에 의해 여러 겹의 보호막에 둘러싸여 있고 오직 인가된 직원만 접속할 수 있는 금융기관 서버가 해킹당하는 데 반해, 전 세계의 수많은 컴퓨터들이 자유롭게 접속하는 비트코인 네트워크가 보관하는 트랜잭션 기록은 단 한 번도 훼손된 적이 없다는 점은 그 자체가 놀라운 일이라고 할 수 있다.

그 이유는 해싱이라는 놀라운 수학적 알고리즘을 사용하기 때문이다.

방대한 크기의 문서 내에서 점 하나의 위치만 바뀌어도 그 문서 전체를 해싱한 값은 달라지기 때문에 문서의 위·변조를 바로 확인하고 변조시 각 노드가 이것을 거부하고 받아들이지 않는 것이다.

이런 이유로 비트코인을 암호화폐 또는 수학적인 돈이라고 부르기도 한다.


사물 간의 거래마다 사람의 개입이 필요

사물인터넷에서 사물 간의 직접 통신이 자유롭긴 하지만 경제적으로 의미 있는 거래를 위해서는 금전거래를 수반해야 할 것이다.

현재는 사물 간의 거래마다 사람이 신용카드를 꺼내서 지불하는 등의 개입이 불가피하다(예를 들어 셀프 주유소에서 기름을 넣는 경우).

앞으로 사물인터넷이 활성화되어 많은 사물들끼리 금전을 수반하는 거래가 소액으로 빈번하게 일어나고 그때마다 사람이 신용카드를 꺼내야 한다면 큰 불편을 겪게 되고 이것이 다시 사물인터넷의 활성화를 가로 막는 큰 장애가 될 것이다.

블록체인의 해결책

블록체인에 기반한 스마트 컨트렉트를 이용한 사물간의 금전적 거래를 생각할 수 있다.

스마트 컨트렉트는 블록체인 상에서 스스로 수행되는 프로그램으로 자신의 주소를 가지고 있다.
 
금전적 거래에 필요한 조건 등을 입력해 놓으면 조건이 맞을 경우 자동으로 거래가 성사되게 할 수 있다.

최근 독일 Innogy가 개발한 Share&Charge는 독일 전역에 흩어진 전기차 충전기들을 블록체인으로 묶어 스마트 컨트렉트에 기반한 충전 및 지불 시스템이다.

디지털화한 유로로 지불함으로써 사람의 개입 없이 스마트 컨트렉트만으로 충전과 지불이 이루어지도록 하고 있다.

주행 거리만큼 자동으로 스마트 컨트렉트가 보험료를 지불해주는 Pay-as-you-go 프로그램도 좋은 예라 할 수 있다.


다대일 인터넷 보안이 필요

사물인터넷이 만드는 또 하나의 중요한 문제가 다대일 보안의 필요성이다.

기존 사람과 사람 사이의 인터넷에는 대부분 일대일 보안이 사용되어 왔다.

하지만 사물인터넷의 경우, 예를 들어 환자의 맥박계(송신자)는 하나지만 이를 사용하는 수신자는 다수일 수가 있다.

이때 어떻게 일대다 인터넷 보안을 구현하는가가 중요한 문제이며 더 나아가서는 수신자가 어떤 조건(즉, AND/OR 논리식)을 만족하느냐에 따라 수신 허용 여부를 결정하는 기술이 필요하다.

간호원이면서(AND) 환자가 입원한 병실 담당이거나 또는(OR) 주치의인 경우에는 환자의 맥박수를 수신하는 걸 허용하는 식의 메커니즘 구현이 필요하다.

블록체인의 해결책

어떤 조건에 따라 수신이 가능한지를 Access Tree(AND, OR가 트리 형태로 결합된)로 표현한 후 스마트 컨트렉트로 구현하여 블록체인에 저장해두고 특정 노드의 Access 요청이 있을 때 이 노드의 ID를 확인하고 이 Access Tree에 따른 연산 결과가 참인 경우만 수신을 허용하는 기술을 개발할 수 있다.

Access Tree는 서버 기반 구조에도 적용 가능하나 이 경우 수많은 노드들의 모든 수신 요청이 서버를 거쳐야하므로 트래픽 집중의 우려가 있고 서버 해킹이 있을 경우 큰 위험을 겪을 가능성이 있다.


블록체인이 만능은 아니다

사물인터넷에 블록체인을 적용하는 것이 만능은 아니며 오히려 서버 기반이 아닌 분산형 네트워크인 P2P 기반이어서 새롭게 생겨나는 문제점들도 있다.

블록체인의 모든 트랜잭션은 참여 노드들의 합의(Consensus)에 의해 유효화된다는 점을 명심해야 한다.

예를 들어 블록체인 상의 스마트 컨트렉트에 의해 미세 먼지 농도가 얼마 이상일 때 가동을 중지하기로 한 매연 유발 설비의 경우, 매연 농도의 입력을 언제 어느 조건에서 누가(어떤 노드가) 읽어 들이느냐에 따라 실행 결과가 달라질 수 있다.

또한 스마트 컨트렉트 자체가 해싱되어 블록체인 네트워크에 공유되므로 스마트 컨트렉트에 버그(프로그램상 오류)가 발견되어도 스마트 컨트렉트를 변경하는 것이 불가능하다.

블록체인의 무결성 유지 기능이 오히려 독이 되는 경우라 할 수 있겠다.

사물인터넷의 경우 실시간으로 응답이 필요한 급박한 경우도 많다.

예를 들어 자율 주행 자동차가 차 앞으로 공을 따라 뛰어든 어린이를 인식하고 브레이크를 구동하는 경우를 생각할 수 있다.

블록체인에 기반한 사물인터넷은 참여 노드들 간의 합의(Consensus)가 필요한데 이 합의가 주어진 시간 내에 이루어진다는 보장을 하는 블록체인은 아직 없는 것으로 알고 있다.

비트코인 결제의 경우 적어도 평균 10분 이상이 소요되는 것으로 알려져 있다.

모든 새로운 기술이 처음부터 우리의 바람에 맞추어 완벽한 모습을 갖출 수는 없으므로, 새롭게 떠오르는 문제의 본질을 정확하게 파악하여 창의적인 해결책을 찾아 나가야 할 것이다.

스마트 컨트렉트에 버전 번호를 부여하고 이를 블록체인에 기록하여 가장 최신 버전이 수행되도록 한다든가 아예 스마트 컨트렉트에 레퍼런스 주소를 변경 가능하게 설정하고 이 주소에 새로운(오류를 정정한) 스마트 컨트렉트를 둔다든가 하는 해결책들이 계속 나오는 것이 좋은 예이다.

기존 블록체인 알고리즘은 트랜잭션들을 일정 기간 모아 블록을 생성하는 채굴 노드에게 인센티브로 일정량의 암호화폐로 보상하는 메커니즘을 사용하여 블록 생성이 늦어지고 모든 트랜잭션이 비용을 지불해야만 하는 단점이 있다.

따라서 아주 작은 금전적 거래가 빈번한 사물인터넷 거래에는 부적합한 측면이 있다.

이를 극복하기 위해 IOTA는 트랜잭션 비용을 제거하고 다른 트랜잭션들에 의해 직·간접으로 컨펌되는 횟수가 증가할수록 신뢰도가 높아지는 메커니즘을 개발함으로써 처리 시간을 획기적으로 단축한 것도 좋은 예이다.

결론적으로 말하자면 현재의 사물인터넷은 많은 문제점들을 가지고 있고, 그들 중 많은 문제들이 블록체인을 통해 해결될 수 있지만 만능은 아니며 오히려 서버 기반이 아니어서 블록체인에 의해 새롭게 생겨나는 문제들도 있을 수 있다.

그러나 점진적으로 대부분 해결될 것으로 본다.

사물인터넷에 블록체인을 결합하는 기술 및 응용 분야는 전망이 매우 밝다고 하겠다.