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