CONTENTS
1. 트릴레마(Trilemma)란?
◼ 탈중앙화(Decentralization)
◼ 보안성 (Security)
◼ 확장성 (Scalability)
2. 블록체인 트릴레마 발생 이유
3. 블록체인 트릴레마 해결 가능할까?
블록체인은 현재 많은 산업 분야에 활용되어 우리가 일하고 생활하는 방식에 변화를 가져다 주고 있습니다.
다만, 이러한 기술이 더욱 널리 활용되기 위해서는 해결해야 할 핵심 문제가 있습니다.
그것이 바로 '블록체인 트릴레마'입니다.
트릴레마란 3가지의 문제들이 서로 해결할 수 없는 상황을 만드는 3중고 혹은 3가지 딜레마를 말합니다.
즉, 삼중 모순은 세가지 목표 중 최대 두가지 목표는 달성 가능하나 세가지 목표를 한꺼번에 해결할 수는 없다는 뜻입니다.
블록체인 트릴레마는 '확장성(Scalability)'. '탈중앙화(Decentralization)', '보안성(Security)'으로, 이 세가지 요소가 모두 갖춰져야 대중적인 기술 확장이 가능하다고 말합니다.
하지만 블록체인 트릴레마에 의하면 이 3가지 속성을 모두 동시에 최적의 수준으로 달성하기 어려우며, 일반적으로 한가지를 강화하면 다른 요소가 약화됩니다.
예를 들면, 탈중앙성과 보안성에 초점을 둔 비트코인과 이더리움의 경우 트랜잭션 처리 속도가 매우 느리기 때문에 확장성 측면에서는 많은 어려움을 겪습니다.
: 시스템의 관리 주체가 특정하지 않음을 의미하며, 분산화는 연산 및 처리하는 주체가 흩어져 있음을 뜻함
비트코인을 포함한 블록체인 네트워크는 탈중앙화를 염두하여 설계됩니다. 이는 누구나 네트워크에 참여 가능하도록 개방하고 책임지는 특정 주체가 존재하지 않는 구조를 뜻합니다.
결과적으로, 네트워크에 대한 통제권은 단일 주체가 아닌 네트워크 참여자들에게 완전하게 분산됩니다.
따라서, 모든 사람들이 동등한 조건에서 공통적인 데이터에 접근가능합니다. 만약 누군가가 본인의 이익을 위하여 시스템을 악용하려고 한다면, 나머지 참여자들이 그 악의적인 데이터를 거절할 수 있습니다.
또 다른 예시로 '비트코인 네트워크'에 대한 이야기를 해보겠습니다.
비트코인 네트워크는 통제권을 지닌 중개자가 존재하지 않습니다. 반면, 기존 금융 시스템에는 중개자가 존재합니다. 거래나 송금 시 우리는 은행이라는 중개자가 정확히 거래를 처리 및 기록할 것이라고 믿고 거래합니다.
하지만 비트코인 네트워크의 모든 데이터는 네트워크 참여자 전원에게 공유됩니다.
즉, 거래를 처리하기 전에 해당 거래가 올바른지 참여자들에게 검증되어야만 처리가 가능합니다.
이러한 탈중앙적 구조 덕분에 비트코인 네트워크는 중개자 없이도 시스템을 운영할 수 있습니다.
나아가 탈중앙화는 인터넷이 전파되어 Web3라는 개념으로 발전하였습니다.
Web3 생태계에서 사용자들은 중개자없이 자신이 생성한 콘텐츠에 대한 소유권을 갖습니다.
유튜브, 인스타그램 등 기존 Web2 생태계에서 사용자는 콘텐츠를 자유롭게 제작할 수 있지만, 해당 콘텐츠로부터 창출되는 수익 및 소유권은 특정 기업이 통제합니다. 예를 들어 비디오 크리에이터가 제작한 콘텐츠 수익을 플랫폼이 1차로 취하는 것을 생각해볼 수 있습니다.
반면 탈중앙화된 블록체인 기술을 사용한 Web3 사이트와 애플리케이션에서는 사용자들은 자신의 데이터를 온전하게 소유가능하며 본인이 제작한 콘텐츠로부터 얻는 수익과 소유권은 어떠한 기업도 임의로 통제할 수 없습니다.
하지만 탈중앙화 네트워크는 모든 참여자들이 데이터를 공유하고 검증하여 트랜잭션을 처리하기 때문에 데이터 처리 속도가 느립니다. 따라서 블록체인 네트워크는 더 많은 데이터를 빠르게 처리할 수 있는 확장성을 갖추어야하며, 탈중앙화 구현 전 블록체인 내 데이터를 공격자가 마음대로 변경하지 못하도록하는 보안성을 우선적으로 갖추어야 합니다.
: 블록체인 내의 데이터 위변조 및 악의적인 공격을 할 수 없게 만드는 것을 뜻함
블록체인의 보안성이 낮다면 탈중앙화는 무의미해집니다. 뛰어난 블록체인 네트워크는 악의적인 주체의 공격으로부터 안전해야합니다. 은행처럼 중앙화된 시스템은 폐쇄형 네트워크이기 때문에 누구에게도 간섭받지 않아 비교적 안전할 수 있습니다. 하지만 누구나 네트워크에 참여가능한 탈중앙화 블록체인 시스템은 다릅니다.
보안성은 복잡한 주제이지만, 비트코인 네트워크 '암호화 기술'과 '작업증명 합의 메커니즘'을 통해 더욱 쉽게 이해할 수 있습니다.
먼저 암호화 기술 중 하나인 '디지털 서명'에 대해 이야기해보겠습니다. 비트코인 네트워크에 생성된 각 블록에는 디지털 서명이 존재합니다. 디지털 서명은 트랜잭션의 유효성을 판단하기 위해 이용됩니다.
즉, 각 블록의 데이터가 변경되면 디지털 서명도 함께 변경되기 때문에 블록 데이터는 수정불가합니다.
만약 데이터를 변경했더라도 네트워크 참여자들이 즉시 알아차릴 수 있기 때문에 데이터 조작이 어렵고 그만큼 보안을 더 강화할 수 있습니다.
또 다른 보안 방식으로 작업증명 합의 메커니즘이 있습니다. 작업증명은 암호화폐 분산원장의 보안을 책임집니다.
작업증명에서 네트워크 참여자는 채굴 활동을 통하여 새로 생성된 거래 내역을 검증하고 블록에 추가합니다.
채굴을 위하여 컴퓨팅 파워를 소모해 연산 문제를 풀고, 이 과정에서 컴퓨터는 방대한 양의 해시 함수를 계산해야합니다. 비트코인 네트워크 예시로 돌아가서, 만일 악성 네트워크 참여자가 네트워크 전체 연산력의 50% 이상을 가질 경우, 해당 공격자는 합의 메커니즘을 무시하고 임의로 데이터를 조작하여 문제가 발생할 수 있습니다.
그러나 전 세계적으로 분산된 컴퓨팅 파워의 반 이상을 한 주체가 보유 및 관리하기란 현실적으로 쉽지않고, 네트워크 탈중앙적 구조 때문에 이러한 악성 공격에 노출될 가능성은 현저히 낮고, 보안성이 보장될 수 있습니다.
이처럼 네트워크 참여자가 많아질수록 보안이 강화된다는 점에서 탈중앙성과 보안성은 서로 상부상조하는 관계임을 알 수 있습니다. 그러나 작업증명에서 요구되는 고도화된 기술적 인프라 수준과 비트코인 네트워크 구조상 제한된 블록 생성 속도 때문에 앞서 탈중앙화에서 봤던 확장성 문제가 보안성에서도 발생하게 됩니다.
: 사용자 수 증가에 따라 거래 건수가 늘어나더라도 무리없이 전송 처리 용량을 증대시킬 수 있는 능력을 뜻함
확장성은 더 많은 초당 거래 처리수(TPS, Transactions per second)를 지원하는 것을 의미합니다.
블록체인이 여러 용도로 사용되고 이용자 수가 늘어날수록 블록체인 확장성이 필요합니다. 하지만 확장성은 많은 블록체인이 고전을 면치 못하고 있는 부분입니다.
블록체인에서 최우선적으로 고려해야할 요소는 탈중앙성과 보안성입니다.
탈중앙성은 암호화폐의 기반이 되는 사이퍼펑크의 정신과 목표의 핵심입니다. 보안성은 앞서 말씀드렸듯이, 유용하고 성공적인 블록체인이 되기 위한 요소입니다.
하지만 탈중앙성과 보안성을 우선시하면 확장성에 문제가 발생합니다.
탈중앙성과 보안성에 초점을 두면 네트워크가 처리할 수 있는 트랜잭션의 수는 극히 제한될 수 있습니다.
비자와 같은 중앙화된 결제 시스템은 1초에 24,000건의 거래까지 처리가능합니다. 비자가 이렇게 많은 거래 처리를 할 수 있는 이유는, 폐쇄된 네트워크를 이용하기 때문에 노드나 합의 메커니즘 등을 고려할 필요가 없기 때문입니다.
비트코인과 이더리움을 비교해보자면, 비트코인은 약 7TPS, 이더리움은 약 15TPS입니다.
탈중앙성과 보안성에서 말했듯이, 비트코인과 같은 네트워크는 분산 네트워크를 구성하는 다양한 참여자들이 함께 정보를 처리하고, 작업증명 합의 메커니즘의 특성 때문에 거래 속도가 매우 제한적입니다.
만일 점점 더 많은 사람이 확장성이 떨어지는 네트워크를 이용하려고 한다면, 처리 가능한 거래 수를 초과하게 되면서 네트워크가 붐비고 거래 처리가 지연될 수 밖에 없습니다.
확장성을 제고하고 데이터 처리 시간을 단축시킬 수 있는 가장 간단한 해결책은 네트워크 상 노드 수를 줄이는 것입니다. 그러나 이러한 해결책은 블록체인 네트워크 탈중앙성과 보안성을 약화시킵니다.
소수의 노드가 네트워크를 관리할 경우 집권 구조는 당연히 중앙화되고, 일부 노드만 악성 공격에 당하더라도 네트워크를 지킬 노드 수가 부족해지므로 보안이 크게 약화될 수 있습니다.
반대로 기존의 블록체인이 지닌 탈중앙성과 보안성을 확보하면, 구조적으로 네트워크를 확장하기 어려워집니다.
아직까지 블록체인 트릴레마를 해결할 수 있는 절대적인 방안은 나타나지 않은 상태이지만, 다양한 아이디어가 나오고 있습니다.
샤딩이란 블록체인 or 다른 유형의 데이터 베이스를 더욱 작게 분할시켜 특정 데이터 세그먼트만 처리하는 방법을 뜻합니다. 소 분할된 블록체인, 즉 샤드는 각자 고유의 원장을 보유하며, 각 샤드에서 발생한 트랜잭션을 처리할 수 있습니다. 주요 체인은 샤드 간의 상호작용만 관리하면 되기 때문에, 기존에 단일체인 홀로 네트워크에서 이뤄지는 모든 트랜잭션과 상호작용을 처리해야 했던 부담을 덜 수 있습니다.
주로 비트코인 네트워크에서 트릴레마가 발생하는 이유는 작업증명이 돌아갈 수 있기 위한 합의 메커니즘에 있습니다. 암호화폐 알고리즘, 탈중앙적 컴퓨터 성능, 채굴자의 요구사항 등을 충족시키기 위해 비트코인 네트워크는 느리더라도 확실한 합의 메커니즘을 채택할 수 밖에 업습니다. 위와 같은 문제를 인지하고 있는 네트워크들은 기존의 합의 메커니즘을 변경하여 트릴레마 문제를 해결하기 위해 노력했으며, 이더리움은 이에 대한 일환으로 작업증명을 지분증명으로 변경하였습니다.
지분 증명 구조에 따르면 트랜잭션 검증 역할을 맡은 네트워크 참여자들은 필수적으로 자신의 토큰을 스테이킹해야합니다. 대신 이를 통하여 검증인들은 고도화된 채굴기 없이 제 역할을 할 수 있으며, 네트워크에 검증인을 추가하는 과정 또한 쉬워졌습니다. 지분증명 이외에도 현재 위임지분증명, 권위증명, 경과시간증명과 같이 블록체인 네트워크의 확장성을 제고하기 위한 여러 합의 메커니즘이 개발되었습니다.
샤딩 및 합의 메커니즘은 전부 기존 네트워크 구조 자체에 변화를 준다는 점에서 '레이어1 솔루션'으로 분류됩니다.
그러나 개발자들은 이외에도 기존 네트워크 구조 위에 솔루션을 탑재할 방안을 강구했고, 이를 통해 등장한 것이 '사이드체인', '스테이트 채널'과 같은 '레이어2 솔루션'입니다.
사이드체인은 메인 체인과 연결된 별개의 블록체인으로 사이드 체인과 메인 체인 사이에서 자유롭게 자산을 전송할 수 있도록 설계되었습니다. 보안성과 데이터 가용성은 메인체인에 위탁하는 대신, 최대한 빠르고 저렴하게 트랜잭션을 실행할 수 있도록 만들어졌기에 레이어1의 보안성과 탈중앙성을 더불어 확장성도 확보할 수 있습니다.
스테이트 채널은 사이드체인과 비슷하지만, 별개의 체인이 아닌 스마트 컨트랙트로 활용하며 블록체인에 트랜잭션을 발행하지 않아도 사용자들끼리 상호 작용할 수 있습니다. 메인 체인은 채널의 시작과 끝만 기록하면 됨으로써 기존 레이어 1이 지닌 트랜잭션 처리 부담을 덜어줍니다.