DOI QR코드

DOI QR Code

Design and Implementation of a Blockchain System for Storing BIM Files in a Distributed Network Environment

  • Seo, Jungwon (Dept. of Computer Science, Sogang University) ;
  • Ko, Deokyoon (Noncelab Inc.) ;
  • Park, Sooyong (Dept. of Computer Science, Sogang University) ;
  • Kim, Seong-jin (Dept. of Future & Smart Construction Research, Korea Institute of Civil Engineering and Building Technology(KICT)) ;
  • Kim, Bum-Soo (Dept. of Future & Smart Construction Research, Korea Institute of Civil Engineering and Building Technology(KICT)) ;
  • Kim, Do Young (Dept. of Future & Smart Construction Research, Korea Institute of Civil Engineering and Building Technology(KICT))
  • Received : 2021.11.08
  • Accepted : 2021.12.02
  • Published : 2021.12.31

Abstract

Building Information Modeling (BIM) data is a digitized construction design by worldwide construction design stands rules. Some research are being conducted to utilize blockchain for safe sharing and trade of BIM data, but there is no way to store BIM data directly in the blockchain due to the size of BIM data and technical limitation of the blockchain. In this paper, we propose a method of storing BIM data by combining a distributed file system and a blockchain. We propose two network overlays for storing BIM data, and we also propose generating the Level of Detail (LOD)-based merkle tree for efficient verification of BIM data. In addition, this paper proposes a system design for distributed storage of BIM data by using blockchain besu client and IPFS client. Our system design has a result that the processing speed stably increased despite the increase in data size.

BIM (Building Information Modeling) 데이터는 전 세계 표준에 맞춰 설계 도면을 디지털화시킨 데이터이며, BIM 데이터의 안전한 공유 및 거래를 위해서 블록체인을 활용하기 위한 연구들이 진행되고 있다. 하지만, BIM 데이터의 용량 크기와 블록체인의 기술적 한계로 인해 BIM 데이터를 블록체인에 직접적으로 저장할 방법이 없다. 본 논문에서는 해당 문제점을 해결하기 위해 분산 파일 시스템과 블록체인을 융합하여 BIM 데이터를 저장하는 방안에 대해서 제안한다. 본 논문에서는 BIM 데이터 저장을 위해 두 개의 네트워크 오버레이를 구축하는 방안과 BIM 데이터의 효율적인 검증을 위해서 LOD (Level of Detail)기반의 머클 트리를 생성하는 방안을 제안하였다. 제안된 방식을 블록체인 클라이언트인 베수와 IPFS 클라이언트에 동기화 모듈과 함께 적용하여 BIM 데이터가 정상적으로 저장되는 것을 확인하였으며, 제안된 방식을 통해서 파일 용량이 증가할 때도 처리 속도가 안정적으로 증가한다는 것을 확인하였다.

Keywords

I. Introduction

블록체인 기술은 저장된 데이터의 무결성을 극대화하는 기술로서 데이터를 안전하게 저장하고 신뢰할 수 있도록 보장한다. 블록체인은 2009년 사토시 나카모토의 비트코인의 출현과 함께 등장하였으며, 약 10년간 다양한 활용사례에 맞춰 발전해왔다[1-4]. 특히 블록체인을 활용한 금융 기술은 다양한 사업 영역의 발전을 가져왔으며, 최근 유행하는 대체 불가능 토큰 (NFT: Non-Fungilble Token)은 다양한 디지털 기술에 가치를 부여하고 이를 거래할 수 있다는 것을 증명하고 있다[5].

미국에서 2007년 국가 빌딩 정보 모델링 (BIM: Building Information Modeling) 표준을 제정하는 것을 시작으로 전세계적으로 토목/건축 설계의 표준화 및 디지털화가 진행되고 있다[6]. BIM은 토목/건축 설계의 다양한 영역을 포괄하여 높은 부가가치를 갖기 때문에 산출물을 라이브러리화 하여 재사용성을 극대화할 수 있다는 장점이 있다. 이러한 BIM 데이터의 장점을 극대화하기 위해서 BIM 데이터를 블록체인에 적용하기 위한 다양한 연구도 진행되고 있다[7-9].

BIM 데이터를 블록체인에 저장하여 BIM 데이터의 무결성을 보장하기 위해서는 블록체인이 가지고 있는 대용량처리의 기술적 한계를 극복해야 한다. BIM 데이터는 보통 수십에서 수백 MByte의 용량을 가지며, 대형 프로젝트의 경우 수십 GByte에 이르기도 한다. 하지만 현재 블록체인의 기반을 이루는 피투피 (P2P: Peer to Peer) 네트워크 기술, 암호학 기술, 합의 기술은 탈중앙화의 특징으로 인해 대용량 데이터를 처리하는 데 효율적이지 못하다. 탈중앙화는 특정 기관에 의해 데이터가 훼손되지 않는 장점을 가질 수 있으나, 중앙 기관에서 데이터를 검증하거나 결정하지 않기 때문에 분산 검증 및 저장, 분권화된 데이터 결정 등에 대한 합의가 필요하고 여기에는 많은 시간이 소모된다는 한계가 존재한다. 특히 데이터의 양이 많거나 크기가 커지면 데이터를 저장하기 위해 소요되는 시간이 기하급수적으로 늘어나게 된다.

블록체인으로 대용량을 처리하기 위한 방법으로는 크게 오프체인 방식과 온체인 방식으로 구분할 수 있다[10]. 오프체인 방식은 대용량 원본 데이터를 블록체인 외부의 저장소에 따로 저장하고, 해당 데이터의 메타데이터 값만 블록체인 네트워크에 저장하는 방식을 말한다. 온체인 방식은 별도의 장치와 블록체인을 활용해 데이터를 분산 저장시키는 방식을 말한다.

오프체인과 온체인의 특징은 Table 1과 같이 정리가 가능하다. 온체인 방식은 오프체인 방식에 비해 가용성, 무결성, 탈중앙성이 높다. 모든 노드에 데이터의 원본을 저장하기 때문에 특정 노드로 인한 원본 데이터 의존성이 사라지고 자연스럽게 가용성, 무결성, 탈중앙성이 높아진다. 그러나 대용량의 데이터를 전체 노드에 모두 분산 저장해야 하기 때문에 상대적으로 메타데이터만 저장하는 오프체인 방식에 비해 처리 속도가 늦다.

Table 1. pros. and cons. of on-chain and off-chain methods

CPTSCQ_2021_v26n12_159_t0001.png 이미지

본 논문에서는 온체인 방식을 사용하여 BIM 데이터 의무결성을 확보 및 안전하게 저장할 수 있는 방안을 도출하고 이를 활용하여 BIM 데이터를 분산 네트워크 환경에 저장하기 위한 기반 기술을 확보하는 방안을 제안한다. 본 논문의 기여는 다음과 같다.

• 블록체인과 분산파일시스템을 활용하여 BIM 데이터의 분산 저장 시스템 구성

• BIM 데이터의 중요 메타데이터 정의 및 메타데이터를 활용한 검증 방안 제안

• 실험을 통한 BIM 데이터의 효율적인 분산 저장 방안검증

II. Preliminaries

2.1 Blockchain

블록체인이란 데이터 분산 저장 기술로서, 모든 사용자가 네트워크에서 발생하는 모든 데이터를 공유하여 저장함으로써, 데이터에 대한 무결성과 투명성을 유지할 수 있도록 만든 기술이다. 검증된 데이터들은 하나의 블록 안에 저장이 되고 그 블록들은 각자 앞뒤로 연결이 되어 네트워크에 저장되는 형태이기 때문에 블록체인이라 불리게 되었다. 블록체인은 P2P 네트워크 암호학, 합의 알고리즘으로 구성이 되어있다.

블록체인에서 암호학 기술은 해싱 (Hashing) 기술과 비대칭 키 방식을 말하며, 해싱과 비대칭 키를 통해서 블록체인 안에 저장된 데이터의 무결성을 보장하고 검증한다. 암호학에서 키는 대표적으로 하나의 키로 암호화 및 복호화가 가능한 대칭 키 알고리즘과 암호화 및 복호화를 다른 키로 진행해야 하는 비 대칭키 알고리즘을 말한다.

블록체인에서는 비 대칭키 알고리즘을 사용하며, 비 대칭 키는 개인키와 공개키로 구성이 된다. 블록체인에서 개인 키는 상대방에게 거래 내용을 암호화하여 전송할 때 사용하고, 공개키는 상대방으로부터 받은 거래 내용을 복호화하는데 사용한다. 블록체인에서 합의 알고리즘은 블록체인 네트워크에 참여하는 모든 노드가 같은 데이터를 저장할 수 있도록 보장하는 기술이다.

2.2 Related works

본 장에서는 대용량 데이터를 블록체인에 저장하기 위한 기존 방법 및 연구들에 대해서 알아본다. 서론에 언급했듯이 대용량 데이터를 저장하기 위한 기존의 방법은 크게 원본 데이터는 별도의 저장소에 저장하고 원본 데이터를 검증하기 위한 메타데이터를 블록체인에 저장하는 오프체인 방식과 원본 데이터를 블록체인 네트워크를 활용하여 분산 저장하는 온체인 방식으로 구분이 될 수 있다. 또한, 기존의 방식을 개선하기 위한 연구로서 파일을 분할하여 저장하는 방법[15, 16]들의 연구도 진행되고 있다. 대용량 데이터를 블록체인에 저장하기 위한 기존 방법 및 연구들은 Table 2로 정리가 가능하다.

Table 2. Summary of Related Works

CPTSCQ_2021_v26n12_159_t0002.png 이미지

2.2.1 Off-chain

오프체인 방식을 활용하여 대용량 데이터를 블록체인에 저장하기 위한 방법으로는 KT의 Paperless[11], 삼성 SDS의 Nexledger[12], LG CNS의 Monachain[13]이 대표적이다. KT에서는 전자 문서를 기존 데이터베이스에 데이터를 저장하고 중요정보를 블록체인에 저장하는 방법을 개발하였으며, 삼성 SDS의 NexLedger는 대용량 데이터와 개인정보를 별도의 저장공간에 기록하고 메타 정보만을 블록체인에 저장하는 기술을 개발하였다. 또한, LG CNS는 데이터의 해시값만 블록체인에 저장하고 앵커링 기술을 통해 외부 저장소에 저장된 데이터의 진위 여부를 확인하는 방법을 개발하였다.

오프체인 방식을 통해서 대용량 데이터를 저장하는 방식은 블록체인 네트워크에 부담이 덜 하며, 외부 저장소에서 대용량 데이터를 손쉽게 관리가 가능하다는 장점이 있다. 하지만, 오프 체인 방식으로 데이터를 저장하는 경우 원본 데이터를 저장하는 외부 저장소의 상태에 따라서 데이터의 접근이 어려워질 수 있는 가용성의 한계를 가지고 있다. 또한, 원본 데이터가 외부 저장소에서 훼손되는 경우 데이터를 복구할 수 없는 무결성의 한계를 가지고 있으며, 원본 데이터를 저장하는 외부 저장소를 운영하는 기관을 전적으로 신뢰할 수밖에 없는 신뢰성의 한계가 있다.

2.2.2 On-chain

온체인 방식은 대용량 데이터를 별도의 장치와 블록체인을 활용에 데이터를 분산 저장시키는 방식을 말한다. 대표적으로 독일의 BigChainDB가 온체인 방식으로 대용량데이터를 분산 저장한다[14]. BigChainDB는 블록체인 네트워크와 연동하여, 블록체인 네트워크에서 발생하는 데이터를 효율적으로 관리할 수 있는 데이터베이스 시스템을 제공한다. 또한, BigChainDB는 데이터베이스 시스템에 저장된 대용량 원본 데이터의 무결성을 블록체인 네트워크를 통해서 유지할 수 있도록 지원해준다.

온체인 방식은 데이터 원본을 분산 저장하기 때문에 특정 기관 혹은 저장소에 대한 의존성이 발생하지 않는다. 또한, 추가 개발 모듈을 제공하여 실시간으로 검증과 탐지, 동기화를 진행하여 무결성을 지킬 수 있어서 원본 데이터를 안전하게 보관이 가능하다. 하지만 온체인 방식으로 대용량 데이터를 저장하기 위해서는 데이터를 검증하고 동기화하는 별도의 모듈이 필요하다. 또한, 온체인 방식에서는 대용량 데이터를 전체 노드에 모두 분산해야 하기 때문에 메타데이터만 저장하는 오프체인 방식에 비해 처리속도가 느려진다는 한계가 존재한다.

2.2.3 File split

본 장에서는 기존의 온체인 오프체인 방식과 달리 대용량 파일을 분할하여 블록체인에 저장하는 방법을 제안한 연구에 대해서 알아본다. 음원 파일을 블록체인에 저장하기 위한 방법을 제안한 연구[15]에서 저자는 오디오 시그니쳐 추출 및 노드 그룹화 방법을 사용하여 대용량 데이터를 블록체인에 저장하는 방법을 제안하였다. 저자는 특정 음원 파일에서 추출한 오디오 시그니쳐를 통해서 음원 원본 파일의 무결성을 보장하고, 오디오 시그니쳐와 음원 원본 파일을 특정 크기로 분할하여 각 노드 그룹이 분할하여 각각 저장하는 방법을 제안하였다.

대용량 데이터 저장을 위한 블록체인 기반 디지털 증거관리 시스템 연구[16]의 경우 블록체인을 콜드 블록체인과핫 블록체인 두 가지로 분류하여 핫 블록체인은 증거에 사용되는 주요한 텍스트 정보를 저장하고, 콜드 블록체인은 범죄 관련 증거 동영상을 저장하는 연구를 진행하였다. 콜드 블록체인에 증거 동영상을 저장할 때는 동영상을 바이트 타입으로 변환하고 청크 단위로 분할하여 각 블록에 분할하여 저장하는 방법을 제안하였다.

이러한 파일을 분할하여 블록체인에 저장하는 방법의 경우, 대용량 데이터를 직접적으로 블록체인 네트워크에 저장할 수 있다는 장점이 있지만, 데이터를 분할하는 과정에서 파일의 손상이 일어날 수 있다. 또한, 분할된 데이터를 불러오는 과정에서 원본 데이터의 손상이 일어날 수 있기 때문에 원본 데이터에 대한 무결성이 훼손될 수 있다는 한계가 존재한다.

III. The Proposed Scheme

서론에서 언급한 바와 같이 대용량의 BIM 데이터를 블록체인에 저장하기 위해서는 다양한 한계점들이 존재한다. 본 연구에서는 기존에 사용되던 대용량 데이터를 블록체인에 저장하기 위한 방법들이 가진 한계를 극복하기 위해 분산 파일시스템과 블록체인을 활용하여 BIM 데이터를 분산 저장하기 위한 방법을 제안한다.

3.1 Network design for distributed storage of BIM

분산파일 시스템 (Distributed File System)이란 네트워크에 연결된 노드끼리 파일을 공유하는 방법으로써, 빠른 처리를 위한 별도의 오버레이를 통해 P2P 방식으로 데이터를 공유한다. 분산파일시스템에 저장된 데이터는 특정 노드에서 데이터가 훼손되거나 삭제되어도 다른 노드에서 제공하는 데이터를 통해 복원이 가능하기 때문에 시스템의 가용성을 극대화할 수 있다.

본 연구에서는 제안하는 네트워크 디자인은 Fig. 1과 같다. 블록체인 클라이언트와 분산파일시스템 클라이언트를 노드에 각각 설치하고 이를 독립적인 두 개의 오버레이 네트워크로 구성한다. 블록체인을 통해서는 BIM 데이터의 중요 메타 데이터를 저장하고, 분산파일시스템으로는 BIM 데이터의 원본을 저장하는 데 활용한다. 노드의 관점에서 볼 때 두 개의 오버레이 네트워크를 사용하지만 실제로는 하나의 클라이언트 애플리케이션으로 묶이기 때문에 논리적으로는 결합되어 보인다. 또한, 두 개의 오버레이 네트워크를 사용하면 BIM 데이터의 메타데이터와 BIM 데이터 원본을 각 오버레이에 의해 독립적으로 분산 저장하기 때문에 효율성이 높을 뿐 아니라 블록체인의 확장성 한계로 인한 저장용량 문제를 해결하는데 도움을 준다.

CPTSCQ_2021_v26n12_159_f0001.png 이미지

Fig. 1. Network Design

3.2 Utilization of distributed file system

분산 파일 시스템은 P2P 네트워크 방식으로 BIM 원본 데이터를 분산하여 저장하는 역할을 담당한다. 한번 분산이 완료된 BIM 데이터는 모든 노드가 동일한 데이터를 가지고 있기 때문에 위변조가 불가능하고, 행여 BIM 원본 데이터가 해커에 의해 손실된다 하더라도 손실된 데이터는 훼손 전의 정보를 빠르게 복구가 가능하다.

본 연구에서는 가장 대중적인 분산 파일 시스템인 IPFS (Interplanetary File System)을 사용한다. IPFS는 분산 파일 시스템에 데이터를 저장하고 공유하기 위한 일종의 프로토콜이다. 기존의 HTTP 방식은 데이터가 위치한 곳의 주소를 찾아가서 데이터를 가져오는 방식이였지만, IPFS는 데이터의 내용을 변환한 해시값을 이용하여 전 세계 여러 컴퓨터에 분산 저장되어 있는 데이터를 조각으로 잘게 나눠서 빠른 속도로 가져온 후 하나로 합쳐서 동기화하는 방식으로 작동한다[17].

3.3 Utilization of blockchain

블록체인과 분산 파일 시스템은 P2P 방식을 통해 데이터를 동기화한다는 점에서 동일하나 블록체인은 분산 파일 시스템과 달리 데이터를 동기화한 후 데이터 검증, 데이터 합의라는 과정을 거친다. 따라서 대용량 데이터를 처리하는데 많은 시간이 소모된다. 하지만, 데이터의 차이가 발생하거나 데이터에 문제가 있을 경우 참여노드간의 합의를 통해 검증된 동일한 데이터를 공유하기 때문에 분산 파일 시스템보다 높은 신뢰성을 보장한다. 따라서 블록체인에 저장되는 BIM 데이터에서 중요한 정보를 추출하여 담는 것이 네트워크의 신뢰성을 향상시킬 수 있다.

본 논문에서는 BIM 데이터에서 추출하여 블록체인에 저장하는 데이터는 Table 3와 같이 정리하였다. Table 3에 표현되어 있는 일반 정보와 등록자 정보의 경우 BIM 데이터의 출처를 확인하기 위해서 사용된다. 또한, 무결성 검증 정보에서의 데이터 해시값과 LOD 머클 루트 값은 BIM 원본 데이터의 무결성을 확인할 수 있는 수단으로 사용될 수 있을 뿐만 아니라 분산 파일 시스템에서 여러 파일 중에서 원하는 BIM 데이터를 식별하는 식별자 역할을 담당한다. 등록자의 공개키나 디지털 서명의 경우 해당 BIM 데이터를 등록한 사람이 누구인지 검증하면서 소유권 관리에 활용될 수 있다.

Table 3. Metadata of BIM Data

CPTSCQ_2021_v26n12_159_t0003.png 이미지

Table 3에 언급된 데이터는 모두 텍스트 데이터로써 일반적으로 데이터 용량이 10KByte 미만이기 때문에 블록체인에 직접 저장하는데 무리가 없다. 이러한 정보는 BIM 데이터의 신뢰성을 높이는 데에 활용이 가능하다.

3.4 LOD merkle root

머클트리의 최상위 루트 값을 머클 루트라 한다. 머클 트리는 다수의 데이터를 통해 하나의 트리를 구성하고 트리의 최상위 루트값을 보관함으로써 트리에 속해 있는 데이터의 무결성을 검증하는 데 활용한다[18]. 머클 트리를 활용하는 경우 다량의 데이터가 있더라도 최상위 루트값만 저장하면 데이터의 무결성을 쉽게 검증이 가능하기 때문에 적은 용량으로도 데이터의 무결성을 검증할 수 있다는 것이 장점이다.

LOD (Level of Detail)은 AIA Document에서 정의한 설계 프로세스의 단계별 모델링 수준을 의미한다. LOD는설계 문서의 특성을 정의하는 메타데이터의 성격이 강하며 BIM 데이터의 상세도에 따라서 LOD가 달라질 수 있다. 보통 하나의 BIM에 여러 개의 LOD가 존재하는 데 일반적으로 상위 수준의 LOD가 하위 수준의 LOD를 포함하는 개념이다. 건축분야의 LOD 설명은 Table 4과 같다.

Table 4. LOD Description

CPTSCQ_2021_v26n12_159_t0004.png 이미지

본 연구에서는 LOD의 레벨에 맞게 정의된 방식에 따라 트리 형태를 구성하였다. BIM 데이터에 포함되어있는 각각의 객체들에 LOD 값을 기반으로 ID를 부여한 뒤 각 LOD의 해시값을 추출한다. 각각의 해시값은 Fig. 2와 같이 2개씩 묶어서 해시값을 트리 형태로 구성한다. 머클 트리 형태로 구성하는 과정에서 홀수 개의 트리가 생성되는 경우 Fig. 2와 같이 0을 마지막에 넣어서 트리 구조를 완성한다. 이렇게 구성된 트리의 가장 상위값 (merkle root)는 파일 검증을 위해서 블록체인에 기록한다. 이러한 방법을 통해 BIM 데이터에 기록된 객체들에 대한 위변조 여부를 블록체인을 통해서 탐지할 수 있으며 이를 통해 BIM 데이터의 무결성을 보장받을 수 있다. 예를 들어 누군가가 해킹을 통해 BIM 데이터의 일부분을 수정할 경우 특정 객체의 LOD의 값이 변경되기 때문에 블록체인에 기록된 머클루트 값이 달라져서 위변조를 탐지할 수 있다.

CPTSCQ_2021_v26n12_159_f0002.png 이미지

Fig. 2. LOD Merkle Tree

3.5 System design for distributed storage of BIM

본 연구에서는 BIM 데이터를 분산 저장하기 위해 여러 대의 노드에 블록체인 및 분산 파일 시스템 클라이언트와 추가적인 모듈을 동일하게 설치하고 네트워크로 연결한다. 각 노드에는 하이퍼렛저의 블록체인 클라이언트인 베수클라이언트, 분산파일시스템 프로토콜을 구현한 IPFS 클라이언트, 동기화 로직 처리를 위한 동기화 모듈과, 블록체인과 분산파일시스템 모니터링을 위한 모니터링 모듈을 각각 설치한다.

모니터링 모듈의 경우 네트워크를 구성하고 있는 노드들의 데이터 저장 상태를 지속적으로 확인하는 역할을 담당한다. 모니터링 노드는 새로운 BIM 원본 데이터가 특정 노드를 통해서 IPFS에 저장되는 것을 확인하면, 동기화 모듈을 동작시켜 모든 노드들이 동일한 BIM 원본 데이터를 가질 수 있도록 한다. 본 논문에서 제안하는 네트워크 디자인과 시스템 디자인을 적용시켜 BIM 데이터를 사용자가 등록하는 과정은 Fig. 3과 같다.

CPTSCQ_2021_v26n12_159_f0003.png 이미지

Fig. 3. BIM Data Store Process.

사용자는 프론트 서버를 통해서 BIM 데이터를 업로드한다. 업로드 시 몇 개의 추가적인 정보를 작성할 수 있다. 프론트 서버는 사용자로부터 전달받은 BIM 데이터를 백 엔드 서버에 전송한다. 백엔드 서버는 BIM 데이터를 IPFS에업로드 하면서, Table 3에 정의된 BIM 데이터의 메타데이터를 추출하여 블록체인에 기록한다. 이후 백엔드 서버는 동기화 모듈을 실행시켜 모든 노드들이 동일한 BIM 데이터를 저장할 수 있도록 한다. 각각의 노드들이 IPFS를 통해 BIM 원본 데이터를 동기화 하는동안, 블록체인 네트워크에서는 합의를 진행하여 BIM데이터의 메타 데이터를 동기화한다.

IV. Experiments

본 장에서는 제안하는 접근 방안을 적용하였을 때의 성능을 알아보기 위한 총 3가지의 실험 결과를 보여준다.

4.1 Experiments setting

각 노드에는 제3.5장에 언급하였던 것처럼 하이퍼렛저베수 클라이언트 1.5.0, IPFS 클라이언트 0.8.0을 설치하였으며, 모니터링 모듈 및 동기화 모듈을 설치하였다. 각 노드의 하드웨어 성능은 CPU: Intel(R) Core i7-10700 CPU @ 2.90 GHz, RAM: 64GB, Disk: 256GB, OS: CentOS 9.4.2105로 설정하였다.

실험은 여러 용량의 BIM 데이터가 있다고 가정하고 2KByte에서 1GByte까지 파일 용량을 늘려가면서 각 환경에 따른 처리 속도를 측정하였다. 파일 용량 변화에 따른 처리 시간을 측정하기 위한 세 가지의 실험을 진행하였으며, 실험 내용은 다음과 같다.

• E1) 블록체인을 사용하여 데이터를 저장하는 경우

• E2) 분산 파일시스템을 사용하여 데이터를 저장하는 경우

• E3) 메타 데이터를 블록체인에 저장하고 원본을 분산 파일 시스템에 저장하는 경우

4.2 Experiment results

4.2.1 E1) Using blockchain

블록체인 환경에서 어느 정도 용량까지 저장이 가능한지를 측정하기 위해 파일의 용량을 증가시키며 저장하는 실험을 수행하였다. 특정 파일 업로드를 요청하고 요청이 완료되어 블록체인에 직접 기록되는 시간까지를 측정하였다. 그 결과는 Fig. 4, 5와 같다.

CPTSCQ_2021_v26n12_159_f0004.png 이미지

Fig. 4. Elapsed Time based on Data Size increases

CPTSCQ_2021_v26n12_159_f0005.png 이미지

Fig. 5. Elapsed Time for Small Size Data

Fig. 4를 보면 알 수 있듯이, 블록체인만 사용하여 데이터를 저장하는 경우 최대 750KByte 까지만 데이터를 저장할 수 있었으며, 500KByte 이상의 데이터를 저장하는 경우 400초 (약 7분) 이상의 시간이 필요한 것으로 확인되었다. 또한, 250KByte 용량 이후로는 데이터 저장을 위한 처리 시간이 기하급수적으로 늘어난다는 것을 확인할 수 있다.

Fig. 5에는 Fig.4에서 표현이 잘되지 않는 저용량 구간에서의 처리 시간을 나타내었다. Fig. 5에 표현된 저용량 구간에서의 처리 시간을 살펴보면 20KByte 이하의 데이터들의 저장을 위한 처리 시간이 2~3초 정도 걸리는 반면, 25KByte 에서부터는 처리 시간이 8초로 증가한다는 것을 확인 할 수 있다. 본 실험을 통해서 블록체인은 합의 알고리즘과 암호학 기법을 사용하여 데이터 검증을 진행한 뒤 데이터를 저장하기 때문에 저장할 수 있는 데이터 용량 이한 정적이고 데이터 용량이 증가함에 따라서 처리 시간이 크게 증가하는 것이 확인되었다.

4.2.2. E2) Using distributed file system

본 실험에서는 분산파일시스템을 사용하였을 때 분산되어있는 노드들 간에 데이터 동기화하는데 걸리는 시간을 측정하기 위한 실험을 진행하였다. 일반적으로 데이터의 용량이 증가함에 따라 처리시간이 늘어나는 것은 당연하다. 그 외에도 데이터 동기화할 때 처리하는 시간 측정은 네트워크 상태 등 여러 환경적 변수가 있을 수 있다. 따라서 실험에서는 처리 시간보다는 확장성의 측정에 초점을 두고 실험을 진행하였다.

본 실험에서는 데이터의 용량이 증가함에 따라 처리 시간이 비례하여 증가한다면 확장성이 높다고 할 수 있다. 예를 들어 1MByte를 처리하는 데 1초가 걸리고 2MByte를 처리하는데 2초가 걸렸다면 용량 증가에 따른 추가 프로세스를 처리를 위한 추가적인 시간 소모가 없으므로 확장성이 높다고 평가할 수 있다. Fig. 6은 파일 용량에 따른 분산 파일 시스템 처리결과를 나타낸다.

CPTSCQ_2021_v26n12_159_f0006.png 이미지

Fig. 6. IPFS Synchronization Time based on Data Size.

Fig. 6을 보면 알 수 있듯이, 용량이 증가함에 따라서 동기화 하는 시간이 비례해서 늘어나는 것이 확인됨으로써, 분산 파일시스템은 파일 저장을 진행할 때 확장성이 매우 높은 것으로 확인이 되었다. 본 실험을 통해서 분산파일 시스템은 파일을 저장하는 데 있어서 블록체인과 달리 특정 데이터 검증을 진행하지 않기 때문에 블록체인과 비교하였을 때 우수한 확장성을 가진다는 것을 확인하였다.

4.2.3. E3) Using blockchain and distribution file system

앞선 실험의 결과 블록체인은 데이터에 대한 추가적인 검증 절차로 인해서 대용량 데이터를 저장을 위해서는 확장성이 매우 떨어지는 것으로 확인되었다. 또한, 분산파일 시스템의 경우 데이터의 검증 절차가 없기 때문에 파일 용량이 커지더라도 확장성이 크게 변화하지 않으나, 데이터의 신뢰성은 떨어진다고 할 수 있다. 본 장의 실험에서는 이러한 두 시스템의 장점을 융합하여 제3.3장에 정의된 BIM 데이터의 메타데이터를 블록체인에 저장하고, BIM 원본 데이터는 분산 파일 시스템에 저장하였을 때 처리시간을 확인하기 위한 실험을 진행하였으며, 해당 결과는 Fig. 7에 표현되어있다.

CPTSCQ_2021_v26n12_159_f0007.png 이미지

Fig. 7. Elapsed Time based on Data Size using Blockchain and Distribution File System

실험 결과 파일의 용량이 커지더라도 처리 속도가 안정적으로 증가하는 것으로 나타났다. 본 실험을 통해서 용량이 늘어남에 따라서 각 노드 간에 분산파일시스템에서 데이터를 동기화하기 위한 시간이 추가적으로 소모되어 처리 시간이 점차 늘어난 것으로 확인되었다. 하지만 블록체인의 경우 블록 단위로 데이터를 처리하기 때문에 용량에 관계없이 미리 설정해 놓은 블록 생성시간에 맞춰서 데이터가 처리 되었으며, 약 10KByte 용량에 해당되는 BIM 데이터의 메타 데이터만을 저장하기 때문에 데이터 처리 단계에서 어떠한 문제도 발생하지 않는 것을 확인하였다.

V. Conclusions

BIM 데이터는 토목/건축 설계 시 도면을 라이브러리화할 수 있어서 재사용하기 매우 용이하다는 장점이 있다. 그러나 BIM 데이터는 디지털 데이터로 저장되기 때문에 복제와 위변조가 쉬워 저작권 문제의 발생 가능성이 있다. 이를 해결하기 위한 방안으로는 BIM 데이터를 블록체인기술에 접목하여 활용하고자 하는 다양한 움직임들이 있다. 특히, 블록체인 기반의 NFT 기술은 디지털 데이터의 소유권을 관리하고 거래할 수 있는 기술로서, BIM 데이터를 일종의 디지털 저작권으로 보고 블록체인을 통해 공유 및 거래를 할 수 있다면, BIM 데이터의 재사용성을 높일 수 있을 뿐 아니라, 활발한 거래 활동을 통한 BIM 데이터의 가치가 높아질 수 있다.

BIM 데이터를 거래하기 위해서는 BIM 데이터를 안전하게 블록체인에 저장하여 무결성을 검증받을 수 있어야 한다. 그러나 데이터 특성상 BIM 데이터의 크기가 최대 수십 GByte에 육박하여 블록체인 상에 직접적으로 저장하는 것이 어렵다. 실험 결과 블록체인에는 20KByte이상의 용량을 저장하기 위해서는 많은 시간 소요가 걸리고 1MByte 이상의 데이터는 시간 초과로 인해 저장이 불가능하다. 이러한 한계를 극복하고자 블록체인과 분산파일시스템을 활용하여 BIM 데이터를 저장하는 방안을 제시하였다.

실험 결과 BIM 데이터 용량이 커져도 데이터의 동기화 시간이 일정하게 늘어나 확장성이 우수하다는 것을 확인할 수 있었고, 블록체인에 BIM의 주요 데이터를 저장하기 때문에 BIM 데이터의 무결성 검증에 활용할 수 있다는 장점이 있다. 또한, 논문에서 제안하는 동기화 모듈을 추가하여 네트워크를 구성하고 있는 노드가 BIM 데이터를 자동으로 동기화하여 보관되는 특정 노드에서 도면이 훼손되거나 지워져도 재동기화 할 수 있기 때문에 가용성을 높일 수 있었다.

본 연구를 기반으로 하여 향후 BIM 데이터를 공유하고 거래가 가능하기 위해서는 추가적인 연구가 필요하다. 먼저, BIM 데이터를 NFT로 연동하는 기술과 BIM 데이터를 거래하고 공유하는 기술에 대한 연구가 필요하다. 이를 해결하기 위해서는 BIM 데이터 거래 플랫폼을 시범적으로 운영하고 이를 활성화하는 방안이 마련되어야 한다. 두 번째는, 분산 파일 시스템으로 저장되는 BIM 원본 데이터의 외부 유출을 막을 수 있는 기법이 필요하다.

ACKNOWLEDGEMENT

This work is supported by the Korea Agency for Infrastructure Technology Advancement(KAIA) grant funded by the Ministry of Land, Infrastructure and Transport(Grant 21CTAP-C164355-01).

References

  1. D.Dalton, A.Senatore, A.Pugh, H.Lynch, 5 Blockchain Trends for 2020, https://www.fm-house.com/wp-content/ uploads/2020/07/5-Blockchain-Trends-for-2020.pdf
  2. K.R. Lakhani The Truth About Blockchain, https://www.researchgate.net/publication/341913793_The_Truth_About_Blockchain
  3. D.Berdik, S.Otoum, N.Schmidt, D.Porter, Y.Jarawenh "A Survey on Blockchain for Information Systems Management and Security", Computer Communications, Vol. 58, No. 1, pp.1-28, September, 2020. DOI: https://doi.org/10.1016/j.ipm.2020.102397.
  4. A.I.Sanka, M.Irfan, I.Huang, R.C.C.Cheung, "A Survey of breakthrough in blockchain technology: Adoptions, applications, challenges and future research", Information Processing and Management, Vol. 169, pp.179-201, December 2020. DOI: https://doi.org/10.1016/j.comcom.2020.12.028.
  5. S.Chevet, Blockchain Technology and Non-Fungible Tokens: Reshaping Value Chains in Creative Industries, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3212662
  6. M.Poljansek, Building Information Modelling (BIM) standardization, https://publications.jrc.ec.europa.eu/ repository/handle/JRC109656
  7. N.O.Nawari, S.Ravindran, "Blokchain Technology and BIM Process: Review and Potential Applications", Journal of Information Technology in Construction, Vol. 24, pp.209-238, May, 2019. DOI: https://www.itcon.org/2019/12
  8. M.Mathews, D.Robles, B.Bowe, BIM+Blockchain: A Solution to the Trust Problem in Collaboration?, CITA BIM Gathering 2017, Dublin, Ireland, pp.48-57, November, 2017. DOI:https://doi.org/10.21427/D73N5K
  9. A.S.Erri Pradeep, T.W.Yiu, R.Amor, Leveraging Blockchain Technology in a BIM Workflow: A Literature Review, International Conference on Smart Infrastructure and Construction 2019 (ICSIC), Cambridge, England, pp.371-380, July, 2019. DOI: https://doi.org/10.1680/icsic.64669.371
  10. T.Hepp, M.Sharinghousen, P.Ehret, A.Schoenhals, B.Gipp, "On-chain vs. off-chain storage for supply-and blockchain integration" it-Information Technology, Vol. 60, pp.283-291, Novemeber 24, 2018. DOI: https://doi.org/10.1515/itit-2018-0019
  11. Cloud/DX Group, KT Paperless service, https://enterprise.kt.com/pd/P_PD_BS_EP_001.do
  12. Samsung SDS, Nexledger, https://www.samsungsds.com/en/blockchain/blockchain.html
  13. LG CNS, Monachain, https://www.lgcns.com/en/Plat form/Blockchain-Monachain
  14. BigchainDB, BigchainDB 2.0 The Blockchain Database, https://www.bigchaindb.com/whitepaper/bigchaindb-whitepaper.pdf
  15. K.Lee, S.Kim, "Music Source and Signature Storage Method using Blockchain and Distributed Storage System", Journal of Broadcasting Engineering, Vol. 24, No. 6, pp.956-964, November, 2019. DOI: https://doi.org/10.5909/JBE.2019.24.6.956
  16. D.Kim, Y.Son, "A Study on the Blokcchain Based Digital Evidence Management System for Large Data Storage", The Journal of SMART Policing, Vol. 1, No. 1, pp.50-59, June, 2020.
  17. J.Benet, IPFS-Content Addressed, Versioned, P2P File System, https://arxiv.org/abs/1407.3561
  18. A.M.Antonopoulos, "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", 240-246, 2015.