22일 서울 잠실 삼성SDS 사옥에 블록체인 기술에 관심 많은 개발자들이 모였다. 글로벌 오픈소스 블록체인 프로젝트인 하이퍼렛저의 밋업(관심 모임)행사다. 이날 삼성SDS는 해운물류 분야에 블록체인을 적용하면서 겪은 '기술적 난관과 극복법'을 외부 개발자들에게 공개했다.
삼성SDS는 지난해 36개 민·관·연과 함께 해운물류 블록체인 컨소시엄을 구성해 7개월간 기술 검증을 진행했다. 이 과정의 블록체인 기술 개발 노하우가 공개된 건 이번이 처음이다. 이날 행사에는 약 100여 명의 개발자, 학생, 업계 전문가 등이 참여했다.
발표자로 나선 삼성SDS 블록체인 연구소 성기운 프로는 "(오픈소스 블록체인 엔진을) 그냥 쓰기 너무 어려워 많은 기능을 직접 만들어 사용했다"고 말하며 어떤 기술적 한계가 존재했고 어떻게 극복했는지 비교적 많은 내용을 공유하기 위해 애썼다.
■해운물류 비즈니스에 블록체인 왜 필요했나?
성기운 프로는 "배를 이용해 물건 하나를 다른 나라로 보내는 일은 생각보다 복잡하다"는 말로 컨소시엄이 해결하려 했던 문제가 무엇인지 소개했다.
그의 설명에 따르면 화주, 해운선사, 보험사, 은행은 물론 관세청, 세관이 이 일에 관여하는데, 각 분야마다 또 여러 개 업체가 존재한다. 이들 사이에 오고 가는 문서가 200 건 이상이다. 문서가 정확한지 확인하기 위해 원본확인필을 찍거나, 전화로 재차 확인하는 등 번거롭고 시간이 많이 소요됐다. 복잡성이 커서, 거래 상대방을 속이는 부당행위가 일어나도 이를 걸러내기 쉽지 않은 구조다. 해운물류 분야 기업들이 '신뢰'의 기술이라는 블록체인에 관심이 가질 수 밖에 없는 이유다.
성 프로는 "블록체인 위에서 수 많은 문서가 처리되면 굉장히 빠르게 믿을 수 있는 상태가 될 것"이란 기대로 컨소시엄이 시작됐다고 설명했다.
컨소시엄은 우리나라에서 네덜란드 로테르담까지 배를 띄우고, 배에 사물인터넷(IoT) 장치를 부착해 위치, 날씨, 습도, 충격 여부 등의 정보를 계속 블록체인에 보내는 방법으로 검증을 진행했다.
■블록체인 적용 왜 어려웠나?
컨소시엄에서 사용한 블록체인은 하이퍼렛저 패브릭이다. 리눅스재단이 주도하는 프라이빗(기업향) 블록체인 하이퍼렛저 하위 프로젝트 중 가장 메인이 '패브릭'이다. 1.0 버전도 가장 빨리 나왔다.
1.0 버전이 나왔다고 해도 아직 충분히 성숙돼 있는 기술이라고 보기 어렵다. 애플리케이션 개발을 지원하는 툴이나, 기능을 보강해 주는 API 생태계가 아직 너무 적은 상태다.
성기운 프로는 "실제 배를 띄워야 하는 사업인데, 배가 1달 이상 이동하기 때문에 개발 시간이 촉박했다"며 제한된 상황에서 애플리케이션 개발자들이 효과적으로 개발할 수 있는 방법을 찾는 데 힘을 쏟았다는 점을 강조했다.
성 프로는 가장 먼저 "블록체인 엔진을 쉽게 쓸 수 있게 만들어야 했다"고 말했다.
그의 설명에 따르면 비트코인이나 이더리움은 API 한 번이면 라이트할 수 있는데 하이퍼렛저는 앞뒤에 단계가 너무 많고 복잡하다. 원하는 정보를 정해진 방식으로 기록하면 블록체인에 반영될 수 있는 API 레이어는 패브릭에 없는 상황이라 직접 만들어 사용했다.
그는 "패브릭의 소프트웨어개발키트(SDK) 소스와 코어엔진 소스코드를 기반으로 오픈 스키마 형태의 데이터를 쉽게 읽고 쓸 수 있는 범용 API를 만들고, 그 내부에 기존 블록체인이 지원하지 않던 고도화된 알고리즘들을 추가 적용했다"고 설명했다.
■또 다른 과제...경쟁사는 내 정보를 모르게 하려면?
컨소시엄의 중요한 요구사항 중 하나는 "참여사 모두가 모든 정보를 다 같이 공유하는 것이 아니라 정보 종류에 따라 볼 수 있는 권한이 달라야 한다는"점이 었다.
예를 들어서 '커머셜 인보이스'는 보험사, 송화주, 은행, 세관은 봐야 하지만 나머지 참여사는 볼 필요가 없거나 보면 안된다. '예약 요청'은 물건 보내는 사람과 운사만 알면 되니까, 송화주, 해운선사만 보면 된다.
하이퍼렛저 패브릭은 기본적으로 '다중채널'이라는 이름으로 이런 기능을 지원한다. 하나의 블록체인 인프라에서 논리적으로 여러 채널을 사용할 수 있게 하는 기술이다.
성 프로는 "네트워크로 생각하면 쉽다"며 "같은 채널에 있는 사람들끼리만 내용을 공유할 수 있고 채널에 들어와 있지 않은 주체는 해당 채널 정보를 볼 수 없다"고 설명했다.
문제는 다중채널 기능을 사용하더라도 "상상할 수 있는 모든 조합으로 채널을 만들어야 하기 때문에 프로세스가 복잡해 진다"는 데 있다.
이 문제를 해결하기 위해서 '라우팅' 개념을 들여왔다. 성 프로는 "전체 채널의 개수를 줄일 수 있는 컨셉으로 '인터 채널 데이터 라우팅'이라는 것을 만들었다"며 "어떤 채널에 어떤 정보가 들어오면 특정 조건에 맞는지 확인하고 다른 채널로 자동으로 넘겨주는 줄 수 있다"고 말했다.
그는 "스마트컨트랙을 이용해 조건에 따라 자동으로 넘겨줄 수 있고 채널을 어떤 규칙에 의해 생성할 수 있는 툴도 만들었다"고 덧붙였다.
이 밖에도 인증 작업에 필요한 랜덤 펑션(블록체인에 랜덤 값을 받은 후 리턴했을 때 해당 서버로 값이 가게 하는 기능), 이벤트가 발생했을 때 알림을 주는 노티피케이션 구조 등도 새로 만들었다.
■ 블록체인에 '가치 추가'가 핵심
성기운 프로는 "하이퍼렛저는 TCP/IP 스택이라고 생각하면 된다"고 정리했다. 하이퍼렛저를 사용하는 경우 서로 통신할 수 있게 만들어 주는 기본 아키텍처란 얘기다.
그 위에 어떤 기능을 올리고, 궁극적으로는 블록체인의 이점을 살린 애플리케이션을 개발해 올릴 것인가가 핵심이다.
성 프로는 "하이퍼렛저를 기반으로 그 위에 구축 및 설정 툴, 어떤 비즈니스 시나리오에서도 사용할 수 있는 API, 그리고 기능 고도화를 위한 추가 알고리즘들을 올렸으며, 이를 기반으로 비즈니스 소프트웨어를 얹히면 블록체인 기반 서비스가 완성되는 것"이라고 말했다.
관련기사
- KT, 글로벌 통신사와 손잡고 블록체인 개발2018.02.25
- 두 젊은 의사의 꿈, 블록체인 타고 날다2018.02.25
- 미 의원들 "블록체인 공부하자"2018.02.25
- MS, 블록체인 기반 인증 시스템 개발한다2018.02.25
해운물류 블록체인 컨소시엄도 PoC를 통해 기대한 효과를 봤다는 점에서 성공 사용사례로 볼 수 있다.
성 프로는 "처음엔 컨소시엄 참가사들도 의구심이 있었지만 컨소시엄 종료 보고를 할 때 '부정행위를 없애고 업무 프로세스를 효율화하는 데 굉장히 도움이 됐다'는 의견이 많았다"며 "가장 큰 페인포인트를 극복했다는 점에서 참여사들의 호응이 좋았다"고 말했다.