분산형 프로토콜 설계를 통한 여정

https://cexplorer.io/article/a-journey-through-decentralized-protocol-design

EDI(Edinburgh Decentralization Index)의 도입으로 분산화를 정확하게 정량화하기 위한 적절한 방법에 대한 논의가 촉발되었습니다. Justin Bons는 EDI의 초기 비판자 중 한 명으로 EDI가 결과에서 Cardano를 지나치게 선호한다고 주장했습니다. 탈중앙화를 강화하기 위해 프로토콜이 보유해야 하는 필수 기능과 저스틴의 비판이 가치가 있는지 여부를 고려해 볼 가치가 있습니다.

분산형 프로토콜의 특징
분권화는 의사결정 권한의 분배를 중심으로 이루어집니다. 이는 블록 생산, 거버넌스 또는 고객 다각화와 같은 측면과 관련될 수 있습니다. 현재 EDI는 주로 기사의 초점이 될 블록 생산에 대한 정보를 제공합니다.

탈중앙화의 궁극적인 목적은 단일 개체나 영향력 있는 개체들의 컨소시엄이 네트워크 내에서 의사 결정 프로세스를 독점하는 것을 방지하는 것입니다. 이상적인 시나리오에서는 각 참가자가 정치 선거에서 준수되는 ‘1인 1표’ 원칙과 유사한 동등한 투표권을 보유하게 됩니다. 그러나 블록체인 영역 내에서 의사결정 권한은 값비싼 자원을 소유하는 데 달려 있습니다. 결과적으로, 더 많은 자원을 보유한 기업은 '더 많은 자원, 더 많은 권력’이라는 원칙을 구현하여 더 큰 의사 결정 권한을 행사합니다.

예를 들어, 민주주의와 달리 분산형 프로토콜은 뚜렷한 속성을 가지고 있습니다. 분산화 강화에 기여하는 특성을 생각해 보겠습니다.

포괄성
공평
안정적인 블록 생산
카르텔과 고래에 대한 저항
포괄성은 제한된 자원을 가진 엔터티를 포함하여 가능한 가장 광범위한 엔터티가 네트워크 합의에 참여할 수 있음을 의미합니다.

여기에는 초기 비용과 운영 비용이 모두 포함됩니다. 비트코인의 경우 ASIC 채굴기 구매와 정기적인 전기 요금 지불, 카르다노의 경우 ADA 코인 획득이 포함될 수 있습니다.

참여자가 블록을 생성하려면 풀 노드를 운영하고 지속적인 인터넷 및 전기 연결을 유지해야 합니다(장애 조치 솔루션).

포괄성은 또한 단순성을 수반합니다. 참가자가 높은 기술적 요구를 받게 되면 탈중앙화의 성장을 방해할 수 있습니다. 이상적으로는 분산화에 참여하려면 최소한의 기술이 필요합니다. 따라서 참가자에게는 가벼운 지갑이면 충분합니다.

공정성은 네트워크와 참가자의 이익이 잘 일치한다는 것을 의미합니다. 네트워크와 다른 참가자 및 사용자의 최선의 이익을 위해 행동하는 사람만이 보상을 받을 자격이 있습니다. 모든 사람은 네트워크를 위한 양질의 작업에 대해 공정한 보상을 받아야 합니다. 즉, 제3자의 개입 없이 프로토콜만으로 보상 분배를 지시해야 합니다.

블록 생산은 신뢰성이 있어야 합니다. 주어진 기간 동안 최소한의 예외를 제외하고 가능한 최대 블록 수를 생성해야 합니다. 예를 들어 정전이 자주 발생하는 지역이나 인터넷이 불안정한 지역에서 누군가가 노드를 운영하는 경우 이러한 상황이 발생할 수 있습니다.

블록 생산은 프로젝트가 성공할 경우 수익성이 좋은 사업이 될 수 있습니다. 관심이 급증할 것입니다. 개별 참가자는 서로 경쟁하게 되며 경쟁자를 축출하기 위해 노력할 수도 있습니다. 대형업체는 규모의 경제로 이익을 얻습니다. 예를 들어 대규모 PoW 채굴자는 ASIC 하드웨어 제조업체나 에너지 공급업체로부터 할인을 받을 수 있습니다. 탈중앙화를 위해서는 규모상의 이점을 최대한 최소화해야 합니다.

카르텔 형성(EOS 프로젝트의 중요한 문제)과 고래 출현(비트코인 블록의 50% 이상이 2개의 풀에서 채굴됨)을 방지하기 위한 메커니즘이 존재해야 합니다.

그러나 현실적으로 부는 사회에 고르게 분배되지 않기 때문에 이상적인 해결책을 달성하는 것은 불가능합니다. 따라서 분산형 네트워크에서 의사결정권을 구매하는 것이 가능합니다. 달성 가능한 유일한 목표는 불리한 조건에서 최상의 솔루션을 찾는 것입니다.

팀은 분산화를 장려하는 특성뿐만 아니라 다른 특성도 고려해야 합니다. 예를 들어 확장성, 상호 운용성, 보안, 지속 가능성 등이 있습니다. 모든 측면의 균형을 올바르게 맞추는 것은 어렵습니다. 결과는 항상 선호하는 속성 간의 균형입니다.

소스 풀링은 필수입니다
나는 탈중앙화의 정점은 최소한의 자원을 가진 사람이라도 누구나 참여하고 보상을 얻을 수 있는 기회가 있을 때에만 달성될 수 있다고 가정합니다.

비트코인 채굴에 참여하기 위한 진입 비용은 매우 높으며 ASIC 채굴자의 비용은 수천 달러입니다. 게다가 에너지 가격은 국가마다 다르므로 합의 참여가 배타적입니다. 이는 비교적 낮은 수준의 네트워크 분산화로 이어지며 대규모 채굴자들이 점차 힘을 얻고 있습니다.

이더리움 유효성 검사기를 운영하려면 32 ETH를 잠그고 프로토콜에 의해 정의된 독점 입력 경계를 설정해야 합니다. 합의에 참여하기를 원하는 ETH가 32개 미만인 사람들은 소규모 보유자들의 ETH를 함께 모으고 v를 실행하는 솔루션에 의존해야 합니다.Lido와 유사한 CEX 및 서비스와 같은 Alidator가 그들을 대신합니다.

비트코인과 이더리움 모두 일종의 리소스 풀링을 포함합니다. 보상을 받을 기회를 얻으려면 여러 참가자가 함께 뭉쳐야 합니다. 혼자 채굴하는 사람이 BTC 채굴을 시도할 수 있지만 보상을 받을 확률은 희박합니다. 하지만 1000명의 채굴자가 뭉치면 더 자주 보상을 포함해 보상 확률이 높아집니다.

비트코인에는 풀이 있고, 이더리움에는 Lido와 유사한 서비스가 있습니다.

비트코인 프로토콜은 풀의 존재를 인식하지 못합니다. 이는 해시율을 집계하고 여러 채굴자에게 작업을 배포하는 엔터티에 대한 지식 없이 블록 채굴자에게 보상만 제공합니다.

상황은 이더리움의 상황과 유사합니다. 수많은 검증인이 있으며 프로토콜은 이를 운영하는 사람과 ETH 키를 소유한 사람이 누구인지에 무관심합니다. Lido는 스테이크된 모든 ETH의 30% 이상이 단일 스마트 계약에 존재하므로 분산화의 약점을 나타냅니다.

기존의 모든 생태계에서는 조만간 유사한 시나리오가 필연적으로 나타날 것입니다. 리소스를 구매한 참가자는 해당 리소스를 블록을 생산하는 주체에 위임하는 경우가 많습니다. 따라서 탈중앙화를 정량화할 때 이를 반드시 고려해야 합니다.

IOG 팀은 리소스 풀링이 널리 퍼져 있으며 불가피하게 발생한다는 점을 인식했습니다. 또한, 최고 수준의 탈중앙화를 실현하기 위해서는 수량에 관계없이 모든 ADA 코인 보유자가 참여할 기회를 갖는 것이 바람직합니다.

따라서 Cardano는 풀 개념을 프로토콜에 직접 통합했습니다. 이를 통해 Cardano는 기본 유동 스테이킹을 할 수 있어 Ethereum과 같은 제3자가 필요하지 않습니다.

어떤 형태로든 자원 풀링이 없으면 모든 소액 보유자는 합의에 참여할 수 없으며 이는 바람직한 결과가 아닙니다.

리소스 풀링이 유익한 몇 가지 다른 관련 이유가 있습니다.

그러한 장점 중 하나는 기능적 장애 조치 솔루션을 손쉽게 생성하고 보안을 이해할 수 있는 IT 전문가에 의해 블록 생성이 보장된다는 것입니다. 블록 생성 노드를 비전문가가 운영한다면 PoS 코인을 도난당하는 일이 잦을 것입니다. Cardano 생태계에서는 스테이킹이 시작될 때 이런 일이 몇 번 발생했습니다. 그러나 그러한 사건은 이제 과거의 일이 되었습니다.

모든 리소스 보유자(예: 100 ADA만 소유한 사람)가 블록 생성 노드를 운영할 수 있다면 블록 생성 품질이 저하됩니다. 수많은 블록이 누락될 수 있습니다. 아마도 노드가 새 블록을 생성하도록 예정된 순간에 운영 체제의 자동 업데이트가 시작되기 때문일 것입니다.

또 다른 고려 사항은 특정 프로토콜에 대해 합의에 도달해야 하는 노드 수가 증가함에 따라 복잡성도 증가한다는 것입니다. 예를 들어, 이더리움의 경우 검증인 수가 많은 것은 바람직하지 않습니다. 이것이 32ETH 한도가 필요한 이유이며, 이를 줄이는 것은 해결책이 아닙니다. 한도를 낮추면 검증인의 수가 늘어나 상호 통신이 복잡해지기 때문에 바람직하지 않습니다.

블록 생산자(풀)에게 리소스를 위임하는 것은 유리한 상황이지만 위임자가 리소스에 대한 통제권을 유지하고 자신의 결정을 마음대로 변경할 수 있는 유연성이 있는 경우에만 가능합니다. 보안 관점에서 볼 때 위임자가 리소스에 대한 제어권을 포기해야 하는 경우에는 해롭습니다. 예를 들어, 스테이킹에 참여하기 위해 ETH를 거래소로 전송하는 것은 바람직하지 않은 관행입니다. 거래소 내부자나 해커에 의해 ETH가 도난당할 위험이 있습니다.

위임은 직접 위임과 간접 위임의 두 가지 유형으로 분류할 수 있습니다. 선택된 Cardano 풀에 ADA 코인을 위임하는 것과 같은 직접 위임을 통해 코인이 소유자의 지갑에 남아있게 됩니다. 소유자는 언제든지 위임을 수정할 수 있는 유연성을 보유합니다. 반면, 간접 위임의 경우 소유자가 리소스에 대한 직접적인 제어권을 상실하여 네트워크 공격과 같은 중요한 순간에 위임을 변경할 수 없게 됩니다. 이에 대한 예로는 비트코인의 경우 클라우드 마이닝, 이더리움의 경우 CEX 스테이킹 ETH가 있습니다.

탈중앙화를 어떻게 정량화해야 할까요?
탈중앙화를 평가할 때 블록을 생산하는 주체, 즉 전체 노드를 운영하는 주체의 수를 고려하는 것이 중요합니다. 또한, 독점적으로 소유하든 위임하든 블록 생산자가 활용하는 리소스도 고려해야 합니다.

분산화를 정량화할 때 고려해야 할 주요 요소는 다음과 같습니다.

블록 생산자(풀)의 수
리소스 보유자 수(합의에 참여하는 사람)
예를 들어, 중앙 집중식 거래소(CEX)가 10만 명의 사용자를 대신하여 ETH를 스테이킹하는 경우 이더리움 프로토콜의 관점에서 CEX는 ETH를 구매한 개인이 아닌 ETH의 소유자입니다. 이 시나리오에서 CEX는 단일 실패 지점이 되며 블록 생산을 담당하는 개체가 됩니다.

Lido는 CEX와 매우 유사하지만 더 분산되어 있습니다.

여러 가지 이유로 블록 생산자와 위임자(스테이커)를 구별하는 것이 중요합니다.

블록 생산자는 블록체인에서 새로운 블록 생성에 적극적으로 참여하는 주체입니다. 그들은 거래를 검증하고, 새로운 블록을 생성하고, 이를 블록체인에 추가합니다. 이들의 역할은 네트워크의 무결성과 기능을 유지하는 데 매우 중요합니다.

반면, 위임자 또는 스테이커는 자신의 자원(코인이나 해시레이트 등)을 블록 생산자에게 위임하는 참여자입니다. 블록 생산에 적극적으로 참여하지는 않지만 그들의 역할도 마찬가지로 중요합니다. 그들은 리소스를 제공하여 네트워크를 지원하고 그 대가로 블록 생산으로 생성된 보상을 공유합니다.

블록체인 네트워크의 역학을 이해하려면 이 두 역할의 구별이 필수적입니다. 이는 네트워크 내 책임과 보상의 분배를 명확하게 하는 데 도움이 되며, 네트워크의 분산화 수준을 평가하는 핵심 요소입니다.

블록 생성 및 위임이 분산될수록 네트워크는 더욱 분산됩니다.

비트코인의 맥락에서 채굴자는 자신의 계산 능력(해시율)을 블록 생산자 역할을 하는 채굴 풀에 위임합니다. 이러한 위임을 통해 채굴자는 보다 예측 가능한 수입을 얻을 수 있으며, 네트워크는 보다 안정적인 블록 생산을 할 수 있습니다. 그러나 블록 생산에 대한 통제가 몇 개의 대규모 채굴 풀에 집중되어 있기 때문에 이는 중앙 집중화 수준을 도입한다는 점에 유의하는 것이 중요합니다. 이는 분산형 네트워크 설계의 많은 장단점 중 하나입니다.

Cardano의 스테이킹 개념은 비트코인의 채굴 프로세스와 매우 유사합니다. 그러나 중요한 차이점은 포괄성 측면에 있습니다. Cardano의 이러한 특성은 더 높은 수준의 분산화를 촉진합니다. Cardano는 비트코인 네트워크의 채굴자 수에 비해 더 많은 수의 풀과 더 많은 스테이커 수를 자랑합니다.

EDI가 추적하는 다른 모든 네트워크와 아직 EDI에 포함되지 않은 네트워크에서 우리는 비슷한 역학을 관찰합니다. 나는 수량에 관계없이 모든 리소스 보유자가 블록을 생성할 기회를 갖고 실제로 그렇게 하는 네트워크를 알지 못합니다.

블록 생산자와 위임자 간의 역학
Cardano를 예시로 사용하여 블록 생산자와 위임자 간의 역학을 살펴보겠습니다. 원칙적으로 비트코인과 매우 유사하지만 몇 가지 중요한 차이점이 있습니다.

Cardano 네트워크에서 풀은 블록을 생성하는 노드입니다. 풀 운영자와 모든 스테이커(위임자)가 보유한 ADA 코인의 합인 풀의 총 지분은 풀이 주어진 기간 내에 발행하는 블록 수를 결정합니다.

각 풀 운영자를 Lido와 유사한 독립 엔터티에 비유할 수 있습니다.

풀은 풀 운영자가 운영(소유)하는 단일 노드입니다. 모든 스테이커는 ADA 코인으로 이 풀을 강화하고 풀은 모든 스테이커를 대신하여 블록을 발행합니다.

풀 운영자는 풀의 총 지분에 따라 보상이 결정되므로 공정하게 행동할 동기가 있습니다. 따라서 운영자는 자신에게 위임된 ADA 코인에 의존합니다.

ADA 보유자는 자신이 선택한 풀에 코인을 위임할 수 있지만 ADA 코인은 절대로 지갑을 떠나지 않습니다. Cardano에는 잠금 기간(슬래싱 없음)이 없기 때문에 언제든지 ADA 코인을 사용할 수도 있습니다.

이는 풀 운영자가 거래 검열을 시작하거나 블록 생성에 실패할 경우 스테이커가 즉시 풀을 종료하고 다른 곳으로 위임할 수 있음을 의미합니다(재위임 효과는 며칠이 소요됨).

블록 생산을 통제하는 ADA 보유자는 풀 운영자에게 네트워크 서비스를 제공할 권한을 부여하는 것으로 볼 수 있습니다.

Cardano는 대규모 풀의 형성을 방지하기 위한 안전 장치를 갖추고 있습니다. 수영장의 크기는 포화점이라는 것에 의해 제한됩니다. 풀이 포화점을 초과하면 모든 사람에 대한 보상이 줄어듭니다. 따라서 스테이커는 다른 곳에 위임할 경제적 인센티브를 갖습니다.

네트워크에는 다중 풀 운영자, 즉 다중 풀을 운영하는 엔터티가 포함됩니다. 이는 일반적으로 환경 분야에서 잘 알려진 수치입니다.스테이커들의 신뢰를 얻은 시스템입니다. 그러나 탈중앙화 관점에서는 고래로 간주됩니다.

포화점은 특정 개체가 여러 풀을 운영한다는 것이 분명해지기 때문에 심리적 장벽에 더 가깝습니다.

물론, 단일 주체가 서로 다른 티커로 여러 풀을 운영할 수 있으며, 이 사실은 외부에서 관찰되지 않을 수도 있습니다.

Cardano 생태계에서 풀은 유사한 조건(수수료)에서 서로 경쟁합니다. 스테이커가 다른 풀에 위임하는 것은 비교적 간단합니다. 그들의 선택은 수수료뿐만 아니라 운영자가 커뮤니티에 제공하는 추가 기여 또는 기타 선호하는 요소에 따라 달라질 수 있습니다.

Justin Bons가 EDI를 비판할 때 깨닫지 못할 수도 있는 것
저스틴: ‘EDI의 가장 큰 문제는 모든 풀을 단일 엔터티로 간주한다는 것입니다.’

저스틴: ‘이것은 분권화를 측정하는 데 있어 분명히 결함이 있는 접근 방식입니다’

블록체인 영역에서 풀은 블록 생산자 역할을 하며 개별 개체로 간주되어야 합니다. 위임자, 즉 스테이커는 스스로 블록을 생산하는 것이 아니라 블록 생산 과정을 감독하는 역할을 합니다.

DDoS(분산 서비스 거부) 공격과 같은 보안 관점에서 보면 네트워크 내에 블록 생성 노드를 많이 두는 것이 유리합니다. 이렇게 하면 네트워크가 공격에 덜 취약해집니다. 이것이 EDI 팀이 Shannon Entropy를 연구하는 이유입니다. 다음 블록 생성 노드가 예측 불가능할수록 네트워크는 더욱 안전해집니다.

라이트월렛, 즉 위임자에 대한 DDoS 공격은 불가능합니다. 채굴자에게 DDoS 공격을 가하는 것이 가능하지만 비트코인 네트워크의 블록 생산에는 최소한의 영향만 미칩니다. 반면, Foundry USA 또는 AntPool과 같은 주요 채굴장에 대한 DDoS 공격은 블록 생산 품질을 즉시 중단시킬 수 있습니다.

블록 생산자가 아닌 리소스 보유자만 계산되는 경우 EDI는 누가 블록을 생산하는지에 대해 아무 것도 알려주지 않습니다.

저스틴: ‘유효한 지표입니다. 모든 풀을 단일 엔터티로 간주하지 않으면 그렇게 나쁘지 않을 것입니다. 여기서 대체 솔루션은 체인 분석 및 기타 수단을 통해 개별 풀 참가자를 식별하는 것입니다.’

1,000만 ADA를 보유한 고래는 풀을 운영할 수 있으며 총 지분이 5,000만 ADA인 5,000명의 스테이커가 있는 풀보다 적은 블록을 생성합니다.

블록에 대한 거래 선택이나 거래 검열을 누가 직접 통제할 수 있는지 생각해 보세요. 위임자가 아닌 풀 운영자만 있습니다.

단일 엔터티의 의사 결정 프로세스는 블록을 생성하기 위해 협력하는 5K개의 독립 엔터티 그룹의 의사 결정 프로세스와 다릅니다.

단일 엔터티는 거래 검열을 시작하기로 자율적으로 결정할 수 있습니다. 그러나 5,000개 기업으로 구성된 그룹은 이에 대해 동의하지 않을 가능성이 높습니다. 이 그룹 내의 개인이 거래를 검열하려면 그룹을 탈퇴해야 합니다.

이것을 다른 각도에서 살펴보겠습니다.

네트워크에 대한 공격(예: 이중 지불 공격)을 잠재적으로 시작한다는 관점에서 노드를 제어하는 엔터티가 중요합니다. 위임자는 노드를 직접 제어할 수 없습니다. 풀 운영자는 위임자에 관계없이 이러한 공격을 시작할 수 있습니다. 그는 위임자가 알아채기 전에 공격이 성공하기를 바랄 수 있습니다.

풀이 유효한 개체가 아니거나 단일 개체로 간주되어서는 안 된다고 주장하는 것은 불가능합니다. 저스틴이 이를 주장한다면 이는 마치 대리인 중 한 명이 노드가 거래를 검열할지 여부를 통제할 수 있다고 주장하는 것과 같습니다. 그러나 객관적으로 어떤 위임자도 이 권한을 갖고 있지 않습니다.

나는 EDI(Edinburgh Decentralization Index)에 리소스 보유자 수에 대한 데이터가 부족하다는 Justin의 주장에 동의합니다.

비트코인 네트워크 내에서 Foundry USA와 AntPool이라는 두 개의 풀이 공격을 시작할 수 있습니다. 그러나 채굴자는 공격을 즉시 감지한다는 가정하에 리소스를 다른 곳에 위임할 수 있는 옵션이 있습니다.

대규모 채굴자들은 공모하고, 풀을 구축하고, 이를 통해 공격을 조율할 수 있습니다. 따라서 리소스 보유자에 대한 개요를 유지하는 것이 중요합니다. 모든 PoS 네트워크에는 고래가 있으며, 고래에 대해 알아두면 좋습니다.

위임자 또는 그 하위 집합은 공격에 동의하고 이를 통해 블록 생산자와 협력할 수 있습니다. 이는 질문을 제기합니다: 나카모토 계수는 블록 생산자에게만 적용되어야 합니까, 아니면 위임자에게도 유사한 계수를 설정해야 합니까? 내 생각에는 두 접근 방식 모두 유효합니다.

결론
제 생각에는 저스틴의 비판은 탈중앙화와 관련된 중요한 맥락(다양한 공격 유형, 노드 간 통신의 복잡성, 포괄성 등)에 대한 오해 또는 블록 생산자와 위임자 간의 차이점에 대한 이해 부족에서 비롯된 것으로 보입니다. 그는 블록 생산자에게 집중하는 것은 의미가 없으며 오직 자원 분배만이 중요하다고 생각할 것입니다.

이러한 행위자들의 역할 차이를 인식하는 것이 중요합니다. 5K 위임자 그룹이라도 그들 중 한 명이 이 블록에 트랜잭션을 삽입하고 네트워크에 분산시키는 전체 노드를 운영하지 않는 한 단일 블록을 생성하지 않습니다. 이들 위임자 각각은 주어진 순간에 어느 쪽이 블록을 생성할지에 대해 동의(합의)해야 하기 때문에 자신의 블록 생성 노드를 가질 수 없습니다.

위임자의 입장보다 블록프로듀서의 입장이 더 강하다고 객관적으로 말할 수 있습니다.

EDI(Edinburgh Decentralization Index)는 모든 사람의 기여에 열려 있는 오픈 소스 이니셔티브입니다. 결과를 기준으로 Cardano가 가장 분산화된 것으로 평가되는 것에 불만이 있다면 방법론에서 객관적인 부정확성을 식별하는 것이 중요합니다. Justin은 풀을 개별 개체로 간주하는 것은 잘못된 것이라고 주장합니다. 그러나 내 관점에서는 이 주장은 타당성이 부족하다.