탈중앙화의 주요 원리 이해하기
이 글은 블록체인 탈중앙화의 기본 원리를 이해하는 데 도움이 될 것입니다. 탈중앙화는 규모와 역동적인 과정이며, 두 개의 단일 장애 지점이 하나가 될 수 있고, 보안에 대한 확신이 단순한 가정 이상이라는 것을 설명할 것입니다. 우리는 거버넌스가 아닌 블록 생산에 초점을 맞출 것입니다. 그러나 원리는 대개 비슷합니다.
탈중앙화는 규모다
탈중앙화는 켜고 끌 수 있는 바이너리 값이 아닙니다. 탈중앙화는 규모입니다. 하한선은 알려져 있습니다. 네트워크에 블록 생성을 절대적으로 통제할 수 있는 지배적인 행위자가 단 한 명만 있다면 네트워크는 중앙화되어 있는 것입니다.
상한선은 정의하기 더 어렵습니다. 이상적으로는 시스템의 모든 참여자가 동일한 의사 결정권을 가져야 합니다. 그러나 실제로는 특히 블록체인의 경우 이러한 이상을 실현하기는 불가능합니다. 경제적, 기술적 측면이 이를 가로막고 있습니다.
탈중앙화는 일반적으로 값비싼 자원을 기반으로 합니다. 우리 사회의 부는 균등하게 분배되지 않습니다. 부자들은 돈으로 더 많은 양의 값비싼 자원을 구매할 수 있기 때문에 네트워크에 대한 통제력을 더 많이 가질 수 있습니다. 블록체인 네트워크의 권력은 돈으로 살 수 있습니다.
네트워크의 모든 참여자가 블록을 생성할 수는 없습니다. 참여자 수가 증가하면 컴퓨팅 리소스 비용과 통신의 복잡성이 증가하기 때문에 합의에 도달할 수 있는 능력은 감소합니다.
아래 글에서, 참여자란 블록 생성에 적극적으로 참여하는 사람들을 의미합니다. 따라서 주로 블록의 생산자이지만 값비싼 자원( 해시율, 코인)의 위임자이기도 합니다.
탈중앙화는 역동적인 과정이며 시간이 지남에 따라 끊임없이 변화하고 있습니다. 사람들은 사건에 반응하고 탈중앙화의 질에 직간접적인 영향을 미치는 결정을 내립니다. 따라서 탈중앙화는 증가하거나 감소할 수 있습니다.
블록 생성이나 거버넌스를 위해 서로 다른 임무를 가진 여러 역할을 정의할 수 있습니다.
비트코인에서는 풀 운영자, 채굴자, 풀 노드 운영자, BTC 보유자가 블록 생성에 참여합니다. 카르다노도 비슷합니다. 참여자는 풀 운영자, 스테이커, 풀 노드 운영자, ADA 보유자(어떤 이유로든 ADA를 스테이킹하지 않은 사람)입니다.
탈중앙화를 정량화하려면 각자의 역할을 설명하고, 전체 인프라에 미치는 영향을 정의한 다음, 개별 행위자의 수를 규모에 비례하여 평가해야 합니다.
이러한 이유로 두 블록체인 네트워크를 서로 비교하는 것은 어려울 수 있습니다. 그러나 대부분의 블록체인에서 역할은 매우 유사합니다. 대부분 블록을 생성하는 노드와 권한을 위임하는 주체(채굴자, 스테이커)가 있습니다.
생태계에는 항상 대형, 중형, 소형 플레이어가 존재합니다. 기존 참여자는 떠나고 새로운 참여자가 들어옵니다. 시간이 지남에 따라 일부 참여자는 점차 지배적인 위치를 차지할 수 있습니다.
기존 참여자들은 새로운 참여자들이 참여하기 어려울 정도로 강력한 지위를 확보할 수 있습니다. 권력의 독점은 바람직하지 않은 상태이지만, 시장과 정치에서 발생하는 현상입니다.
탈중앙화된 생태계에서는 항상 권력 투쟁이 존재합니다. 한 명 이상의 참여자가 이 투쟁에서 승리하면 중앙 집중화가 시작됩니다.
탈중앙화는 민주주의와 같습니다. 탈중앙화를 지속적으로 관리하고, 문제에 관심을 기울이고, 문제를 해결하는 것이 필요합니다. 이 과정이 없으면 조만간 누군가가 과도한 양의 권력을 찬탈 할 수 있습니다.
탈중앙화는 안정적이어야 합니다. 그러나 이상적으로는 새로운 사용자의 수와 함께 (최소한 약간이라도) 성장해야 합니다. 즉, 채택과 함께 확장되어야 합니다.
사용자 수는 늘어나는데 소수의 합의 참여자에 의해 네트워크가 통제되는 것은 말이 되지 않습니다. 따라서 더 많은 채택을 기대한다면 정체 자체가 위험(또는 적어도 경고 신호)이라고 할 수 있습니다.
단일 장애 지점 없음
탈중앙화 네트워크에는 단일 장애 지점이 없어야 합니다. 즉, 네트워크를 공격하거나 약화시키는 데 악용될 수 있는 약점이 없어야 합니다.
중앙 집중식 네트워크에서 이러한 약점은 클라이언트가 연결된 서버입니다. 서버는 마스터이고 클라이언트는 서번트입니다. 클라이언트는 서버 없이는 서로 통신할 수 없습니다. 서버가 작동을 멈추면 모든 클라이언트가 한꺼번에 작동을 멈춥니다. 클라이언트는 서버가 될 수 없습니다. 따라서 서버는 단일 장애 지점입니다.
예를 들어, 은행의 서버가 작동을 멈추면 어떤 클라이언트도 은행 송금을 할 수 없습니다. 누군가 서버를 수정하고 다시 시작해야 모든 것이 정상으로 돌아옵니다.
실제로 서버는 거의 항상 백업되어 있습니다. 한 서버에 장애가 발생하면 다른 서버가 이를 대신합니다. 한 서버가 클라이언트에 서비스를 제공하고, 서버에 장애가 발생하면 두 번째 백업 서버가 즉시 모든 작업을 이어받습니다.
하지만 이는 탈중앙화와는 다릅니다. 탈중앙화는 장애 발생 시 작업을 인수하는 것이 아니라 네트워크의 모든 노드가 동일한 작업에 대한 책임을 공유하는 것입니다. 즉, 노드는 시스템의 주요 프로세스에 참여한다는 맥락에서 서로 비슷한 위치와 중요성을 갖습니다.
갑자기 한 노드가 오프라인 상태가 되더라도 네트워크의 프로세스에 미치는 영향은 미미합니다. 두 노드가 동시에 오프라인 상태가 되면 그 영향은 약간 더 커지지만 사용자는 눈치채지 못할 가능성이 높습니다.
네트워크의 목표는 노드(또는 소유자) 수, 지리적 위치, 클라우드 서비스 사용 등을 최대한 다양화하는 것입니다.
두 개의 지배적인 풀이 블록을 생성하고 있는데 한 풀이 갑자기 오프라인 상태가 되면, 사용자가 단기간에 알아차릴 수 있는 문제가 발생할 수 있습니다. 네트워크에 1000개의 블록 생산자가 있고 분산도가 높은 경우, 그중 하나(또는 100개)의 장애는 미미한 수준입니다.
네트워크에 두 개의 지배적인 블록 생산자가 있다면, 이는 두 개의 '단일 장애 지점’이 됩니다. 이러한 두 지점은 쉽게 하나가 될 수 있다는 점을 염두에 두는 것이 중요합니다.
그들은 협력에 동의할 수 있습니다. 누군가 이 두 지점을 동시에 공격하려고 시도할 수 있습니다. 예를 들어, 블록의 주요 생산자 2곳을 대상으로 DDoS 공격을 시도할 수 있습니다.
많은 대상을 공격하는 것보다 적은 수의 대상을 공격하는 것이 항상 더 쉽습니다.
탈중앙화는 참여자 수가 많아지고 다양화될수록 커집니다. 참여자들이 서로를 알지 못하고 그 수가 많으면 무언가에 합의할 수 있는 확률이 낮아집니다. 따라서 네트워크는 외부 공격뿐만 아니라 내부 공격으로부터도 보호됩니다.
외부 공격은 네트워크를 파괴하고 싶고 네트워크와 긍정적인 관계가 없는 사람이 실행합니다. 공격자는 DDoS 또는 51% 공격을 수행할 수 있습니다. 내부자 공격은 네트워크와 긍정적인 관계를 맺고 있지만 자신의 강력한 지위를 남용하려는 사람이 수행할 수 있습니다. 예를 들어, 지배적 풀의 운영자 2명이 공격에 합의할 수 있습니다.
참여자가 반드시 자발적으로 공격을 시작한 사람일 필요는 없습니다. 무의식적으로 또는 자기도 모르게 공격에 악용되거나 직접적으로 공격을 강요당할 수도 있습니다. 이는 다음 섹션의 맥락에서 중요한 인사이트를 제공합니다.
확실성이 가정보다 낫다
탈중앙화는 지배적인 참여자가 네트워크를 공격하는 것이 경제적으로 불리하다는 가정이 아니라, 높은 탈중앙화로 인해 그들이 네트워크를 공격할 수 없다는 확실성에 근거해야 합니다.
탈중앙화에 참여하는 주체가 많을수록 서로를 알 필요가 없고 공격에 협력할 가능성(또는 공격에 악용되거나 강제로 협력할 가능성)이 줄어들기 때문에 더 좋다는 가정입니다.
이 가정은 공격이 기술적으로 (상대적으로) 실현 가능하다는 것을 의미하지만, 공격을 실행하지 않는 데에는 주로 경제적인 이유가 있습니다.
다른 가정을 해볼 수 있습니다. 어느 누구도, 참여자들을 물리적으로 공격해 범죄를 저지르고 싶어하지 않았을 수도 있고, 어느 누구도 참여자들의 행동을 규제하는 법을 만들지 않았을 수도 있습니다. 채굴자(권력 위임자)는 풀이 부정직하게 행동할 경우(예: 거래 검열) 다른 곳에 위임할 것입니다.
이러한 많은 이론적 가정을 할 수 있지만, 실제로는 탈중앙화에 좋지 않은 결과를 초래할 수 있습니다.
예를 들어 설명해 보겠습니다.
네트워크가 단일 블록 생산자에 의해 지배되는 경우, 예를 들어 이 주체는 소규모 생산자의 블록을 검열하여 경제적으로 파괴시킬 수 있습니다. 지배적인 생산자는 정직하게 행동하고 수익성 있는 비즈니스를 계속 운영하는 것이 경제적으로 유리하기 때문에 이러한 공격을 하지 않을 것이라고 가정할 수 있습니다.
이 공격은 지배적 생산자뿐만 아니라 전체 네트워크의 평판을 근본적으로 무너뜨릴 수 있습니다(참여자의 힘을 줄일 수 있는 메커니즘이 없다면).
우리는 이 생각을 계속 이어가면서 생산자의 수를 늘릴 수 있습니다.
지배적인 생산자가 2명인 경우, 생산자가 3명인 경우 등에도 동일하게 가정할 수 있습니다.
두 명의 지배적인 생산자 중 한 명만 공격에 참여하더라도 네트워크는 여전히 안정적이고 어느 정도 탈중앙화될 것입니다(다른 소수 생산자의 영향력은 무시).
생산자 수가 일정 수 이상이 되면 공격이 실현 불가능해진다는 가정이 더욱 명확해집니다. 더 정확하게는 참여자 수가 늘어날수록 공격 성공 확률이 줄어듭니다.
정확한 숫자는 없습니다. 이상적으로는 기술적 실현 가능성 관점에서 가능한 탈중앙화의 최대치에 접근해야 합니다.
따라서 확실성은 결코 100%가 될 수 없습니다. 하지만 확실성의 정도는 커질 수 있습니다.
참여자 수가 많다는 것은 그 자체로 공격에 대한 좋은 예방책이 될 수 있습니다. 한 참가자가 소수의 권력(아마도 10%에 불과한)을 가지고 있고 다른 비슷한 참가자(각각 10%를 가진 9명의 참가자)가 정직하게 행동할 것이라고 가정한다면, 부정직하게 행동하는 것은 말이 되지 않습니다.
참가자들이 경제적으로 정직하게 행동할 동기가 있고 서로의 전략을 모른다면 공격이 일어나지 않을 확률이 높습니다. 어떤 공격도 성공할 확률은 거의 없습니다. 중앙 집중화가 증가하면 위험도 증가합니다.
결론
어떻게 높은 탈중앙화를 달성할 수 있을까요? 경제적 인센티브, 포용성, 문제가 발생했을 때 프로토콜을 조정할 수 있는 능력, 즉 거버넌스의 조합입니다.
예로부터 우리는 계층적 사회에서 살아왔기 때문에 사회가 탈중앙화 시스템을 이해하고 사용하기는 쉽지 않습니다. 많은 나라에서 민주주의를 유지하고 있습니다. 이러한 경험은 우리에게 유용하게 사용될 수 있습니다. 그러나 블록체인을 사용하면 1인=1표의 시스템을 만들 수 없기 때문에 더 복잡해질 것입니다.
네트워크의 권력은 돈으로 살 수 있습니다. 좋든 싫든 블록체인은 중앙화되는 경향이 있습니다. 사용자 수가 증가함에 따라 블록체인이 사회에 미치는 사회적, 경제적 중요성은 필연적으로 증가할 것입니다. 이를 통제하려는 압력도 커질 것입니다.
우리는 규칙과 인센티브를 올바르게 정립하고 네트워크를 최대한 탈중앙화하기 위해 많은 노력을 기울여야 할 것입니다. 탈중앙화와 관련된 모든 문제를 해결했다고 말할 수는 없는데, 이는 네트워크를 지배하려는 욕구와 연관된 낮은 채택률과 관련이 있기 때문입니다. 중요한 시험이 우리 앞에 놓여 있습니다.
* Source: https://cexplorer.io/article/understanding-the-main-principles-of-decentralization
* Translation: Ilhun@CryptoVeri enics_sky@naver.com
1 post - 1 participant