블록체인 하면 생각나는 대표적인 특징 중 하나는 거래 불변성(Immutability)입니다. 참여자 간 합의(Consensus)하에 만들어진 거래들은 블록으로 만들어지고, 이 블록들은 체인 형태로 연결되며 참여자들에게 동일하게 전파됩니다. 이 체인 형태로 인하여 특정 거래를 위변조하려면, 해당 블록 이후 생성된 모든 참여자의 블록들을 빠른 시간 내에 위변조해야 하므로 사실상 위변조가 불가능합니다. 이렇게 블록체인은 거래와 거래에 포함된 데이터들에 대한 불변성을 제공합니다.
블록체인의 불변성은 데이터 관리에 어떤 도움을 줄 수 있을까요? 블록체인에 기록된 데이터는 위변조가 불가능하므로 참여자들은 블록체인에 기록된 데이터를 신뢰할 수 있습니다. 또한, 데이터 생성과 변경 내역 또한 블록체인에 기록되므로 데이터 이력 추적 관리가 가능하여 투명성 또한 보장받을 수 있습니다.
앞서 블록체인 기반 데이터 관리에 대한 장점을 소개해 드렸습니다. 하지만 불변성이 데이터 관리 측면에서 좋은 역할만 할까요? 해당 데이터의 생성 기록 및 변경 이력까지 제공함으로써 데이터 투명성에 대한 장점을 갖지만 개인정보처럼 잊혀질 권리(right to be forgotten)가 필요한 경우라면 어떨까요? 또한, 삭제가 불가능한 환경에서 공정 데이터처럼 사이즈가 큰 데이터들을 분산 원장으로 다루는 것은 효율적이라고 할 수 있을까요? 발생하는 거래량과 크기에 따라 비즈니스에 필요한 성능, 보안, 필요 저장소 크기 등의 요구사항 분석이 선행되어야 할 것입니다.[1]
거래 불변성은 블록체인을 다양한 비즈니스에 적용하는 데 양날의 검처럼 작용하기도 합니다. 즉, 블록체인 불변성은 데이터 신뢰성과 투명성을 제공하지만, 삭제가 필요한 데이터와 크기가 큰 데이터를 다루는 데 한계를 갖게 합니다. 블록체인의 한계를 극복하면서 장점을 활용할 수 있는 방법이 있을까요?
오프체인 개념 자체는 블록체인(On-Chain) 바깥에서 일어나는 모든 행위를 뜻하는 용어로 퍼블릭 블록체인(Public blockchain)에서 먼저 사용되기 시작하였습니다. 비트코인 등 코인 거래를 주목적으로 하는 블록체인 기술에서의 오프체인 거래 처리는 코인 거래 시 발생하는 수수료와 낮은 성능을 극복하기 위해, 외부(Off-Chain) 네트워크에서 상응하는 거래를 처리하고 최종 결과를 다시 온체인에 적용하는 기법입니다. 대표적으로 라이트닝 네트워크[2], 플라즈마[3] 등이 존재합니다.
이더리움의 등장 이후 많은 사람은 블록체인의 가능성을 디지털 자산화와 데이터 교환에서 찾기 시작하였습니다. 여기서 오프체인 거래는 블록체인(On-Chain) 이외의 외부 공간(Off-Chain)에 데이터를 기록하는 거래를 뜻합니다. 본 포스트에서는 코인 거래가 아닌 데이터 저장 및 교환을 위한 오프체인 거래를 다루도록 하겠습니다.
데이터 처리를 위한 오프체인 거래 기술은 주로 콘텐츠와 같은 대용량 데이터를 블록체인으로 관리하기 위해 시작되었습니다. 예를 들어, 퍼블릭 블록체인인 이더리움과 공개 분산 저장소인 IPFS(InterPlanetary File System)를 결합하여 콘텐츠 서비스에 대한 보상을 제공하는 프로젝트들이 존재합니다. 공개된 분산 저장소를 사용하기에 데이터 보안을 위해 암호화나 주소 은닉 기법들이 주로 연구되었지만, 접근 주소가 노출되면 누구든지 데이터에 접근 가능한 문제를 가지고 있습니다. 더욱이 유럽의 일반정보보호규정(GDPR)이나, 미국의 캘리포니아주 소비자 프라이버시법(CCPA) 등 세계적으로 개인정보보호법이 강화되면서 민감 정보를 블록체인에 업로드하고 모든 참여자가 익명화된 정보를 공유하는 것도 위험해졌습니다.
엔터프라이즈 블록체인에서는 기업 간 데이터 교환을 위해 데이터 프라이버시와 관련된 기술들이 발전하게 됩니다. 예를 들어, 기밀 데이터를 온체인에 기록하지 않고 참여 당사자 간에만 공유하는 기법들이 연구됩니다. 대표적으로 Hyperledger Fabric의 Private Data Collection, Privacy Manager를 이용한 Quorum의 기밀 거래 처리 기능 등이 있습니다. 하지만, 대용량 데이터 처리가 어렵고, 데이터 관리가 어려운 단점들을 갖습니다.[표 1]
기술 | 목적 및 효과 | 이슈 |
---|---|---|
Public Blockchain + Decentralized Storage |
- 블록체인 기반 대용량 데이터 처리 - 서비스에 대한 인센티브 제공 |
- 데이터 주소를 알면 데이터 접근 가능 - 개인정보 등 기밀정보 다루기 어려움 |
Hyperledger Fabric (Private Data Collections) |
- 채널 내 세부 참여자 간 기밀 정보 공유 - 정보 공유를 위한 추가 채널 생성 불필요 |
- 대용량 데이터 처리 불가 - 공유 대상 변경 시 체인코드 업데이트 필요 |
Quorum (Privacy Manager) |
- 참여자 간 기밀 거래 처리 - 온체인을 통해 당사자 확인 후 암호화 통신 |
- 데이터 전송 이후 이력추적 어려움 - 상대적으로 낮은 인지도와 활용도 |
기업 비즈니스에서는 데이터 공유 및 관리를 위한 다양한 요구사항이 존재합니다. 예를 들어, 설계, 제조, 검증을 위해 여러 참여자에게 필요한 공정 데이터가 누구로부터 생성되고, 어떻게 변경되고, 언제 공유되었는지에 대한 투명한 관리가 필요합니다. 또한, 개인정보와 같은 민감 정보들은 권한이 있는 사람들에게만 공유되어야 하며, 필요한 시점에 폐기를 보장하는 것 또한 중요합니다. 개인정보 활용부터 대용량 데이터 처리까지 기존 블록체인 오픈소스 기술만으로는 대응하기 어려운 요구사항들이 존재합니다.
삼성SDS의 오프체인 기술은 온체인에 데이터의 메타 데이터를 기록하고 외부 저장소에 실데이터를 기록하여, 개인정보와 대용량 데이터를 포함한 다양한 데이터에 대한 신뢰성과 투명성을 제공합니다. 메타 데이터는 데이터에 대한 접근 제어 정보와 권한 정책들을 포함하여 합의된 참여자들만 데이터를 접근할 수 있도록 합니다.
[그림 3]의 사용자 A(Group 1)는 참여자 B(Group B)에게 데이터를 전달하려 합니다. A는 데이터를 수신할 사용자 식별 값(B)과 함께 실데이터를 네트워크에 전송합니다. 이때, 메타 데이터(생성자 정보, 타임 스탬프, 공유할 대상 등)는 온체인에 기록되며 실데이터는 암호화되어 오프체인에 기록됩니다. 사용자 B(Group 2)는 온체인 정보에 근거하여 해당 데이터를 수신할 수 있습니다. 데이터는 전송 계층 보안(Transport Layer Security)을 통해 전달되며 Group 2에 저장될 때 다시 암호화됩니다. B는 데이터 수신 요청과 결과를 온체인에 서명하여 기록하기에 해당 데이터에 대해 투명한 공유 이력이 제공됩니다.
투명한 데이터 라이프사이클 관리
데이터의 생성부터 파기되는 시점까지 데이터 생명주기 이력을 온체인으로 투명하게 관리합니다. 데이터 생성, 변경, 공유, 파기 요청들은 관련자 서명과 함께 온체인에 함께 기록되므로 데이터에 대한 투명한 라이프 사이클 이력을 제공합니다. 또한, 개인정보처럼 일정 시간 이후에 파기되어야 하는 데이터라면, ‘부분 시간 합의 알고리즘’[4]을 통해 참여자들이 동일한 시간 대역을 사용하고 있음을 확인하고 안전하게 파기할 수 있습니다.
즉각적 데이터 권한 관리
A는 B에게 전달한 데이터에 대해 즉각적인 파기를 요청할 수 있습니다. 이 요청 또한 온체인에 기록되며, B 역시 파기 후에 수행 증명을 온체인에 기록합니다. 또한, A가 새로운 사용자 C에게 데이터를 전달하고자 하는 경우에도 스마트 컨트랙트 업그레이드나 수정 없이 소유권 변경 요청만으로 데이터에 대한 소유 권한을 자유롭게 변경할 수 있습니다.
Hybrid Off-Chain 저장소
실데이터 저장을 위한 오프체인 저장소로 다양한 저장소를 활용할 수 있습니다. 예를 들어, [그림 3]에서 Group 1은 데이터베이스를, Group 2는 파일 시스템을 오프체인 저장소로 활용할 수 있습니다. 참여자들은 기존에 활용하고 있던 시스템을 오프체인 저장소로 활용할 수 있으며, 데이터 크기나 종류별로 효율적으로 처리하기 위해 이종의 저장소를 동시에 활용할 수도 있습니다.[5]
오프체인 기술은 기존 블록체인에서 다루기 어려웠던 개인정보나 대용량 데이터 처리를 가능하게 하여 다양한 데이터 관리에 대해 신뢰성과 투명성을 제공합니다. 의료, 금융, 제조 등 다수 참여자 간 투명한 데이터 공유가 필요하나 데이터 특성 때문에 블록체인 적용이 쉽지 않았던 분야에도, 오프체인 기술을 활용하여 블록체인 장점을 제공할 수 있습니다.
# References
[1] IBM Storage, “Why new off-chain storage is required for blockchains,” Document version 4.1, 2018.
[2] Joseph et al., “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments,” Draft, 2016.
[3] Joseph et al., “Plasma: Scalable Autonomous Smart Contracts,” Working Draft, 2017.
[4] Heo et at., “Method and Apparatus for Managing Data based on Blockchain,” KR Patent 10-2020-0059452, filed May 19, 2020.
[5] Lee et al., “Blockchain Data Recording Method and Apparatus Thereof,” KR Patent 10-2020-0057842, filed May 14, 2020.
▶ 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶ 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
삼성SDS 블록체인연구Lab
이규상 Lab장은 한국과학기술원에서 박사학위(네트워크)를 취득하고, NASA Ames Research Center에서 분산 시스템 연구개발을 진행하였습니다. 현재 삼성SDS 블록체인연구Lab에서 오프체인 거래처리, 분산신원 인증기술, 블록체인 기술융합에 대한 연구개발을 주도하고 있습니다.