탈중앙화 MSR 환경에서의 웹 브라우저 기반 글로벌 이내비게이션 서비스 검색 시스템 구현에 대한 연구

A Study on the Implementation of a Web-browser-based Global e-Navigation Service Discovery System for Decentralized Maritime Service Registries

Article information

J Navig Port Res. 2022;46(6):501-508
Publication date (electronic) : 2022 December 31
doi : https://doi.org/10.5394/KINPR.2022.46.6.501
*Senior SW developer, Digital Maritime Consultancy, Frederiksberg 1879, Denmark
Professor, Korea Maritime & Ocean University, Busan 49112, Korea
정진기*, 안영중,
*Digital Maritime Consultancy 수석 SW 개발자
한국해양대학교 항해융합학부 교수
Corresponding author : 종신회원, yjahn0726@kmou.ac.kr 051)410-4235
Received 2022 September 14; Revised 2022 September 28; Accepted 2022 October 24.

Abstract

세계 디지털화의 흐름이 경제, 신원 인증, 물류 분야 등에서 블록체인 혹은 분산원장을 기반으로 한 탈중앙화 시스템 환경으로 변화하고 있다. 이에 맞추어 이내비게이션 서비스의 접근성에 있어서도 탈중앙화된 여러 해사 서비스 레지스트리(MSR)들로부터 공개 서비스를 검색할 수 있어야 한다는 요구사항이 도출되었다. 본 연구는 MSR 분산원장과 다수의 지역 MSR로 구성된 탈중앙화 MSR 환경을 기술하고, 이 환경에서 웹 브라우저 기반의 글로벌 이내비게이션 서비스를 검색할 수 있는 서비스 검색 시스템을 구현하였다. 동적으로 서비스 속성, 지역 정보, 자유 텍스트 검색 질의를 생성하여 MSR 분산원장에 등록된 검색 결과를 통해 유관 MSR과 서비스 접속 정보를 사용자에게 제공하는 탈중앙화 애플리케이션이다. 본 연구에선 구축된 탈중앙화 MSR 환경과 그 환경 내에서 서비스 검색을 수행하는 시스템을 실험하였고 이를 통해 가지는 장점 및 한계점에 대한 논의를 갖는다.

Trans Abstract

The flow of global digitalization is leading to the emergence of a decentralized system environment based on blockchain or distributed ledger technology in the fields of economy, identity authentication, and logistics. Accordingly, a requirement that public services be searchable from several decentralized maritime service registries (MSRs) has been derived in terms of the discoverability of e-navigation services. This study describes a decentralized MSR environment composed of the MSR ledger and multiple local MSRs, and it has implemented a service search system that can search global e-navigation services in the environment through a web browser. This system is a decentralized application that dynamically generates service attributes, geometry information, and free text queries, and that provides users with relevant MSR and service access information from search results that are registered in the MSR ledger. In this study, we tested the established decentralized MSR environment and the system that performs service search within that environment, and we discussed its advantages and limitations.

1. 서 론

이내비게이션은 해사 분야의 산업 안전 및 효율성 향상, 환경 보호 등의 목표를 위해 국제해사기구(International Maritime Organization, 이하 IMO라 함)의 주제 아래에 제안된 해사 분야의 디지털화 전략이다(IMO, 2008). IMO의 이내비게이션 전략은 육상 및 해상에서의 안전과 보안 및 해양 환경 보호를 위한 항행 및 관련 서비스를 향상하기 위한 선내 및 육상의 해양 정보의 조화로운 수집, 통합, 교환, 표시 및 분석을 가능하게 하는 전자적 수단으로 정의된다(Oh et al., 2012). 이내비게이션 전략의 궁극적 목표는 어느 곳에서나 사용자가 필요한 상황에 원하는 해사 기술 서비스(Maritime technical service)를 검색하고 접근할 수 있는 것이다. 디지털 해사 기술 서비스는 해사 스마트 물류 서비스(Choi and Yu, 2020), 자율운항선박 관련 서비스, 해양 안전 서비스(Yu et al., 2018), 해양 환경 모니터링 등 다양한 상황에서 활용될 수 있다. 이내비게이션의 해사 기술 서비스 종류와 정의는 Maritime Service Portfolio(이하 MSP라 함)로써 정의되어 있다. 한국을 비롯한 다양한 국가에서 이내비게이션 관련 연구가 진행되었고 해사 기관이 제공하는 SECOM(IEC, 2022)이나 G1128(IALA, 2021)에 따르는 표준을 따르는 해사 디지털 서비스, 즉 이내비게이션 서비스가 세계 일부 지역에 보급되고 있다. 한국의 경우 2020년부터 한국 연안 영역의 해상 무선 통신망(LTE-M)을 통해 한국형 이내비게이션 서비스를 제공하여 사용자가 안전 경로, 교통 상황, 기상 정보 등을 실시간으로 제공 받을 수 있도록 하였다(Kim and Shim, 2021). 세계 각국의 이내비게이션 서비스 관련 표준이 실 운영 수준으로 발전되고 인터페이스와 데이터가 해당 표준을 준수한다면 동일한 이내비게이션 서비스를 타국의 연안에서도 받을 수 있게 될 것으로 예상된다(Jang and Kim, 2015).

전 세계에 이내비게이션 서비스가 배포되는 경우 강조될 수 있는 부분은 서비스의 접근성이다. 원하는 서비스의 접근을 위해 수행되는 서비스 검색의 범위는 특정 지역의 Maritime Service Registry(이하 MSR이라 함)에 국한되지 않고 글로벌(또는 전역) 검색이 가능해야 한다. 이 전역 검색의 중요성은 해상에서의 비상 상황 시 안전 관련 서비스를 실시간으로 받아야 하는 경우 특히 강조될 수 있다(Yu et al. 2018). 본 연구는 해사 서비스 접근성에 대한 해결책으로 분산원장(Distributed ledger) 혹은 블록체인을 활용한다(Yang, 2019).

이내비게이션 서비스들이 저장된 다수의 개별 MSR이 존재하는 환경에서 전 세계의 이내비게이션 서비스를 검색하는 방법으로써 웹 브라우저 기반의 서비스 검색 시스템을 구현하고자 한다. 다수의 MSR이 운영자가 저장된 서비스 중 공유 가능한 서비스를 선택하여 탈중앙화 공유 데이터베이스 또는 분산원장에 합의된 형식에 따라 저장하는 환경을 탈중앙화 MSR 환경으로 정의한다. 이 검색 시스템은 MSR의 분산원장의 데이터를 받고 사용자로부터 검색 파라미터를 받아 검색을 수행하는 것을 가정한다. 검색이 가능한 서비스의 범위는 모든 서비스가 아닌 해양 환경, 기상, 안전 정보 등의 공개 가능한 공공 서비스를 대상으로 한다. 본 검색 시스템의 특징은 특정 MSR에 종속되지 않고 다수의 MSR에 걸친 글로벌 서비스 검색을 수행하는 점이다. 글로벌 서비스 검색의 결과로 서비스 정보와 서비스가 등록된 MSR의 주소(End-point)를 받아 사용자는 해당 MSR로의 검색을 연계할 수 있게 된다. 본 연구는 웹 브라우저를 기반으로 검색 파라미터를 동적으로 생성하여 온디멘드(On-demand) 검색을 수행하며 사용자에게 이내비게이션 서비스의 기술적 상위 요구사항인 신뢰성 및 접근성, 호환성을 제공하는 구현 방법을 적용한다. 또한 구현된 시스템이 웹 브라우저를 기반으로 하여 갖게 되는 장점과 한계점에 대해서도 분석한다.

2. 탈중앙화 MSR과 분산원장

이내비게이션 서비스 사용자에게 있어 서비스를 사용하도록 하기 위한 기술적 상위 요구사항은 서비스의 신뢰성 및 접근성, 호환성이다. 서비스 신뢰성은 서비스를 제공하는 제공자가 국내외 해사 업계의 표준에 따르고 유관 관리 기관에 등록되어 있는, 신뢰할 수 있는 기관임을 확인하는 것이다. 서비스 신뢰성이 보장되지 않는다면 악의적 의도를 가진 해커가 서비스 제공자로 위장하여 데이터를 제공하더라도 진위를 판단할 수 없으며 이는 선박 안전 및 보안에 큰 위협이 된다. 서비스 접근성은 모든 서비스들이 등록된 특정 레지스트리에서 서비스를 검색할 수 있고 검색 결과로부터 서비스의 메타데이터(서비스 제공자, 서비스의 고유 식별자 및 버전, 서비스를 사용할 수 있는 End-point 등)를 얻을 수 있는 것이며. 서비스 호환성은 서비스를 제공 받는 단말기가 해당 서비스 데이터를 성공적으로 전송받고 표출하는 것을 보장받는 것이다.

MSR은 해사 서비스 검색을 위한 단일 논리적 요소로써 해사 서비스의 상세서를 저장하고 검색하는 기능을 제공한다. Fig. 1은 MSR과 관련된 사용자 그룹과 해당 그룹과의 상호작용을 나타낸다. 서비스 제공자(Service provider)는 서비스 인스턴스 정보를 MSR에 등록하고 서비스 소비자(Service consumer)는 검색 파라미터를 통해 관련 서비스 메타데이터 목록을 얻어낼 수 있고 이 중 적합한 서비스를 특정하여 사용할 수 있다. 서비스 상세서 제공자(Service specification producer)는 서비스 설계의 상위 단계이자 표준인 서비스 상세서를 MSR에 등록하고 서비스 구현자(Service implementer)는 해당 서비스 상세서를 찾아 표준에 맞게 서비스를 구현한다. 서비스 구현자는 서비스 상세서에 따라 서비스를 개발한 기관을, 서비스 제공자는 개발된 서비스를 운영하여 사용자에게 제공하는 기관을 의미한다.

Fig. 1.

Service Management Concept using MSR Source : G1128, IALA, 2021

MSR에 저장되는 서비스의 정보인 서비스 메타데이터는 서비스 이름, MRN(Maritime Resource Names), 버전, 서비스 주소, 인스턴스 상세서 XML 등을 포함한다. MSR은 서비스 메타데이터의 신뢰성 보장을 위해 서비스 제공자는 반드시 Maritime Connectivity Platform Identity Registry(이하 MIR이라 함)의 기관 검증 절차를 거쳐 신원이 검증되어 있어야 한다는 기술적 제약을 갖는다. 서비스 호환성을 위해선 MSR은 국제항로표지협회(IALA)의 G1128 서비스 상세서 체계(IALA, 2021)를 따르며 더불어 표준 데이터 형식인 국제수로 기구(IHO)의 S-100 표준(IHO, 2022) 사용을 장려한다. G1128 서비스 상세서 체계는 서비스 운영자 및 개발자들을 위해 각 개발 단계에 맞도록 서비스를 서술하는 형식으로써 세부적으로는 서비스 상세서, 서비스 기술 설계서, 서비스 인스턴스 상세서로 이루어져 있다. MSR은 G1128을 준수하여 호환성을 보장함과 동시에 서비스 접근성에 대한 해결책을 제시한다.

하지만 단일 MSR의 운용에 있어 하나의 데이터 저장소에 각 서비스 운영자들이 서비스 정보를 저장하는 것이 정보 소유권 및 정보 보안 문제가 제기되었다. 이러한 이유로 서비스 운영자들의 합의 하에 운영되는 MSR을 지역 MSR(Local MSR, 이하 LSR이라 함)로 정의하고, 각 LSR이 유관기관 및 서비스 사용자들에게 접근을 허용하는 분산형 MSR 환경이 대안으로 제안되었다. 분산형 MSR의 경우 다수의 MSR 운영자가 고유의 운영 원칙을 설정할 수 있기에 상용 서비스를 제공하는 MSR 운영자를 위해선 서비스 가입자에게만 접근성을 제공할 수 있어야 한다는 요구사항이 도출되었다. 하지만 이 요구사항은 MSR의 상위 요구사항인 전역 검색에 반하게 된다는 문제가 생긴다. 이 문제의 본질은 MSR 운영자의 폐쇄적인 운영 방침과 MSR의 글로벌 검색 요구사항이 상충함에 있다.

본 논문에서는 상기 제기된 문제에 대한 기술적 해결책으로써 다수의 LSR과 MSR 분산원장(MSR Ledger)을 통해 LSR의 운용 원칙을 존중하면서 MSR의 글로벌 검색을 수행할 수 있는 방법을 제시하고 이를 검색할 수 있는 웹 인터페이스를 구현한다. MSR 분산원장은 복제, 공유 또는 동기화된 디지털 데이터에 대한 합의 기술인 분산원장 기술을 기반으로 모든 사람이 접근 가능한 공개 데이터 저장소를 유지한다. MSR 분산원장에서는 지정된 노드만이 쓰기 권한을 가지며 특정 합의 알고리즘을 통해 데이터 저장소를 운영한다. LSR은 상위 개념인 MSR과 대비시키기 위해 본 논문에서 정의되는 용어로써 단일 MSR 운영자의 지엽적 서비스 레지스트리 서비스로 정의된다. MSR은 상위 요구사항을 만족시키기 위해 MSR 분산원장과 LSR들의 합집합으로 정의된다. 본 논문은 서비스 접근성에 집중하고자 MSR의 저장 문서 범위를 G1128의 인스턴스 상세서로 제한하고 상위 문서인 서비스 상세서, 기술 설계서는 제외한다.

2.1 탈중앙화 MSR

분산형 MSR 환경에서 하나의 LSR은 타 LSR로의 접근성이 보장되지 않았다. 이는 MSR 인스턴스를 운영하는 MSR 서비스 제공자들 간의 합의가 존재하지 않는 경우 서비스 전역 검색이 불가능하다는 것을 의미한다. 하지만 다수의 LSR이 자신을 제외한 모든 타 MSR과 합의가 요구된다면 MSR 운영 동기를 저해시킬 것이다.

본 논문은 탈중앙화 MSR을 LSR들과 MSR 분산원장의 네트워크로 정의하고자 한다. LSR 서비스 제공자는 서비스 메타데이터를 유지하는 것에 대한 책임을 가지는 기관으로 정의되며 해당 책임을 수행하기 위한 독립적인 운영 정책을 보유할 수 있다. 예를 들어 LSR 서비스 제공자는 자신의 클라이언트들에게만 접근성을 부여할 수도 있고 공개적인 접근성을 부여할 수도 있다. 이렇게 MSR 네트워크를 LSR 단위로 구성하는 가장 큰 이유는 LSR 서비스 제공자의 데이터 프라이버시를 위해서이다. LSR 서비스 제공자의 특징은 다음과 같다.

• LSR 서비스 제공자는 서비스 제공자와의 계약을 통해 서비스 메타데이터를 저장한다.

• LSR 서비스 제공자는 (특정 혹은 모든) 서비스 소비자에게 서비스 메타데이터에 대한 접근성을 제공한다.

• LSR 서비스 제공자는 저장된 서비스 메타데이터의 온전성을 보장한다.

• LSR 서비스 제공자는 고유의 운영 방침을 가진다.

2.2 MSR 분산원장

MSR을 LSR의 집합으로만 정의하는 경우 글로벌 검색 기능을 지원할 수 없기에 공개 공유 데이터 저장소인 분산원장을 포함시켜야 한다. 분산원장 또는 블록체인은 복제, 공유 또는 동기화된 디지털 데이터에 대한 합의 기술이며 중앙집중적인 관리자나 중앙집중의 데이터 저장소가 존재하지 않고 탈중앙화 방식으로 기능이 동작하게 된다(Ali et al., 2020). MSR에서 사용되는 분산원장을 MSR 분산원장으로 정의하며 해당 분산원장은 오직 기술적 컴포넌트로써, LSR 서비스 제공자들의 독립적 운영 방식을 존중한다. 서비스 소비자는 검색을 통해 MSR 분산원장에 저장된 검색 결과를 받고 유관 LSR에 접속하여 서비스 메타데이터를 열람하게 된다. 여기서의 중요한 가정은 LSR 서비스 제공자가 내부 및 외부 서비스 소비자에게 서비스 접근성을 보장해야 한다는 점이다. 이는 본 연구의 서비스 범위가 공공 서비스임과 분산원장 기술의 특징이 공개 데이터 저장소임에 부합한다. 만약 LSR 서비스 제공자가 비공개로 서비스 메타데이터를 운영하고 싶다면 MSR 분산원장에 서비스를 등록하지 않으면 된다. 비록 MSR 글로벌 검색으로는 서비스를 찾을 수 없지만 서비스 소비자가 접근 권한을 가지고 있다면 LSR의 검색 인터페이스를 통해 서비스에 접근할 수 있다. 이러한 방식으로 LSR 서비스 제공자는 서비스 단위로 공개 방침을 결정할 수 있다. MSR 분산원장은 아래의 특징을 가진다.

• MSR 분산원장은 공개되어 있으며 모든 사용자에게 읽기 권한을 부여한다.

• MSR 분산원장은 LSR에게 쓰기 권한을 부여한다. LSR은 자격 검증 및 개인키 등록과 같은 MSR 분산원장에 등록되기 위한 일련의 절차를 거쳐야 한다.

• LSR은 서비스가 특정 기준에 준할 시 LSR 서비스 메타데이터를 MSR 분산원장에 등록할 수 있다.

• LSR 서비스 제공자는 서비스 메타데이터가 변경되는 경우 이를 반드시 MSR 분산원장에 반영해야 한다.

• 스마트 컨트랙 및 LSR 서비스 메타데이터 형식은 LSR 서비스 제공자의 합의 하에 변경될 수 있다.

• LSR 서비스 메타데이터는 서비스 검색에 사용되는 최소한의 정보여야 한다.

Fig. 2는 상기 특징들을 반영하여 MSR 분산원장으로의 서비스 등록 시 서비스 제공자와 LSR 서비스 제공자, MSR 분산원장이 어떻게 상호작용하는지를 보인다.

Fig. 2.

Entity-relationship Diagram showing Data Write Flow upon Service Registration with MSR Ledger

MSR 분산원장은 권위 증명(Proof of authority)을 합의 알고리즘으로 사용한다. 권위 증명은 분산원장에서 사용되는 합의 알고리즘 중 하나로 한정된 블록 검증자들을 사용하여 참여자들의 암호 화폐 마이닝을 요구하지 않고 그들의 평판을 대신 사용하는 합의 알고리즘이다. 따라서 전체 분산원장은 신뢰할 수 있는 주체를 통해 임의로 선정된 검증된 노드를 통해 보호된다. 이 방식은 다른 합의 알고리즘인 작업 증명 및 지분 증명에 비해 에너지 효율적이라는 장점을 가진다. 단점은 확장성이 제한적인 점과 진정한 탈중앙화된 시스템이 아니라는 점이다. 탈중앙화 MSR 환경의 경우 사설 네트워크이자 자체 통화가 필요하지 않다는 점과 컨소시엄의 중재 역할을 기술적으로 구현할 수 있기 때문에 권위 증명을 합의 알고리즘으로 선택하였다.

MSR 분산원장이 권위 증명의 블록 검증자들을 통해 데이터 저장소를 유지하는 것과 별개로 운영 측면에 있어 어떤 LSR이 어떤 서비스를 LSR 서비스 메타데이터로써 분산원장에 등록을 하는지가 MSR의 서비스 신뢰성에 있어 중요한 점이 된다. 즉, LSR 서비스 제공자는 MSR 분산원장에 쓰기 권한을 부여받을만한 신뢰가 있어야 한다. LSR 서비스 제공자의 신원 검증은 기술적 구현 보다는 운영 정책을 요구하기에 본 논문에선 제외한다.

다음으로 중요한 점은 서비스의 분산원장 등록 방식 및 조건이다. 서비스 또한 분산원장 등록 기준에 부합되어야 하며 이 기준에 부합하지 않는 서비스는 등록이 불가하여야 한다. Fig. 3의 왼쪽은 분산원장 등록 절차 및 LSR에서 서비스가 가지는 상태를 나타낸다. 먼저 서비스 제공자에 의해 분산원장 등록(CREATED)이 생성되고 해당 서비스에 대한 자격 검증을 요청하게 된다. LSR 서비스 제공자가 자격 검증을 실시하는 동안 ’VETTING’ 상태를 가지고 추후 결과에 따라 검증 성공(VETTED) 혹은 기각(REJECTED) 상태를 가지게 된다. 검증이 완료된 서비스는 서비스 메타데이터로부터 LSR 서비스 메타데이터를 생성하게 되고 분산원장에 데이터를 등록(REQUESTING)하는 상태를 가지게 된다. 성공적으로 등록되어 등록 과정이 마치게 되면 등록 성공(SUCCEEDED), 기술적 문제로 인해 등록을 실패하게 되면 실패(FAILED) 상태로 수렴하게 된다. Fig. 3의 오른쪽은 MSR 분산원장 등록 절차와 연관된 사용자 그룹을 보여준다. 서비스 제공자가 등록 절차 요청을 통해 분산원장 등록 절차를 시작하게 되며 제 3 기업인 검수자가 LSR 서비스 제공자의 자격 검증의 부합성을 검수하게 된다. 이 후 LSR 서비스 제공자 혹은 MSR이 분산원장에 데이터를 등록하며 MSR 분산원장에서의 등록을 확인하며 절차를 마무리한다. 각 사용자 그룹은 실제 사람이거나 프로그램일 수 있다.

Fig. 3.

MSR Ledger Registration Procedure and Service Status(Left) and User Groups Related to Registration(Right)

MSR 분산원장은 공유 데이터베이스로의 역할만 수행할 뿐 자체적인 검색 솔루션을 보유하고 있지 않다. 현 시점에서의 분산원장 혹은 블록체인에서의 검색은 자체 프레임웍에서의 기능 제공보다는 캐시 서버를 두는 등의 외부 솔루션을 이용하는 편이다. 외부 솔루션의 목적은 검색을 최우선으로 하되 분산원장의 정보를 주기적으로 가져와 최신화하는 기능이 반드시 필요하다.

3. 웹 브라우저 기반 글로벌 e-Navigation 서비스 검색 시스템

본 논문에서는 앞에서 설명한 탈중앙화 MSR에서의 글로벌 검색을 수행하는 검색서비스의 구현 방법으로 웹 브라우저 기반 검색 시스템을 구현한다. 웹 브라우저는 HTTP 프로토콜 통신을 기반으로 사용자에게 HTML 문서 또는 파일을 열람하게 하는 사용자 클라이언트이며 대부분의 데스크톱 또는 모바일 단말기에서 호환성이 보장된다는 장점을 가진다. React, Angular 등 최근에 개발된 프론트엔드 기술은 강력한 기능과 빠른 실행 속도를 기반으로 웹 브라우저만으로 수행 가능한 업무의 범위를 넓히고 있다. 또한 최근 블록체인의 기술적 발전으로 인해 브라우저에서 분산원장 혹은 블록체인을 접근하여 사용하는 탈중앙화 애플리케이션(Decentralized application) 을 개발하기 용이해졌다. 탈중앙화 애플리케이션은 기존 애플리케이션과 달리 스마트 컨트랙트를 사용하며 사용자 점유형으로 운영되지 않고 개별 사용자에게 권한이 부여된 토큰을 보급하여 합의 알고리즘에 의해 시스템이 운영되는 인터페이스를 제공한다. 본 검색 시스템은 웹 브라우저에서 동작하는 탈중앙화 애플리케이션으로 구현된다. 웹 브라우저 기반 접근 방식의 또 다른 장점은 별도의 캐시 장치를 두지 않아도 사용자가 인터페이스에 접근하는 시점에 분산원장의 정보를 받아오는 온디멘드 방식으로 최신화 정보를 활용할 수 있다는 점이다(Antal et al., 2021).

구현된 검색 시스템의 주요 기능은 다음과 같다.

• 글로벌 서비스 검색

▷ 검색 파라미터 기반 검색

▷ 기하학 기반 지리 정보 검색

▷ 문자열 검색

• 검색된 서비스 열람 및 MSR로의 링크 제공

검색 결과는 서비스 메타데이터가 아닌 새로운 형식의 메타데이터인 LSR 서비스 메타데이터를 저장한다. LSR 서비스 메타데이터는 특정 LSR에 저장된 서비스 메타데이터의 메타데이터로써 서비스 검색에 사용되는 정보와 LSR API 주소의 합집합으로 정의된다. 사용자는 LSR API 주소와 서비스의 MRN, 버전을 조합하여 서비스를 특정하여 서비스 메타데이터를 받을 수 있다.

3.1 서비스 검색 시나리오

탈중앙화 MSR 기반 서비스 글로벌 검색 시나리오는 Fig. 4.의 개체-관계 다이어그램에서 볼 수 있다. 여기서의 사용자 그룹 범위는 해사 업무를 수행하는 일반 사용자로 본 시나리오에선 서비스 소비자로 기술한다. 해상 혹은 육상의 서비스 소비자는 단말기 혹은 웹 애플리케이션을 통해 서비스 검색을 수행한다.

Fig. 4.

Entity-relationship Diagram representing Data Read Flow in MSR Ledger-based Global Service Discovery

Fig. 4의 예시에서는 단말기의 검색 시스템으로 검색 수행 시 사전에 MSR 분산원장의 엔드포인트(예: URL)가 주어져있다는 점, 또한 관심이 있는 서비스를 찾기 위한 검색 파라미터(키워드, 서비스 MRN, 지역 등)를 숙지하고 있다는 가정을 가진다. 소비자가 단말기를 통하여 검색 시스템에 접속하여 MSR 분산원장에 질의를 전송한다. MSR 분산원장은 검색 결과인 LSR 서비스 메타데이터 목록을 단말기로 보낸다. 두 번째 단계로 소비자가 확인 후 LSR 서비스 메타데이터를 특정하여 해당 LSR에 질의를 던지면 LSR은 검색 결과로 서비스 메타데이터의 목록을 단말기로 보낸다. 이 때 소비자는 해당 LSR에 접근 권한이 있어야 한다. 세 번째 단계로 사용자가 확인 후 서비스 메타데이터를 특정하여 해당 서비스 제공자의 엔드포인트를 통해 서비스 제공자에게 서비스를 요청하면 소비자는 서비스를 제공받을 수 있게 된다. 이 때 서비스 운영 방침이 완전 공개가 아닌 경우, 서비스 제공자는 서비스 소비자와 사용에 대한 계약이 사전 수립되어 접근 및 사용 권한이 부여되어 있어야 한다. 이와 같은 방법으로 서비스 소비자는 세 단계를 통해 MSR 분산원장에 등록된 전 세계 어떤 LSR의 서비스도 사용할 수 있게 된다.

3.2 서비스 검색

전자해도표시정보시스템(Electronic Chart Display and Information System, 이하 ECDIS라 함) 등과 같은 국제 인증을 요구하는 대부분의 선박용 전자 단말기에서는 정보 보안을 고려하여 웹 브라우저를 직접적으로 활용할 수 없다(Choi et al., 2021). 하지만 국제항로표지협회에서 S-100 표준 기반 데이터 모델을 교환하는 웹 서비스 기반 표준인 G1157이 제안되었고 이에 부응하여 STM(Sea Traffic Management) 프로젝트는 G1157을 준수하여 S-100 표준 제품을 디지털 보안 채널(Transport Layer Security, TLS)을 통해 전송할 수 있는 인터페이스 표준인 SECOM(IEC, 2022)을 개발하였고, 이는 IEC 국제 표준(no. 63173-2)으로도 등록되었다. SECOM은 S-100 표준 외에도 타 해사 서비스 및 SW의 데이터 교환에 사용될 수 있으며 이를 통해 각 단말기 제조사의 서비스 인터페이스 호환성 문제를 해결함으로써 개발 공수 및 단가를 저감하는 역할을 한다. 즉, SECOM의 API를 사용하면 SECOM을 준수하는 ECDIS에서도 동일한 기능을 사용할 수 있는 것이다. 이러한 이유로 SECOM의 Service discovery interface 및 데이터 모델을 참조한다.

SECOM service discovery interface에서는 서비스 검색을 위한 데이터 교환 모델로는 속성 기반 검색을 위한 query, 기하학 기반 검색을 위한 geometry, 텍스트 기반 검색을 위한 freetext로 이루어진 Search service request를 사용한다. geometry의 경우 검색을 원하는 지리 정보가 well-known text(WKT) 형식으로 제공되어야 한다. 오픈소스로 개발된 MSR의 서비스 검색 인터페이스는 SECOM 표준을 준수하고 있다. 예를 들어 MSR에서 이름이 Test 003인 서비스 인스턴스를 찾는 SECOM API 호출 예시는 다음 Table 1과 같다.

SECOM API Call Example to get Service Instance

예시의 body 부분에서 query는 검색 의도를 반영하여 name 속성의 값이 “Test 003”으로 되어있다. 해당 쿼리는 MSR 내부에서 Lucene Query Syntax로 변환되어 검색을 수행한다. 호출 예시에서 {MSR URL} 부분은 사용할 MSR 주소로 변경되어야 한다. 상기 호출의 성공적인 검색 결과는 Table 2와 같다.

Result of SECOM API Call from Table 1

geometry와 freetext의 경우에도 위의 형식에 준수하여 검색을 수행한다. 구현된 검색 인터페이스 또한 이와 동일하게 속성, 지리 정보, 텍스트 정보를 이용한 검색이 가능해야 한다. geometry 검색과 관련하여 도출되는 검색 웹 애플리케이션으로써의 요구사항은 사용자가 쉽게 지리 정보를 생성하고 검색에 사용할 수 있어야 한다는 점이다. 즉 점, 선, 면의 기하학 정보를 웹 기반 지도에 그리고 표출하여 검색 영역을 즉각적으로 시각화할 수 있어야 한다. OpenLayers는 프론트엔드에서 동적으로 웹 기반 지도에 기하학 벡터 정보를 그릴 수 있는 오픈소스 모듈이다. 본 검색 시스템은 OpenLayers를 기반으로 지리 검색 정보를 생성해낸다. 또한 생성된 지리 정보와 MSR 분산원장에서 받아온 데이터들과의 접점 계산을 통해 검색 영역과 교차되는 영역을 지닌 서비스들의 목록을 받아올 수 있어야 한다. Terraformer는 프론트엔드에서 기하학 정보를 다루는 모듈로써 GeoJSON 형식에 대한 교차 계산을 수행해주며, GeoJSON을 WKT 형식으로 변환해주는 기능도 수행한다. 이러한 모듈을 사용하여 서비스 지리 정보 검색을 웹 브라우저에서 가능하게 한다. 텍스트 검색은 freetext로써 모든 속성에 대한 문자열 검색을 의미한다.

4. 구현 및 실험

시스템 구현에 사용된 개발 환경은 Apple Macbook Pro(2019, A1990, 15″)이며 macOS Monterey(Ver. 12.5.1) 운영체제를 사용하였다. 블록체인의 개발 도구로는 Remix IDE를 사용하였으며 웹 애플리케이션 개발도구로는 VS Codium을 사용하였다. 탈중앙화 MSR 환경 구축은 다음과 같이 이루어졌다. MSR 분산원장 동작을 위한 블록체인 로컬 네트워크는 Hyperledger Besu 기반의 Quorum Blockchain Service를 이용하였고 Docker를 이용하여 검증 및 관리 노드들을 배포하였다. Hyperledger Besu(Ver. 21.1.2)를 블록체인 프레임워크로써 선택한 이유는 MSR 분산원장의 합의 알고리즘인 권위 증명을 지원하기 때문이다. Fig. 5의 Quorum 로컬 블록체인 대시보드에서 MSR 분산원장 환경의 구성을 볼 수 있다. 해당 블록체인 네트워크는 한 개의 RPC 노드와 네 개의 검증 노드들로 이루어졌다. Quorum 로컬 블록체인 서비스는 JSON-RPC HTTP 인터페이스를 통해 데이터를 주고 받을 수 있다. LSR (Ver. 0.1.0)의 경우 Springboot application으로 localhost에서 특정 포트를 매핑시켜 실행시켰다. 구현에 사용된 MSR 스마트 컨트랙트는 Solidity 언어를 기반으로 작성되었으며 GitHub에 공개된 버전을 기반으로 한다(MCC, 2022). 스마트 컨트랙의 배포는 truffle (Ver. 5.5.3)을 기반으로 수행되었다.

Fig. 5.

Dashboard of MSR Ledger Execution Environment

탈중앙화 애플리케이션에서 블록체인 인증 및 접속을 위한 전자지갑으로 MetaMask(Ver. 10.18.3)가 사용되었다. MetaMask는 브라우저 기반 지갑, RPC 클라이언트 및 기본 계약 탐색기이며 브라우저 JavaScript 컨텍스트에 web3 인스턴스를 주입하여 다양한 이더리움 블록체인에 연결하는 RPC 클라이언트 역할을 수행한다. 프론트엔드 부분은 리액트(Ver. 17.0.2)를 기반으로 개발되었으며 RPC 클라이언트를 위해선 web3(Ver. 1.3.6)를 사용하였다. 웹 기반 지도 표출 및 상호작용을 위해선 OpenLayers (Ver. 6.6.1)을 사용하였으며 지리 영역 교차 계산을 위해선 Terraformer(Ver. 2.1.0)를 사용하였다. 결과 표출 시 사용된 테이블 시각화는 dataTable(Ver. 6.11.8)을 사용하였다.

검색 시스템의 성능을 실험하고자 10개의 서비스를 임의로 생성하여 두 개의 MSR에 각 다섯 개 씩 등록하였고 하나의 동일한 MIR의 가상 서비스 제공자의 Open ID Connect 토큰을 신원으로 사용하여 서비스를 등록하였다. 검색 시스템의 인터페이스는 Fig. 6과 같다. 속성 혹은 텍스트 검색을 지원하는 입력창이 화면의 상단 가운데에 존재하며 배경으로는 상호작용이 가능한 OpenLayers 지도가 표출된다. 지리 정보를 검색하고 싶은 경우 검색창 하단의 녹색 버튼을 눌러 원하는 형태의 기하 정보를 생성하여 서비스 검색을 동적으로 수행할 수 있다.

Fig. 6.

Interface of Proposed Maritime Service Discovery

Fig. 7은 검색창 하단의 영역(Region) 검색 버튼을 눌러 검색 영역을 생성하여 표출된 서비스 검색 결과를 나타낸다. 화면의 노란색 점선 영역이 사용자가 생성한 다각형 영역이며 빨간 실선으로 표시된 영역이 교차점 계산을 통해 선택된 서비스의 영역들이다. 상세적인 서비스의 결과를 보여주기 위한 인터페이스로 화면을 우측에 dataTable을 이용한 서비스 테이블이 표출되어 있다. 서비스 설명 항목인 name, keywords, MSR link는 G1128 서비스 상세서의 서비스 정의(Service identification) 항목 중 일부를 발췌하여 사용하였다. name은 서비스의 이름, keywords는 서비스를 서술하는 키워드 목록, MSR link는 사용자가 접속할 수 있는 서비스 주소를 의미한다. 화면 결과의 MSR link를 클릭 시, MSR의 연관 서비스 메타데이터를 받을 수 있다.

Fig. 7.

Results of a Region Search using User-generated Polygons(Dotted Yellow Areas)

Fig. 8은 속성 중 keywords 내에 safety가 있는 서비스들에 대한 검색 화면을 보여준다. 해당 검색 결과는 두 개의 MSR 주소 및 링크를 포함하는 것을 확인할 수 있다.

Fig. 8.

Attribute-based Search Results Screenshot

5. 결론 및 논의

본 연구에서는 탈중앙화 MSR 환경에서의 서비스를 검색하는 방법으로써 웹 브라우저 기반의 글로벌 이내비게이션 서비스 검색 시스템을 구현하였다. 검색 시스템의 구현 및 실험을 통해 MCP의 MIR 신원 기반 MSR 서비스 등록을 통한 서비스 신뢰성, G1128 문서 체계 및 SECOM 인터페이스 표준 준수를 기반으로 한 서비스 호환성과 더불어 구현된 검색 시스템이 다수의 LSR이 존재하는 환경에서도 글로벌 서비스 접근성 제공을 시연하였다. 또한 탈중앙화 웹 애플리케이션의 인터페이스를 기반으로 손쉽게 서비스의 속성, 지역 정보, 텍스트 검색을 수행할 수 있음을 볼 수 있었다.

연구의 접근법으로 갖는 한계점은 분산원장을 기반으로 하기 때문에 최신의 정보를 받는다는 보장이 없다는 점이다. Fig. 5에서 최근 블록 업데이트 시간은 초(Second) 단위로 진행되지만, 갱신된 자료에 대해 최신의 데이터임을 확인 불가하기 때문에 실시간성을 가진다고 볼 수 없다. 또한 분산원장의 전자지갑으로 MetaMask를 사용하기 때문에 웹 브라우저 플랫폼에서만 실행 가능하다는 한계도 가진다. 직접 정보를 받아오는 것이 아닌 MSR을 한 번 더 거쳐야 서비스 메타데이터를 받을 수 있다는 점과 MSR의 접근 정책에 따라 해당 서비스를 받을 수 없다는 점, 합의 알고리즘이 진정한 탈중앙적 방식이 아니라는 점도 탈중앙화 MSR 환경의 한계가 되겠다.

하지만 여러 나라에서 공공의 성격을 지닌 S-100 표준 기반 서비스(기상, 안전, VTS 서비스 등)들이 배포될 예정(Kang and Uhm, 2022)이고, MCP 컨소시엄에서는 표준 문서화, 오픈 소스 제공, 테스트베드 환경 운영, 관련 표준 워킹그룹 참석 등 다각도로 이내비게이션 서비스를 지원하고 있으며 한국 또한 MCP 컨소시엄의 대표적인 참여국으로써 해사 분야의 디지털화에 크게 기여하고 있다. 이에 부응하여 상용화 수준의 MSR 제공자가 늘어난다면 구현된 검색 시스템을 사용할 기회가 커질 것으로 예상한다.

후 기

이 논문은 선박해양플랜트연구소의 지원을 받아 수행된 연 구임(Development of Open Platform Technologies for Smart Maritime Safety and Industries, PES4070)

References

1. Ali O, Ally M, Clutterbuck , Dwivedi Y. 2020;The state of play of blockchain technology in the financial services sector: A systematic literature review. International Journal of Information Management,* 54:102–199.
2. Antal C, Cioara T, Anghel I, Antal M, Salomie I. 2021;Distributed ledger technology review and decentralized applications development guidelines. Future Internet 13(3):62.
3. Choi HD, Yoo JH. 2020;A Study on the Application of Digital Twin Technology for Container Terminals. Journal of Navigation and Port Research 44(6):557–563.
4. Choi HS, Kang DW, Oh SW, Kim YJ. 2021;A Study on Development of Machine-readable Platform for S-100 ECDIS. Journal of Navigation and Port Research 45(2):61–68.
5. IALA - International Association of Marine Aids to Navigation and Lighthouse Authorities. 2021. G1128 THE SPECIFICATION OF E-NAVIGATION TECHNICAL SERVICES. https://www.iala-aism.org/product/g1128/ .
6. IEC – International Electrotechnical Commission. 2022. Maritime navigation and radiocommunication equipment and systems - Data interfaces - Part 2: Secure communication between ship and shore (SECOM). https://webstore.iec.ch/publication/64543 .
7. IHO - International Hydrographic Organization. 2022. S-100 Universal Hydrographic Data Model. https://iho.int/en/s-100-universal-hydrographic-data-model .
8. IMO - International Maritime Organization. 2008. Strategy for the development and implementation of e-navigation, MSC 85/26/Add.1, annex 20.
9. Jang IS, Kim MS. 2015;Implementation of the Shore-based Maritime Information Service Platform for e-Navigation Strategic Implementation Plan. Journal of Navigation and Port Research 39(3):157–163.
10. Kang DH, Uhm DY. 2022;A Study on the HDF5 Data Model Design for Gridded Marine Weather Information Based on S-100. Journal of Navigation and Port Research 46(3):158–167.
11. Kim BY, Shim WS. 2021;Performance Analysis on Speed Quality of LTE-Maritime Considering Scenario of e-Navigation Service and the Modulation Coding Scheme(MCS). Journal of Navigation and Port Research 45(6):360–365.
12. MCC - Maritime Connectivity Platform Consortium. 2022. MSR Smart Contract. https://github.com/maritimeconnectivity/MSR_smart_contract .
13. Oh SW, Kim HY, Shu SH, Kim SY. 2012;Application of S-100 Standard in the field of e-Navigation. Journal of Navigation and Port Research 36(2):105–112.
14. Yang CS. 2019;Maritime shipping digitalization: Blockchain-based technology applications, future improvements, and intention to use. Transportation Research Part E: Logistics and Transportation Review 131:108–117.
15. Yu YJ, Kim TG, Moon SB. 2018;Basic Architecture of Navigation Safety Module in S2 Service of Korean e-Navigation System. Journal of Navigation and Port Research 42(5):311–316.

Article information Continued

Fig. 1.

Service Management Concept using MSR Source : G1128, IALA, 2021

Fig. 2.

Entity-relationship Diagram showing Data Write Flow upon Service Registration with MSR Ledger

Fig. 3.

MSR Ledger Registration Procedure and Service Status(Left) and User Groups Related to Registration(Right)

Fig. 4.

Entity-relationship Diagram representing Data Read Flow in MSR Ledger-based Global Service Discovery

Fig. 5.

Dashboard of MSR Ledger Execution Environment

Fig. 6.

Interface of Proposed Maritime Service Discovery

Fig. 7.

Results of a Region Search using User-generated Polygons(Dotted Yellow Areas)

Fig. 8.

Attribute-based Search Results Screenshot

Table 2.

Result of SECOM API Call from Table 1

[{
"instanceId":
"urn:mrn:mcp:service:mcc-test:core:instance:test003",
"version": "0.0.1",
"name": "Test 003",
"status": "PROVISIONAL",
"description": null,
"dataProductType": "S124",
"organizationId": "urn:mrn:mcp:org:mcc-test:core",
“endpointUri”: “https://maritimeconnectivity.net”,
“endpointType”: null,
“keywords”: [ “S124”, “service” ],
...
}]