블록체인은 분산원장 기술(DLT)를 이용한 거대한 데이터베이스이자 클라우드 컴퓨터입니다. 블록체인을 통해 제3의 미들맨 없이 거래가 가능하고, 미리 짜여진 스마트 컨트랙트로 합리적인 거래가 가능하게 되었습니다. 모든 데이터들이 연결되면서 보안성을 높이는 탈중앙화가 구현되기 시작합니다.
하지만 블록체인 이론을 현실로 옮기는 과정에서 다양한 난관에 부딪히게 됩니다. 블록체인에서 최소한 구현되어야 하는 항목은 확장성(Scalability), 탈중앙화(Decentralization), 보안(Security) 3가지 입니다. 현실에서 3가지 항목을 모두 갖춘다는 건 굉장히 힘든 일입니다.
비트코인이나 이더리움을 볼까요? 퍼블릭 블록체인이면서 탈중앙화를 시도한 대표적인 블록체인 입니다. 보안 측면에서는 우수한 성능을 가지게 되었지만 높은 확장성을 가졌다고 볼 수는 없습니다. 이런 문제로 블록체인 네트워크가 기존의 서비스들을 대체하기가 힘든게 사실입니다.
블록체인에서 확장성, 탈중앙화, 보안 3가지 측면에서 우수한 성능을 보일 수 없다는 현실적인 문제가 바로 블록체인 트릴레마 입니다. 비트코인이나 이더리움 뿐만 아니라 다양한 알트코인이 나오면서 트릴레마를 해결하기 위한 시도가 있었습니다.
블록체인 트릴레마
블록체인 기술이 사용될 수 있는 분야는 굉장히 다양합니다. 금융, 물류, SNS, 온라인 상거래, 인증/보안 등 실생활에서 거의 모든 분야에 적용가능한 기술입니다. 하지만 비트코인이 출시된 2009년 이후 13년의 시간이 흘렀지만 아직까지 블록체인을 체감하기는 힘든게 사실입니다. 그 이유는 무엇일까요?
블록체인에서 궁극적으로 해결되어야 하는 문제가 남아있기 때문입니다. 바로 블록체인 트릴레마(Blockchain Trillemma) 문제입니다. 이 문제는 1980년대 발표된 CAP 정리에 기초하고 있습니다. CAP 정리에서는 분산형 데이터 저장소에서는 일관성, 가용성, 파티션 내성 3가지 항목 중 2가지만 동시에 보장할 수 있다고 정리했습니다. 블록체인에서는 확장성(Scalability), 보안성(Security), 탈중앙성(Decentralization) 중 하나는 무조건 희생되어야 한다는 것입니다.
확장성(Scalability) | 네트워크 상 사용자가 늘어나도 유연하게 대응할 수 있는 정도 입니다. 블록체인 확장성이 높다는 것은 사용자가 많아져 많은 트랜잭션 요청이 들어와도 무리 없이 처리 가능한 것입니다. 즉 TPS(Transaction Per Second)가 높다고 할 있습니다. |
보안성(Security) | 합당한 권한을 가진 사용자만 블록체인 내 데이터에 접근할 수 있도록 제한하는 장치입니다. 악의적인 노드로 부터 블록체인을 보호합니다. |
탈중앙성(Decentralization) | 중앙집중식 방식에서 발전된 형태입니다. 노드들로 구성된 네트워크에서 자율적으로 운영되는 형태의 컴퓨터 또는 데이터베이스입니다. 기존 웹서비스의 경우 클라이언트~서버 패턴이었지만 블록체인은 독립된 노드들이 자율적으로 연결된 P2P 방식으로 동작하는 시스템입니다. |
비트코인을 예로 들면, 탈중앙화되어 있어 높은 보안성을 가지고 있습니다. 비트코인 네트워크를 해킹하기 위해서는 51% Attack을 가해야 하지만 해시 파워를 감당하기에는 천문학적인 돈이 필요합니다. 보안성이 높다고 할 수 있습니다만 비트코인은 초당 7개의 트랜잭션만 처리할 수 있습니다. 7 TPS라고 합니다.
비트코인과는 정반대로 리눅스 재단과 IBM이 참여해 운영중인 하이퍼레져 퍼블릭 등의 엔터프라이즈 블록체인은 보안성이 높고 많은 트랜잭션을 처리할 수 있지만 제한된 수의 노드로 구성된 중앙 집중형태를 띄고 있습니다.
비트코인 처럼 광범위하게 탈중앙화되어 높은 보안성을 가짐과 동시에 하이퍼레져 패브릭과 같이 대규모 트랜잭션을 처리할 수 있는 블록체인은 존재하지 않는 걸까요? 이 문제를 해결하기 위해 레이어1, 레이어2 솔루션이 등장했고 연구중에 있습니다.
트릴레마 케이스
블록체인의 트릴레마는 쉽게 말해 확장성(일 잘하는 것), 보안성(보안 유지), 탈중앙성(소통이 잘됨)으로 생각해볼 수 있습니다. 실제 업무를 하는 직장에 비유해서 블록체인 트릴레마 케이스를 알아봅니다. 각 상황에서 한가지는 희생되게 됩니다.
어떤 조직에서 비밀스러운 프로젝트를 진행하고 있습니다. 보안을 유지하면서 성공적으로 프로젝트를 완수하고자 합니다. 하지만 프로젝트가 성공적으로 완료되기는 어려움이 있습니다.
① 확장성 실패 케이스
팀워크가 굉장히 좋은 상황을 가정합니다. 결정을 내릴 때는 팀원들이 투표를 통해 안건을 상정하고 의결하고 있습니다. 모든 자료들을 클라우드 오피스에 암호화해서 업로드하면서 자료를 관리하고 있습니다. 탈중앙성과 보안성을 확보했다고 할 수 있습니다.
하지만 1개의 의사결정을 내릴 때 문서보안, 상정~투표~의결의 과정을 거치면서 프로젝트의 속도는 느려지게 됩니다. 기한 내에 프로젝트를 완수해야 하는 상황에서 프로젝트는 실패하게 됩니다. 이 상황은 확장성이 실패했다고 할 수 있습니다.
② 탈중앙성 실패 케이스
주어진 기한 내에 빠르게 프로젝트를 완수하기 위해서는 에이스 팀원이 필요합니다. 혼자 모든 연구를 하고 결정을 내리고 일을 잘 처리하고 있습니다. 혼자만 보안성을 유지하면 되기에 확장성과 보안성이 확보된다고 할 수 있습니다. 하지만 팀원들은 저 사람이 뭘 하고 있는지, 진척도는 어떻게 되는지 알지 못합니다. 결국 탈중앙성은 희생되게 됩니다.
③ 보안 실패 케이스
탈중앙성을 확보하기 위해 많은 수의 팀원들이 클라우드 오피스에 문서 내용을 올리고 간단한 합의 시스템을 마련해서 프로젝트의 진척도가 눈에 띄게 좋아졌습니다. 확장성과 탈중앙성을 확보했다고 할 수 있습니다. 하지만 팀원들이 많아지고 프로젝트 기한이 얼마남지 않을 수록 실수를 하기 마련입니다. PC를 켜놓은 채로 커피를 마시러 가거나 팀원들의 이야기가 밖으로 새나갈 위험이 있습니다. 즉 보안에 실패하게 됩니다.
'Blockchain' 카테고리의 다른 글
[Blockchain] 블록체인 트릴레마 해결 방법? (0) | 2022.06.23 |
---|---|
[Blockchain] 블록체인 트릴레마 3요소? (0) | 2022.06.23 |
[Blockchain] CeFi vs DeFi 차이점(DEX란?) (0) | 2022.06.22 |
[Blockchain] 니모닉 코드 생성 과정 (0) | 2022.06.22 |
[Blockchain] Geth Wallet 설치/사용법(Ubuntu 20.04 LTS) (0) | 2022.06.22 |
댓글