2024-02-26
탈중앙화는 블록체인 기술 영역에서 근간을 이루는 초석이라고 할 수 있습니다. 그러나 탈중앙화는 종종 오해와 신화의 구름에 가려져 있습니다. 탈중앙화라는 개념은 중추적인 역할을 하지만, 생각만큼 간단하지 않습니다. 탈중앙화를 측정하거나 서로 다른 블록체인을 비교하기란 복잡한 문제입니다. 이 글은 이러한 복잡성을 이해하기 쉽게 설명하고자 합니다. 예시를 통해 탈중앙화의 기본 원리를 살펴보고, 블록체인 기술의 필수적인 특징을 보다 명확하게 이해하고자 합니다. 이 유익한 여정을 함께 시작해 보세요.
블록체인은 분산되고 탈중앙화된 네트워크이다
"탈중앙화"라는 용어는 중앙 통제 지점이 없는 네트워크, 시스템, 애플리케이션을 의미합니다. 이 개념은 노드가 중개자를 거치지 않고 직접 데이터를 공유하는 P2P(피어투피어) 네트워크의 핵심입니다.
블록체인 업계에서는 '탈중앙화’라는 용어를 느슨하게 사용하는 경우가 많습니다. 원래는 네트워크 아키텍처만을 의미했지만, 블록체인 프로젝트의 특성은 그 이상으로 확장됩니다. 여기에는 프로젝트 관리, 소스 코드를 유지하는 팀, 거버넌스, 네트워크 합의를 위한 리소스 분배 등이 포함됩니다.
먼저 네트워크 아키텍처에 집중해 보겠습니다.
분산 네트워크는 넓은 지역에 퍼져 있으며 데이터 처리 및 저장을 위한 여러 노드들이 존재합니다. 이러한 분산은 효율성, 안정성, 가용성, 무결성 및 보안을 높여줍니다.
아래 이미지는 분산 네트워크를 보여줍니다. 개인이 운영하는 각 노드는 P2P 통신에 필수인 네트워크 클라이언트를 실행합니다. 네트워크에서 각 노드는 동등한 권한을 가집니다. 탈중앙화의 맥락에서는 네트워크에 동등한 지위를 가진 8개의 주체가 있다고 주장할 수 있습니다.
노드는 트랜잭션을 퍼뜨리고 검증하기 위해 협력합니다. 노드는 다른 많은 작업을 수행할 수 있습니다. 모든 사용자는 P2P 통신 모델을 활용해 서로 직접 상호작용할 수 있습니다.
분산 네트워크는 탈중앙화(중앙 권한 없이) 또는 중앙에서 제어할 수 있습니다.
아래 이미지에서 8개의 노드가 있는 이전과 동일한 분산 네트워크를 볼 수 있습니다. 차이점은 모든 노드가 단일 엔티티인 앨리스에 의해 제어된다는 것입니다(빨간색 화살표는 노드에 대한 제어를 나타냅니다). 네트워크는 효율성, 데이터 가용성, 견고성 측면에서 매우 유사한 특성을 가질 수 있지만 중앙 집중식이기 때문에 데이터 무결성, 보안 등은 영향을 받습니다.
앨리스는 모든 노드를 종료하여 전체 네트워크를 종료할 수 있습니다. 또한 앨리스는 데이터를 단독으로 제어할 수 있기 때문에 데이터를 변경할 수도 있습니다.
탈중앙화된 네트워크에는 중앙 기관이 없습니다. 탈중앙화의 핵심은 네트워크 합의, 즉 노드들이 정기적으로 원장의 상태를 변경하는 데 합의하기 위해 사용하는 규칙입니다. 어떤 단일 주체가 네트워크를 통제하지 않으므로 민주적인 운영이 보장됩니다. 누구나 자유롭게 네트워크에 가입하거나 탈퇴할 수 있습니다.
네트워크는 하나의 중앙 기관이 아니라 서로 권한을 공유하는 여러 주체에 의해 결정됩니다. 탈중앙화된 네트워크는 시빌 공격(Sybil attack)에 대한 보호가 필요하며, 이에 대해서는 나중에 설명하겠습니다. 권한 분산은 값비싼 자원의 소유를 기반으로 해야 합니다. 비트코인과 같은 작업 증명 네트워크의 경우 ASIC 하드웨어와 전기의 조합이며, 카르다노나 이더리움과 같은 지분 증명 네트워크의 경우 각각 ADA와 ETH 코인이 그 자원입니다.
이는 일반적으로 주체가 다르기 때문에 시스템 불균형을 초래합니다. 탈중앙화 네트워크에서 더 많은 부를 보유하고 더 많은 고가의 자원을 획득할 수 있는 주체는 더 강력한 위치를 차지하게 됩니다.
아래 이미지는 각 개인이 보유한 지분 증명 코인의 수에 따라 탈중앙화가 결정되는 분산형 네트워크를 보여줍니다.
가치 있는 자원을 소유한 주체가 노드를 운영하지 않고도 분산 네트워크를 통제할 수 있다는 것은 모순적으로 보일 수 있습니다. 많은 네트워크에서 이러한 리소스 소유자는 자신의 리소스를 위임하여 다른 노드의 권한을 강화시킬 수 있습니다.
일반적인 생각과는 달리, 탈중앙화는 분산 네트워크의 노드 수로 측정되지 않습니다. 대신, 위임 선택과 같은 고가의 리소스를 소유자 간에 분배하고 관리하는 방식에 따라 결정됩니다. 분산형 네트워크에서는 특정 노드가 더 많은 중요성을 가지며, 새로운 블록을 생성할 수 있는 권한을 보유합니다.
'분산’이라는 용어는 효율성, 가용성, 신뢰성 향상을 위한 노드의 지리적 분포를 의미합니다. 누구나 자신의 노드를 통해 네트워크에 기여할 수 있어야 하지만, 네트워크의 탈중앙화를 크게 향상시키지는 못합니다. '탈중앙화’라는 용어는 의사 결정 권한을 분산해야 하는 통제 부재에 초점을 맞추고 있습니다. 탈중앙화는 노드 소유에 의해 결정되는 것이 아니라 고가의 자원을 소유하고 있는지에 따라 결정됩니다.
시빌 공격
블록체인 네트워크는 개방되어 있어 누구나 여러 노드를 운영할 수 있습니다. 그러나 본질적으로 시빌 공격으로부터 자유롭지는 않습니다. 이를 방지하려면 탈중앙화는 희소하거나 값비싼 자원을 소유하는 것을 기반으로 해야 하며, 이는 곧 재산 손실의 위험을 의미합니다. 이를 통해 자원 소유자의 헌신과 정직성을 보장할 수 있습니다.
시빌 공격은 한 주체가 네트워크에 대한 통제권을 얻기 위해 여러 개의 가짜 신원을 생성할 때 일어납니다. 공격자는 의사 결정에 영향을 미치거나 데이터를 조작하거나 네트워크를 교란하는 것을 목표로 합니다. 탈중앙화는 하나의 주체가 많은 노드를 저렴하게 운영할 수 있기 때문에 노드 운영 능력에만 의존해서는 안 됩니다.
연결된 각 노드가 새로운 블록을 생성하고 보상을 받을 수 있는 권리를 가진 네트워크를 생각해 보겠습니다. 보상 확률을 높이기 위해 여러 클라이언트를 운영할 수 있습니다. 시빌 공격자는 이를 악용하여 저렴한 비용으로 여러 노드를 실행하여 정직한 참여자들보다 부당한 이득을 얻을 수 있습니다. 아래 이미지는 시빌 공격자가 5개의 노드를 운영하는 시나리오를 보여줍니다. 한 주체가 블록 생성 또는 거버넌스를 대부분 통제하는 경우, 네트워크는 중앙 집중화됩니다.
분산 네트워크 속성은 탈중앙화에 큰 영향을 미치지 않습니다. 노드는 데이터를 보호하고 트랜잭션을 검증하지만, 운영자가 고가의 리소스를 소유하지 않은 경우 합의나 거버넌스에 직접 참여할 수 없습니다.
대부분의 노드는 데이터의 소비자일 뿐이며, 대부분 새로운 블록의 소비자일 뿐입니다. 값비싼 자원을 소유하지 않으면 데이터(블록) 생성에 참여할 수 없습니다.
블록 생성은 고가의 자원을 소유한 사람들이 관리합니다. 이들은 새로운 블록을 생성할 노드를 결정합니다. 이 설계는 시빌 공격으로부터 보호합니다.
이미지에서는 앨리스, 밥, 캐롤, 데이브만이 일정량의 귀중한 자원을 보유하고 있음을 보여줍니다. 밥이 가장 많이 보유하고 있고 데이브가 가장 적게 보유하고 있습니다. 따라서 이 네 사람은 새로운 블록을 생성할 수 있습니다. 이브, 프랭크, 그레이스, 하이디는 이런 자원이 부족하기 때문에 새로운 블록을 소비하는 노드만 가지고 있습니다. 이 네트워크에서는 시빌 공격을 수행할 수 없습니다. 시빌 공격자의 위치는 이브와 동일하며, 즉 그의 노드는 새로운 블록을 수동적으로 소비할 뿐입니다.
이 네트워크를 공격하려면 값비싼 자원을 확보해야 합니다. 이는 직접 구매를 통해 이루어질 수 있으며, 따라서 자신의 재산을 위험에 빠뜨릴 수 있습니다. 또는 작업 증명 코인을 훔치거나 대형 채굴 회사의 해시 비율을 장악하는 등 부정한 방법을 통해 간접적으로 획득할 수도 있습니다. 그러나 이러한 간접적인 방법은 일반적으로 더 복잡합니다.
탈중앙화 네트워크에 대한 통제권
네트워크에서 통제권은 노드 운영자가 아닌 고가의 자원 소유자에 따라 달라집니다. 자원은 수많은 사람이 소유할 수 있지만, 분산화된 네트워크에서는 소수의 노드만이 블록 생성에 결정적인 역할을 합니다. 따라서 수천 개의 노드가 있는 네트워크에서도 소수의 노드만이 네트워크 합의에 적극적으로 참여하고 나머지는 수동적인 데이터 소비자입니다.
수동적 노드가 갑자기 사용할 수 없게 되거나 심지어 모든 수동적 노드가 사라지더라도 네트워크 합의에 미치는 영향은 거의 없습니다. 하지만 그 반대의 경우도 마찬가지입니다. 활성 노드의 절반을 갑자기 사용할 수 없게 되면 네트워크가 네트워크 합의에 도달하지 못할 수도 있습니다.
탈중앙화 관점에서 중요한 것은 자원 소유자와 어떤 노드를 네트워크에 필수적인 노드로 만들 것인지에 대한 결정입니다. 자원 소유자는 자신의 자원을 블록 생성에 사용할 수 있지만, 일반적으로 상당한 양이 필요합니다. 일반적으로 자원 소유자는 네트워크 합의에 적극적으로 참여하는 노드, 즉 블록을 생성하는 노드를 운영하는 다른 주체에게 자원을 위임합니다.
아래 그림은 탈중앙화 네트워크를 보여줍니다. 앨리스, 밥, 캐롤, 데이브의 노드만 블록을 생성합니다. 밥과 캐롤은 값비싼 자원의 작은 부분을 소유하고 있습니다. 다른 모든 노드는 적극적인 합의 참여자입니다. 이들은 블록 생성 노드를 운영하는 운영자 중 한 명에게 자원을 위임합니다(파란색 화살표는 자원 위임을 표시). 모든 위임자 중 올리비아, 루퍼트, 웬디만이 패시브 노드(새 블록만 소비)를 운영한다는 점에 유의하세요.
비싼 자원은 카르다노의 경우 ADA 또는 비트코인의 경우 해시율일 수 있습니다. 비트코인의 시나리오에서는 코인 대신 ASIC 채굴기와 전원이 사용됩니다. 비트코인과 카르다노는 근본적으로 비슷한 방식으로 작동합니다.
이것이 일반적인 블록체인 네트워크의 탈중앙화의 모습입니다. 요약해 보겠습니다. 16개의 주체가 탈중앙화에 참여하지만, 그 중 14개만이 고가의 자원을 소유합니다. 앨리스와 데이브는 블록을 생성하는 노드를 운영하지만 고가의 자원을 소유하지 않습니다. 분산 네트워크에는 7개의 노드가 있지만 그중 4개만 블록을 생성합니다. 3개의 노드는 새로운 블록만 소비합니다. 실제로는 참여자마다 수량과 비율이 다를 수 있습니다.
네트워크에는 블록을 생성하는 노드보다 위임자가 더 많은 경우가 많습니다. 비트코인과 같은 일부 네트워크는 방대한 수의 노드를 보유하고 있지만 일부만이 적극적으로 블록을 생성합니다(비트코인의 풀은 대략 20개에 불과하며, 이 중 2개가 지배적인 역할을 합니다). 반대로 카르다노와 같은 네트워크에서는 대다수의 노드가 블록 생성에 관여합니다. 카르다노에는 수천 개의 풀이 있습니다. 여러 풀을 운영하는 스테이킹 풀 운영자도 있습니다.
거버넌스
탈중앙화의 복잡성을 완전히 이해하려면 팀의 역할을 고려해야 합니다. 지금까지는 블록 생성 제어에 대해 논의했는데, 이는 위임자(스테이커 또는 채굴자)와 블록 생성 노드에 달려 있습니다. 활성 참여자는 주로 클라이언트가 정의한 규칙에 따라 새로운 블록 추가를 통해 주기적으로 원장 상태 변경에 동의합니다.
규칙을 통제하는 주체가 누구인지 아는 것이 중요합니다. 이는 보통 블록체인을 시작한 팀입니다. 대개는 클라이언트를 처음 출시한 팀과 같은 팀입니다.
그림은 한 팀이 세 가지 클라이언트 버전을 출시한 시나리오를 보여줍니다. 운영자는 자신의 노드에 설치할 클라이언트 버전을 자유롭게 선택할 수 있으며, 이를 통해 어떤 프로토콜 규칙을 채택하고 분산 네트워크 전체에 주로 적용할지 결정할 수 있습니다.
탈중앙화 네트워크에서 팀은 규칙을 제한적으로만 제어할 수 있습니다. 모든 버전의 클라이언트(대체 버전도 가능)가 공개적으로 사용 가능합니다. 팀은 운영자가 노드에 설치하는 클라이언트 버전을 제어할 수 없으며, 제어해서도 안 됩니다.
널리 퍼진 오해 중 하나는 팀에 눈에 보이는 리더가 있으면 그가 네트워크의 규칙을 변경하거나 심지어 네트워크를 종료할 수 있다는 것입니다. 그러나 필요한 만큼의 자원을 소유하지 않으면 화폐 정책과 같은 프로토콜의 주요 기능을 변경할 수 없습니다.
팀, 커뮤니티, 노드 운영자 사이에 이견이 없는 경우, 최신 클라이언트 버전을 설치하는 경향이 있습니다. 이 버전은 주요 규칙을 변경하지 않고 유지하며, 대부분의 사람들이 동의하는 사소한 변경(버그 수정, 작은 개선) 또는 업그레이드만 도입해야 합니다.
규칙 분쟁이 발생하는 경우 귀중한 자원의 소유자가 가장 큰 영향력을 행사합니다.
리소스 소유자는 노드 운영자에게 자원을 위임하며, 노드 운영자는 설치할 버전을 선택할 책임이 있습니다. 위임자가 운영자의 버전 선택에 동의하지 않는 경우, 다른 곳에 자원을 위임할 수 있는 옵션이 있습니다. 따라서 운영자는 위임자의 선호도를 염두에 두고 버전 선택을 신중하게 고려해야 합니다.
이 이미지는 두 팀인 알파와 오메가가 각각 서로 다른 호환되지 않는 프로토콜 규칙을 가진 클라이언트를 출시하는 시나리오를 보여줍니다. 블록 생성 노드를 운영하는 세 명의 운영자는 알파 버전을 선택하고, 다른 세 명의 운영자는 오메가 버전을 선택합니다. 자원 소유자가 시행할 규칙을 결정합니다. 이 특정 사례에서는 대부분의 고가 자원이 오메가 버전에 투표합니다.
대부분의 기존 네트워크에서는 일반적으로 하나의 클라이언트가 우세합니다. 여러 팀이 대체 클라이언트 버전을 개발하는 경우는 드물며, 개발하더라도 이 버전은 소수에 불과한 경우가 많습니다. 이는 이더리움의 경우에서 분명하게 드러납니다.
분쟁은 보통 같은 팀에서 제작한 서로 다른 버전에서 발생합니다. 팀 내의 한 파벌이 소스 코드 포크를 생성하고 규칙을 수정하여 원래 버전과 호환되지 않게 만들 수 있습니다. 이 새 버전은 강요될 수 있지만 고가의 자원을 소유한 소유자의 지지가 필요합니다. 새 버전이 승리하려면 값비싼 자원의 대다수가 이를 지지해야 합니다.
블록 생성과 마찬가지로 네트워크는 고가의 자원 소유자에 의해 관리됩니다. 이는 시빌 공격의 맥락에서 매우 중요합니다. 특정 버전의 클라이언트를 실행하는 노드 수에 따라 새 버전의 채택 여부가 결정된다면, 다수의 IP 주소를 저렴하게 할당할 수 있는 시빌 공격자가 네트워크의 규칙을 좌지우지할 수 있습니다. 거버넌스는 시빌 공격에 대한 보호가 필요합니다. 정직한 행동은 잠재적인 재산 손실을 감수하면서까지 강제되어야 합니다.
결론
탈중앙화는 주로 값비싼 자원의 분배에 달려 있습니다. 위임하는 사람만이 네트워크에서 실행 가능한 블록 생성 노드(풀)의 수에 영향을 줄 수 있습니다. 탈중앙화를 조사하려면 주로 자원을 소유한 개인의 수, 고래의 분포도, 자원 관리 방식을 살펴봐야 합니다. 특히, 자원이 얼마나 많은 풀에 위임되어 있는지가 중요합니다. 일부 풀이 지배적인 위치를 차지할 수 있는데, 이는 바람직하지 않은 현상입니다.
네트워크에서 수동 노드의 수는 블록을 생성하는 노드의 수만큼 탈중앙화에 중요하지 않습니다. 고가의 자원을 분배하는 것은 거버넌스, 즉 자원 보유자 다수가 합의한 규칙을 유지하는 데도 중요합니다. 네트워크 운영은 팀이나 CEO가 결정하는 것이 아니라 주로 자원 소유자가 결정합니다. 아직 표준은 아니지만 여러 개의 대체 클라이언트를 사용할 수 있는 것도 도움이 됩니다.
* Source: https://cexplorer.io/article/understanding-decentralization
* Translation: Ilhun@CryptoVeri enics_sky@naver.com
1 post - 1 participant