블로코, ‘엔터프라이즈 블록체인 도입 시 고려사항’ 발표
2019년 11월 22일
트위터로 보내기페이스북으로 보내기구글플러스로 보내기

6b24c7357417f937668d4ce2e629ba1a_1574363324_0272.jpg


블록체인 기술 전문 기업인 블로코(대표 김원범)는 ‘엔터프라이즈 블록체인 도입 시 고려사항’을 발표했다.

 

엔터프라이즈 블록체인은 누구나 참여가 가능한 암호화폐 시장(퍼블릭 블록체인)과는 다르게 기업 특성이 반영된 블록체인 네트워크가 필요하다. 의도를 파악할 수 없는 불특정 다수가 참여하는 블록체인과 보안성, 안전성이 최우선인 기업용 블록체인은 설계 구조부터 합의 알고리즘까지 거의 모든 레벨에서 다르게 설계될 수밖에 없기 때문이다. 이는 오픈소스를 기업에서 바로 가져다 쓰지 못하는 이유와 같다.

 

블로코가 제시한 기업에서 엔터프라이즈 블록체인을 도입할 때에 고려해야 할 사항으로는 ▲처리 성능. ▲정보 보안성, ▲스마트컨트랙트 보안 취약점 관리, ▲데이터 삭제 문제, ▲손쉬운 구축과 비즈니스 확장 시 용이성, ▲운영 및 관리 편리성, ▲개발 편의성, ▲기술 및 교육 지원 등으로 주요 내용은 다음과 같다.

 

1. 처리 성능: 비즈니스를 신속히 처리할 수 있는 성능을 보장하는가? - 블록체인에서는 ‘확정성(Finality)’ 라는 거래의 완결성이 중요하다. 많은 노드가 트랜잭션을 컨펌(Confirm)하고 블록을 생성하는 작업증명(PoW), PoS(지분증명)와 같은 합의알고리즘을 채용하는 경우에는 포크(fork; 하나의 암호화폐가 둘로 쪼개짐)나 재구성(Reorganization) 발생 가능성이 높기 때문에 트랜잭션을 처리하는 과정에서 데이터 유실의 위험이 있다. 그러므로 특정 또는 단일 노드가 많은 양의 트랜잭션을 신속히 처리하여 거래의 완결성을 보장하는 합의(Consensus) 알고리즘을 선택해야 한다. 허가형 블록체인은 노드를 구성하고 운영하는 참여자의 주체가 동일한 조직이므로 블록 생성에 대한 보상은 필요 없기 때문에 암호화폐 발행보다 트랜잭션을 신속히 처리할 수 있는 성능에 초점을 맞춰야 한다.

 

2. 정보 보안성: 권한 관리나 키 관리 등의 안전을 위해 보안성을 확보했나? - 먼저, 참여자 노드 및 사용자의 ‘권한 관리’가 가능해야 한다. 즉, 허가된 노드만 블록체인 네트워크에 참여할 수 있고, 허가된 사용자만 블록체인 네트워크 내에서 트랜잭션을 생성하고 조회할 수 있어야 한다. 허가형 블록체인은 트랜잭션의 쓰기, 읽기, 전송에 대한 참여자(노드 및 사용자)가 사전에 정의되어야 한다.

 

또한, 통신구간 암호화를 통해 컨소시엄 블록체인 네트워크를 형성할 경우, 각기 다른 네트워크에 구성된 노드를 연결해야 하며, 데이터를 암호화하여 트랜잭션으로 변환하는 게 안전하다. 개인키는 암호화된 파일 형태로 지갑 외에 다른 곳에 보관하기도 하는데 몇몇 기업에서는 KMS(키 관리 시스템, Key Management System)와의 연계는 물론, 보안지갑과 HSM 기능이 통합된 블록체인 플랫폼 도입을 고려하고 있다.

 

특히, 최근 전자서명법에 명시된 공인인증서라는 명칭이 사라지면서 그만큼 개인의 전자서명을 위한 키 관리가 중요해지고 있다 (공인인증서에서 개인키는 ActiveX로 설치된 비밀공간에 보관). 따라서 서비스 네트워크 영역 외의 콜드 월렛(Cold Wallet)에 저장하거나 멀티 시그니처(Multi-Signature)나 멀티 팩터(Multi-Factor)를 통해 인증하는 방안도 고려해볼 수 있다.

 

3. 스마트컨트랙트 보안 취약점 관리: 스마트컨트랙트에 대한 보안 취약점은 고려하였는가? - 2016년에 발생했던 이더리움 해킹 사건인 DAO(Decentralized Autonomous Organizations, 탈중앙화 분산 자율 조직) 해킹 사태에서 보았던 것처럼 스마트컨트랙트(Smart Contract, 조건에 부합하면 사람의 개입 없이 계약이 이행되는 디지털 자동화 계약 방식)에 대한 보안성을 확보하지 않으면 기업의 중요한 정보와 자산이 유출되어 큰 위기가 된다. 스마트컨트랙트로 개발한 후 보안성 검수를 받는 것이 필수이다. 따라서 비즈니스 로직을 스마트컨트랙트 코드로 구현하는 것과 함께 디버깅과 보안 점검도 반드시 체크해야 한다.

 

특히 스마트컨트랙트에서 코드는 컴파일된 바이트 코드로 트랜잭션에 포함하여 블록체인에 저장할 때 이 과정에서 블록체인 내에 있는 스마트컨트랙트를 동작하는 특정 엔진(이더리움: EVM)을 통해 함수가 실행되고 그 실행 결과가 상태(State)로 저장되는데 이를 별도로 보관하고 있는데, 이때 결과에 대한 상태값은 암호화하여 저장해야 한다.

 

4. 데이터 삭제 문제: 블록 및 스마트컨트랙트 내 데이터 삭제 관련 운영 정책은 무엇인가? - ‘블록체인에서 어떻게 데이터를 삭제할 수 있는가?’에 대해 의문이 생길 수 있다. 블록체인은 원천적으로 데이터 삭제가 불가한 것이 특징이다. 개인정보는 삭제할 수 있는 권리, 즉 ‘잊혀질 권리'가 존재한다. 개인정보보호법과 상충된 지점이다. 블록체인에 올라가는 암호화된 정보와 여러 데이터로부터 직∙간접적으로 추론이 가능한 것도 역시 개인정보다. 따라서 현재는 개인정보와 관련된 데이터는 블록체인에 넣지 않는 추세지만 블록체인의 활용이 크게 제한되어 법 개정의 목소리가 높아지고 있다.

 

개인정보를 암호화하여 블록체인에 저장하고 개인정보의 삭제가 필요할 경우 암호화 키(Key)만 삭제하여 개인정보에 접근할 수 없도록 하는 방법도 있지만, 원본 데이터가 삭제되지 않는다는 주장도 있어 조심스럽게 접근해야 한다. 최근에는 특정 주기를 설정하여 트랜잭션 내의 전체 데이터만 삭제하고 블록체인 네트워크에는 영향을 미치지 않는 블록체인 플랫폼도 출시되고 있다.

 

5. 손쉬운 구축과 확장성:  손쉬운 구축과 비즈니스 확장성에 용이한가? - 블록체인은 대부분 오픈소스로 개발하여 배포하고 있다. 퍼블릭 블록체인은 메인넷(Main-Network: 블록체인을 구축할 자체 플랫폼)이라는 인터넷망의 블록체인 네트워크를 구축해서 많은 서비스가 메인넷 위에서 운영하기를 기대하고 있다. 하지만 오픈소스로 개발하다 보니 기업에서는 도입하기 전에 많은 시간과 인력이 필요하다. 또 기술을 익히고 각자의 비즈니스 환경에 맞는 블록체인에 대해 연구해야 한다. 이러한 블록체인 플랫폼은 빠른 블록체인 네트워크 구성 및 확장할 수 있는 설치/배포 툴이면서, 다양한 비즈니스 도입 및 확장을 위한 기존 레거시 시스템과의 호환성 제공, 블록체인 네트워크에 참여하는 신규 참여자와의 간단한 노드 연계, 기존 온프레미스(내부 시스템)는 물론 클라우드 기반 시스템에 이르기까지 다양한 인프라 환경을 지원해야 한다.

 

조직에서 프라이빗 블록체인을 구성하거나 외부 조직과 컨소시엄 블록체인을 형성할 때 노드를 추가하고 설치하는 작업은 번거롭고 시간이 많이 소모될 수밖에 없다. 따라서 손쉬운 설치/배포 툴이 있는지, 다양한 인프라 환경에서 기존의 레거시 시스템과 쉽게 호환되어 노드를 구성할 수 있는지 등을 고려해야 하고, 운영/시스템/네트워크/보안 등 유관 부서와의 협업도 사전에 계획을 세워 진행해야 한다. 만약, 해당 블록체인 플랫폼에 대한 전문 엔지니어가 지원된다면, 사전 교육과 기술지원을 요청하는 등 적극적으로 활용하는 것이 좋다.

 

6. 운영 및 관리 편리성: 운영 및 관리가 편리한 모니터링 툴 및 백업복구 기능을 제공하는가? - 대부분의 블록체인이 트랜잭션 익스플로러(Explore)를 제공한다. 하지만 트랜잭션 및 주소(Address)의 단순조회 기능이 대부분이므로 조직에서 사용하기엔 무리가 있다. 따라서 모니터링 툴을 제공하거나 조직 내 통합관제시스템(EMS)과 연계가 가능한지 확인할 필요가 있다. 최근에는 오픈소스 기반의 모니터링 툴을 활용해서 자체적으로 개발하기도 한다.

 

또한 블록체인도 기존의 IT서비스와 마찬가지로 서버 네트워크를 기반으로 운영된다. 24시간 모니터링하여 실시간으로 감지하고 오류나 장애에 즉각 대처할 수 있어야 한다. 초기 구축만큼 중요한 것이 운영이고 서비스 안정성뿐만 아니라 기업의 수익과도 직결될 수 있기 때문에 다음의 사항도 고려해야 한다.

 

이와 함께 블록체인 시스템의 안정성을 높이기 위해 스냅샷과 같은 기능이 있다면 주기적으로 데이터를 백업한 후 빠르게 복구할 수 있고 특정 노드를 중지한 후 모든 데이터를 이관하는 방법도 있다. 그러나 자칫 데이터 손실의 위험이 있기 때문에 관련 툴(Tool)이 있는지, 전문 엔지니어의 지원이 가능한지 확인이 필요하다.

 

7. 개발 편의성: 자사 블록체인 시스템 적용 환경에 맞춘 개발 편의성을 제공하는가? - 블록체인을 기업 환경에 맞게 구축하고 실제 서비스를 제공하기 위해서는 개발이 꼭 필요하다. 개발자가 빠르게 이해하고 습득할 수 있는 개발 환경을 제공하고 구현할 때 다양한 편의성을 제공하는지 확인할 필요가 있다.

 

기업이 블록체인 도입을 하는 이유는 스마트컨트랙트를 활용하기 위해서다. 하지만 스마트컨트랙트의 개발언어는 기존의 C, JAVA와 같이 범용 언어가 아니라 각 블록체인 특성에 따라 새로운 언어로 이루어져 있다. 일반적인 트랜잭션만 발생시켜 전송하는 경우에는 JAVA, Javascript, Python 등의 언어를 사용하기도 한다. 블록체인은 분산원장기술과 접목된 새로운 기술이다. 2009년에 비트코인이 개발되고 약 10년의 시간이 지났지만 블록체인 기술을 연구하고 확장하기 시작한 것은 최근의 일이다. 대부분 오픈소스로 개발되어 백서와 코드(또는 라이브러리) 형태로 제공되기 때문에 실질적으로 블록체인을 경험하고 연구하거나 기업 비즈니스에 도입하기 위해서는 개발자와 엔지니어가 반드시 필요하다.

 

8. 기술 및 교육 지원: 블록체인 기술 습득 및 구축을 위한 교육 지원이 가능한가? - 기업이 블록체인을 도입할 때 가장 큰 애로사항은 새로운 영역인 블록체인 관련 기술 습득과 구축이 어렵다는 점이다. 이를 위해 블록체인 기술 및 자체 플랫폼에 대한 기본 교육 지원을 받을 수 있어야 한다. 이를 통해 안정적인 블록체인 시스템을 운영할 수 있는 코드레벨에서 지원 가능한 개발자(DevOps), 기업의 규정 및 각 표준을 준수할 수 있는 네트워크/시스템 엔지니어, 구축 후 유지보수가 가능한 기술지원 담당자 등을 확보해야 한다.

 

블로코 최지원 마케팅팀장은 "조직에 적합한 엔터프라이즈 블록체인을 도입하려면, 기업 환경에 대한 철저한 분석과 함께 적용 가능한 기술들을 꼼꼼히 살펴보아야 한다. 신기술인 블록체인은 전문가와 함께 시작한다면 향후 리스크를 최소화할 수 있으며, 블로코가 최적의 파트너다"라고 말했다.

그래픽 / 영상
많이 본 뉴스