본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

IT Trend

신뢰의 인터넷을 가능하게 하는 기술 1편

2018.05.15

블록체인과 비트코인은 서로 다른 종류의 개념입니다. 블록체인은 탈중앙형 애플리케이션을 가능하게 하는 기술이며, 비트코인은 블록체인으로 구현된 탈중앙형 애플리케이션의 하나입니다. 블록체인은 비트코인이 탄생하는 과정에서 필요에 의해 개발된 기술이지만, 비트코인과는 독자적으로 기술적 발전을 거듭하면서 비트코인을 비롯한 암호화폐의 구현뿐만 아니라 다양한 애플리케이션을 구현할 수 있는 기술로 자리 잡고 있습니다.

비트코인은 암호화폐입니다. 암호화폐는 탈중앙형 애플리케이션의 일종으로 화폐로서 가치를 가지도록 설계되어 있는데요. 중앙은행 없이 화폐가 발행되고 유통되며, 총 발행량을 제한함으로써 자연스러운 인플레이션을 유도하며 화폐의 가치를 유지합니다. 그러나 최근 광풍으로 표현할 수밖에 없는 비트코인 열풍은 탈중앙형 애플리케이션의 가치에 대한 관심이 아니라 비트코인에 투기수요가 유입되면서 발생된 비정상적인 현상입니다.

이는 17세기 네덜란드에서 희귀한 튤립에 투기수요가 몰려 튤립 가격이 비정상적으로 치솟았던 튤립 파동에 비견할 수 있는데요. 당시 튤립 파동은 튤립 가격이 지나치게 높아지게 되자 구매자가 사라졌고 이는 가격의 폭락으로 이어진 바 있습니다. 비트코인이 튤립 파동과 동일한 결과에 이를지 다른 결과를 가져올지는 알 수는 없지만 지금의 비트코인에 대한 대중의 관심은 비트코인이 가지는 본질적 가치에 비해 지나치게 높다는 우려가 큰 상황입니다.

그러나 블록체인은 신뢰를 제공하는 기술입니다. 탈중앙형 애플리케이션을 가능하게 하는 기술인데요. 별도의 중개자가 없이도 서로 신뢰하지 않는 당사자들 간에 안전한 거래를 가능하게 합니다.

인터넷 등장 이후 중앙 집중형이 아닌 방법으로 신뢰를 확보하기 위한 다양한 시도 중 실증적으로 문제의 해결이 증명된 기술입니다. 인터넷은 원격지의 주체들이 정보를 공유하고 확산하기 위한 기반을 제공해 주었습니다. 그러나 인터넷으로 인해 정보 공유가 확산되면서 정보 자체에 대한 신뢰 여부가 주요 문제로 대두되기 시작했습니다.

‘원격지의 상대가 제공하는 정보를 어떻게 신뢰할 수 있는가?’ ‘제공되는 정보에 기반해 거래를 진행하였을 때 안전한 거래 처리가 담보될 수 있는가?’ 이 문제를 해결하기 위해 자연스럽게 별도의 중앙 집중 기관을 설립하고 이곳에 정보를 집중하고 검증하며 위변조를 방지하는 방법으로 해결해 왔습니다.

블록체인은 별도의 중앙 집중기관 없이도 원본과 동일한 정보가 전달됨을 보장하고, 전달 과정에서 위변조를 방지할 수 있으며, 투명성을 제공합니다.

기술적 관점에서 엄밀하게 정의하면 블록체인은 데이터 모델입니다. 데이터를 표현하고 저장하며 갱신하는 것에 대한 방법인데요. 탈중앙형 애플리케이션에서는 블록체인을 통해 ① 거래 기록을 공동으로 보관하고, ② 합의를 통해 동일한 거래 기록을 유지하며, ③ 합의된 거래 기록의 위변조를 방지하여 중앙기관 없이 정보의 무결성을 보장하여 신뢰를 제공합니다.

일반적인 중앙 집중형 환경에서는 거래와 같은 중요 정보는 외부의 접근이 제한되고 보안이 강화된 폐쇄된 환경에서 하나의 기록으로 관리됩니다. 백업을 위한 목적 이외에는 정보의 중복 관리 없이 단일 원장으로 관리되는 것입니다.

그러나 블록체인에서는 정보를 단일 원장이 아닌 복수의 동일한 원장을 네트워크의 참여자가 공동으로 관리하는 공유 원장 방식으로 보관합니다. 즉 데이터의 이용자가 모두 자신의 원장을 가지고 있으며, 자신의 원장 기록을 기반으로 거래를 처리합니다.

단일 원장은 데이터 훼손 여부를 확인하기도 어렵고, 훼손이 발생하면 복구가 어렵기 때문에 백업 등의 별도의 보완적인 수단을 통해 안전하게 데이터를 보관합니다. 그러나 블록체인과 같은 탈중앙형 방식은 동일한 데이터가 다수 존재하기 때문에 데이터 훼손 여부를 쉽게 확인할 수 있고 필요한 경우 복원도 가능한데요. 즉 데이터의 무결성과 가용성을 높이는 방법으로 신뢰를 제공합니다.

공유 원장

데이터의 무결성과 가용성을 확보하기 위해 특정 시점의 데이터를 공동으로 보관하기로 약속하고 동일한 원장의 보관을 시작하더라도 이후 발생하는 데이터 역시 모든 공유 원장에 동일하게 반영됨이 보장되어야 합니다. 특정 시점의 원장을 동일하게 복제해서 보관하더라도 이후 발생하는 데이터가 모든 공유 원장에 동일하게 반영되도록 통제하지 못한다면 원장의 무결성을 담보할 수 없습니다.

단일 원장에서는 데이터를 기록하는 과정에서의 무결성을 담보하는 것만으로도 원장의 무결성을 확보하기에 충분합니다. 그러나 공유 원장에서는 하나의 공유 원장의 데이터 기록 과정의 무결성도 보장해야 하지만, 모든 공유 원장에 동일한 데이터가 기록되는 과정에서도 무결성을 담보해야 합니다. 특정 공유 원장에 기록이 되면 다른 공유 원장에서도 기록이 되어야 하고, 특정 공유 원장에서 기록이 거부되면 다른 공유 원장에서도 기록이 거부되어야 하는데요. 이를 위해 합의 알고리즘이 활용됩니다.

합의 알고리즘은 분산 컴퓨팅 기술에서 데이터 복제 과정에서 무결성을 확보하기 위해 적용되는 기술이었습니다. 이를 블록체인에서 공유 원장 간의 동일한 내용을 유지하기 위해 활용하는 것인데요. 다양한 블록체인 기술에서 분산 원장 네트워크의 구성 방식에 따라 분산컴퓨팅의 합의 알고리즘이 그대로 이용되기도 하고 전혀 새로운 형태의 합의 알고리즘을 개발하여 적용되기도 합니다.

비트코인은 전체 공유 원장의 수를 알지 못하기 때문에 분산컴퓨팅의 합의 알고리즘이 아닌 작업증명이라는 새로운 합의 알고리즘을 적용하고 있습니다. 비트코인의 작업증명은 의도적으로 반복적인 해시 계산을 위한 컴퓨팅 자원 투입을 요구하여 공유 원장의 무결성 침해로 인해 얻는 이익보다는 자원의 투입을 더 많이 요구하는 방식으로 공격을 방어합니다.

합의

거래 기록을 공동으로 보관하며 합의 알고리즘을 통해 동일한 거래 기록이 유지된 분산 원장은 외부에서의 임의적인 변경을 방지하거나 임의변경을 쉽게 탐지할 수 있는 형태로 기록이 되어야 하는데요. 블록체인은 거래 기록을 저장하는 방식으로 임의의 거래를 모아 블록을 생성하고 블록을 체인 형태로 연결하는 구조로 분산 원장을 기록합니다. 블록체인이라는 명칭은 이러한 저장 방식에 기인하고 있습니다. 

블록의 생성과 블록체인의 생성

블록은 개별 거래 기록의 모음과 거래 기록들에 대한 메타정보로 구성됩니다. 메타정보에는 거래 기록의 무결성을 검증할 수 있는 해시값, 해당 블록에 대한 정보, 그리고 이전 블록의 해시값 등으로 구성됩니다. 이전 정보의 해시값은 각 블록이 체인을 이룰 수 있게 하는 중요한 정보입니다.

하나의 블록에서 거래 기록이 수정되면 블록의 메타정보에 있는 거래 기록의 해시값으로 인해 수정을 탐지할 수 있습니다. 메타정보의 해시값조차도 수정된다면 블록의 해시값이 수정되어 이후 블록이 가지고 있는 해시값과 다른 값을 가집니다. 이는 체인이 깨어짐을 의미하는데요. 체인 정보를 유지하기 위해서는 수정하고자 하는 블록뿐 만 아니라 이후로 연결된 모든 블록을 수정해야 합니다.

이 작업은 하나의 공유 원장에서만 성공해서는 안되며 합의 알고리즘을 통해 동일하게 유지되는 네트워크의 전체 공유 원장에서의 수정을 요구하게 됩니다. 따라서 블록체인을 위변조하는 것은 현실적으로 불가능합니다.

위변조 방지

블록체인 기술의 유형

블록체인 기술은 참여자를 한정하지 않는 개방형 블록체인 기술과 기업 및 기관을 대상으로 하는 허가형 블록체인 기술로 구분할 수 있습니다. 블록체인은 처음 암호화폐를 위한 개방형 기술로 등장했습니다. 중앙은행 없이 암호화폐를 발행하고 유통하기 위한 목적으로 누구나 참여할 수 있는 환경에 기반을 두고 있었습니다.

그러나 기업 및 기관에서 블록체인을 이용하여 서비스를 구현하는 과정에서 거래 참여자를 제한할 필요성이 대두되면서 허가형 블록체인으로 기술적인 분화가 발생했습니다.

블록체인 기술의 유형

● 개방형 블록체인
개방형 블록체인 기술은 불특정 다수를 대상으로 합니다. 개방형 블록체인 기술을 이용한 응용 서비스는 대상을 사전에 특정하지 않으며 누구나 자유롭게 참여하거나 탈퇴할 수 있습니다. 따라서 일정 규모 이상의 서비스 네트워크의 유지가 중요한 문제가 되는데요. 이를 해결하기 위해 네트워크 유지에 기여하는 참여자에게 암호화폐를 보상으로 제공하는 방식을 취하고 있습니다.

또한 악의적 참여자로 인한 서비스 교란을 방지하기 위해 거래 처리의 속도보다는 거래의 안정적인 처리에 집중하고 있습니다. 모든 거래 정보가 모든 참여자에게 공유되고 거래가 확정되기 위해서 일정량 이상의 자원을 투입하도록 요구하는 방법(예: 비트코인의 작업 증명) 등이 적용되고 있습니다.

개방형 블록체인 기술은 중개자가 완전히 배제된 순수한 탈중앙형 서비스를 구현하기 위해 활용됩니다. 개인이 대상이 될 수도 있고 IoT 디바이스가 대상이 될 수도 있는데요. 대상이 무엇이건 중재자 없이 참여자 간 직접 거래를 수행하는 방식의 서비스 모델이 될 것입니다. 서비스 제공자 관점에서는 탈중앙형 서비스 모델은 중개자를 통한 수익을 확보할 수 없기 때문에 새로운 유형의 수익모델이 필요한데요.

일반적으로 탈중앙형 서비스 모델 구현을 위해 암호화폐를 기반으로 활용하고, 서비스 네트워크가 일정 규모를 넘어서 대규모 생태계를 구성하게 되면, 해당 서비스의 기반이 되는 암호화폐의 가치 상승을 통해 주요 수익을 얻는 방법을 취하고 있습니다.

● 허가형 블록체인
허가형 블록체인 기술은 기업 간의 거래를 대상으로 합니다. 기업 간의 거래는 거래 상대가 특정되어야 하며 거래 참여를 위해 승인이 필요한데요. 불특정 다수를 대상으로 하는 개방형 블록체인 기술과는 다른 접근이 필요합니다.

승인에 따라 네트워크 참여가 결정되기 때문에 네트워크 규모 유지를 위한 암호화폐와 같은 유인책이 필요하지 않으며, 상황에 따라 필요한 경우 서비스로 구현하면 되는데요. 허가형 블록체인 기술은 상대적으로 거래를 빠르게 처리하며 거래 참여자가 증가하더라도 속도 저하가 발생하지 않도록 아키텍처를 구성합니다. 또한 모든 참여자가 모든 거래를 공유하는 개방형 블록체인과는 달리 프라이버시를 보장하기 위해 거래 내역을 공유하는 대상을 제한할 수 있습니다.

허가형 블록체인 기술은 네트워크 참여를 승인하는 역할, 확장성 확보를 위해 거래 검증 전담 역할 등 일부 중앙 집중적인 특성을 활용합니다. 그러나 이는 IT 관점에서 처리 효율성을 위한 목적이지 거래 자체를 검증하기 위한 목적이 아니기 때문에 블록체인의 탈중앙형의 특성은 그대로 유지된다고 볼 수 있습니다.

허가형 블록체인은 단일 기업 내부에서 적용되기보다는 물류나 무역 등 이해를 달리하는 기업들 간에 제3자에 의존하지 않고 거래를 처리하기 위한 인프라 관점에서 접근해야 합니다.

이어서 다음 시간에는 블록체인 기술의 진화와 작용 유형에 대해 알아보겠습니다.

글 l LG CNS 정보기술연구소

챗봇과 대화를 할 수 있어요