단일 실패 지점 이해

https://cexplorer.io/article/understanding-single-point-of-failure


분산화는 네트워크의 예상 속성을 위협할 수 있는 약점을 제거하는 것입니다. 단일 실패 지점으로 인해 전체 시스템이 작동하지 않을 수도 있습니다. 노드 그룹이든 사람 그룹이든 관계없이 어떤 개체도 다른 개체보다 훨씬 더 강력한 위치를 가져서는 안 됩니다. 이러한 기업은 자신의 지위를 남용하거나 공격자의 쉬운 표적이 될 수 있습니다. 이번 글에서는 블록체인 프로젝트의 잠재적인 약점을 살펴보겠습니다.

단일 실패 지점이 될 수 있는 것은 무엇입니까?
SPOF(단일 실패 지점)는 네트워크에서 다른 노드보다 훨씬 더 강력한 위치를 갖는 노드 또는 노드 그룹이 될 수 있습니다. 노드는 항상 사람에 의해 실행되므로 SPOF가 될 수도 있습니다.

아래 이미지에서는 Alice, Bob, Carol 및 Dave가 운영하는 4개의 블록 생산자(풀) 노드를 볼 수 있습니다. 이들은 모두 네트워크 블록의 25%를 생산합니다. 그들은 동등한 지위를 가지고 있습니다.
图片

노드 또는 사람을 공격하는 것이 가능합니다.

예를 들어, DDoS 공격은 노드(노드의 서비스를 중단시키려는 시도)를 겨냥하는 반면 규제 기관은 노드 운영자의 의사 결정을 제한합니다.

팀은 또한 모든 블록체인 프로젝트의 중요한 부분이며 SPOF를 어느 정도 대표할 수 있습니다.

팀은 클라이언트(소프트웨어) 전달을 담당합니다. Bitcoin Core 팀은 Bitcoin 클라이언트의 새 버전을 게시합니다. IOG 팀은 Cardano 클라이언트의 새 버전을 출시합니다.

단일 클라이언트가 네트워크를 지배하는 경우 클라이언트 소스 코드의 취약점으로 인해 전체 네트워크가 붕괴될 수 있습니다. 클라이언트는 또한 이를 담당하는 팀과 함께 SPOF입니다.

이 문서에서는 다음 SPOF에 대해 설명합니다.

노드
사람(노드 운영자, 팀)
클라이언트(소프트웨어)
공격은 네트워크 합의를 표적으로 삼을 수 있습니다. 이는 거래를 검열하거나, 빈 블록을 생성하거나, 이중 지출 공격(동일한 코인을 여러 번 지출)을 시도하는 것일 수 있습니다. 이는 노드에 대한 공격이지만, 노드를 운영하는 사람들에게도 영향을 미칩니다. 사용자도 공격의 영향을 받을 수 있습니다.

일부 공격은 노드와 운영자를 동시에 표적으로 삼을 수 있습니다. 운영자는 어떤 방식으로든 공격에 대응할 수 있습니다.

사용자는 분산형 네트워크에서 이러한 공격이 발생하지 않을 것으로 기대합니다. 시스템의 보안은 무엇보다도 분산화에 달려 있습니다.

외부 및 내부 공격
네트워크에서 가장 유명한 공격은 소위 51% 공격이다. 네트워크 공격자가 수행하는 외부 공격입니다. 나카모토 사토시는 국가가 이를 막기 위해 비트코인을 공격할 것이라고 믿었습니다.

51% 공격은 네트워크 합의를 목표로 합니다. 이 공격에 대한 저항은 비용이 너무 많이 들어서 아무도 시도하지 않을 것이라는 가정에 기초합니다.

공격자는 분산화를 위해 특정 네트워크에서 사용되는 값비싼 리소스를 충분히 제어해야 합니다. 비트코인의 경우 해시레이트이고, 카르다노의 경우 ADA 코인입니다. 이 공격은 실제로 저지르기가 매우 어렵습니다.

정부는 규제, 자산 몰수, 투옥 등과 같은 네트워크를 공격하기 위한 보다 부드러운 방법을 가지고 있습니다. 예를 들어, 채굴이나 스테이킹에 큰 세금이 부과되면 해당 사업이 국가 밖으로 추방될 수 있습니다. 네트워크의 존재를 위협하지는 않지만 중앙 집중화를 약화시킬 수 있습니다.

내부 공격은 네트워크에 가까이 있고 네트워크 운영을 담당하는 사람들에 의해 저지를 수 있습니다. 그들은 중요한 풀 운영자, 팀일 수도 있고 ASIC 하드웨어 제조업체, 에너지 공급업체 등이 될 수도 있습니다.

예를 들어, 거래를 검열하는 것은 항상 풀 운영자의 결정입니다. 규제 요건 때문에 그렇게 할 수도 있습니다. MEW 공격, 즉 운영자가 자신에게 유리한 방식으로 거래를 조작하는 공격은 경제적으로 동기가 부여됩니다.

클라이언트 게시를 담당하는 팀의 공격을 예상하는 사람은 아무도 없습니다. 팀은 VC 자금이나 기타 소스의 자금 조달에 의존할 수 있습니다. 팀 구성원은 커뮤니티가 아닌 돈을 지불하는 사람에게 충성할 수 있습니다.

팀이 일부 기능을 구현하기로 결정하거나 그 반대의 경우 이를 구현하지 않기로 결정한 동기를 찾는 것은 상대적으로 어려울 수 있습니다. 이는 탐지하기 어려운 내부 공격입니다.

일부 상황에서는 네트워크에 대한 고의적인 공격이 아닐 수도 있지만 SPOF 발생에 영향을 미칠 수 있습니다. 예를 들어, 중국에서 비트코인을 채굴하는 것이 가장 수익성이 높았을 때 그 국가가 지배적이었습니다. 중국이 광부들을 중국에서 추방하기로 결정했을 때 네트워크는 일시적으로 약화되었습니다.

네트워크에 직접적인 영향을 미치는 의도하지 않은 외부 상황으로 설명할 수 있습니다.

블록 생산
가장 큰 SPOF는 종종 블록 생산에서 발견됩니다. 네트워크에는 수천 개의 노드가 있을 수 있지만 지배적인 위치를 차지하는 소수가 있을 수 있습니다.

아래 이미지에서는 각각 블록 생산의 25%를 공유하는 4명의 풀 운영자를 볼 수 있습니다. 또한 다른 사용자의 공통 노드 4개. 토폴로지를 무시합니다.
图片

공격자가 DDoS 공격의 대상을 찾고 있다고 가정해 보겠습니다.

블록 생산은 사용자 노드에 대한 공격에 영향을 받지 않습니다. 공격자는 블록 생산자 노드, 즉 Alice, Bob, Carol 및 Dave가 운영하는 노드를 표적으로 삼아야 합니다. 모든 풀은 대략 동일한 블록 생산 지분을 가지므로 공격자가 어떤 노드를 선택하는지는 중요하지 않습니다. 그는 공격할 노드를 여러 개 선택할 수 있으며, 아마도 4개 모두를 선택할 수도 있습니다.

SPOF의 관점에서 볼 때 이 네트워크는 DDoS 공격 대상을 찾기 어렵기 때문에 이상적입니다.

이러한 통찰력은 분산화의 품질을 대략적으로 평가하는 데 도움이 될 수 있습니다. 네트워크에서 공격받을 수 있는 지점을 발견하고 잠재적인 공격으로 인해 문제가 발생할 경우 네트워크는 중앙 집중화됩니다. 공격할 적절한 대상을 찾는 것이 어렵거나 개체 수가 많아야 합니다.

가능한 한 많은 블록 생산자가 있어야 하며 이상적으로는 네트워크에서 거의 동일한 대표성을 가져야 합니다. Cardano 네트워크에는 수많은 풀이 있습니다. 일부 MPO는 SPO보다 강력한 위치를 갖고 있지만 MPO의 수와 블록 생산 점유율은 상대적으로 균형을 이루고 있습니다.

분권화에는 대표자의 의사결정이 포함됩니다. 대표자의 선택이 시스템의 균형에 영향을 미치기 때문입니다.

아마도 암호화폐 업계에서 가장 큰 SPOF는 비트코인 네트워크에서 찾을 수 있으며, 여기서 주요 풀인 Foundry USA와 AntPool은 블록의 50% 이상을 채굴합니다. 이러한 노드(확실히 장애 복구 전략이 있음)는 비트코인의 가장 약한 부분입니다.

아래 이미지에서는 현재(총) 채굴 점유율이 포함된 9개 풀을 볼 수 있습니다. 공격자가 DDoS 공격으로 모든 노드를 동시에 다운시키는 경우 새 블록 채굴은 본질적으로 일시적으로 중단됩니다.

풀 운영자는 프로토콜 변경에 투표하거나 새 버전의 클라이언트를 채택(노드에 설치)할 때 비트코인 네트워크에 상당한 영향을 미칩니다.

Cardano 또는 Bitcoin 네트워크에서 대부분의 풀 운영자의 위치는 위임된 권한에 따라 달라집니다.

위임자의 의사에 따라 행동하지 않는 운영자는 금세 지위를 잃을 수 있습니다. 그러나 이는 단지 가정일 뿐이다.

대규모 광산 회사가 미국에 등록된 경우 규제 기관의 요구 사항을 따르는 풀 운영자의 행동에 동의할 수 있습니다.

MEW 공격은 일반적으로 발생했던 Ethereum으로 인해 악명 높습니다. 이를 위해서는 풀 운영자와 광부들의 협력이 필요했습니다.

대규모 위임자, 즉 리소스의 많은 부분을 보유한 사람도 SPOF입니다. 그들은 10,000명의 소규모 위임자와 동일한 권한을 가질 수 있습니다. 우리는 그것이 공평하지 않다고 생각할 수도 있지만, 이를 막을 수는 없습니다. 돈으로 권력을 살 수 있습니다. 더욱이 스테이킹과 채굴 모두에서 강력한 위치에서 재정적으로 이익을 얻을 수 있다면 시스템에 고래가 있을 것입니다.

팀은 SPOF입니다
팀은 분산화의 약점입니다.

우리는 VC 자금으로 팀 충성도를 구매할 수 있다는 점에 대해 이야기했습니다.

프로젝트가 앞으로 수년 동안 충분한 자금을 확보하고 있다면 VC 자금으로부터 독립될 수 있습니다. ADA 코인의 초기 판매를 통해 개발 자금을 조달한 IOG 팀의 경우입니다. VC 자금은 초기 판매에서 의도적으로 제외되었습니다.

따라서 IOG 팀은 제3자와 독립적이며 해당 조건에 따라 프로토콜 개발을 관리합니다.

코인이 VC 펀드에 판매된 경우 팀은 요구 사항에 영향을 받을 수 있습니다. 이는 긍정적일 수도 있고 아닐 수도 있습니다. VC 펀드는 첫 번째 성공이 나타나자마자 코인을 버릴 수 있다는 점에서 부정적일 수 있습니다.

IOG 팀은 미래를 생각했기 때문에 프로젝트 자금도 프로토콜의 일부입니다. 온체인 거버넌스의 계획된 출시를 통해 ADA 소유자는 어떤 변경 사항을 적용할지, 누가 변경 사항을 구현할지, 비용은 얼마인지, 우선 순위는 무엇인지 결정할 수 있습니다.

하나의 클라이언트만 사용할 수 있는 경우 이를 구축한(그리고 계속 유지 관리하는) 팀이 중앙 집중화의 핵심입니다. 클라이언트에 집중해보자.

클라이언트 충돌을 일으키는 심각한 버그가 소스 코드에 있는 경우 블록 생성이 중단될 수 있습니다. 독립된 팀에서 여러 클라이언트 구현이 있는 경우 유리합니다. 이는 단일 클라이언트 구현의 치명적인 실패에 대한 네트워크의 탄력성을 높이지만 동시에 여러 팀이 있기 때문에 분산화가 증가합니다.

현재 상위 20위 안에 드는 모든 네트워크는 지배적인 클라이언트에 의존하고 있습니다. 지금까지 우리는 프로토콜에 새로운 기능을 추가하는 것과 관련하여 서로 협력해야 하는 여러 팀의 존재에 대한 경험이 거의 없습니다.

팀이 혁신할 수 없는 상황은 이상적이지 않습니다. 팀이 재량에 따라 개발을 통제한다면 이는 특정 단계까지만 허용됩니다. 시간이 지남에 따라 온체인 거버넌스 또는 클라이언트 다양성을 통해 더 큰 분산화가 이루어져야 합니다.

결론
외부 및 내부 공격 벡터에는 여러 종류가 있습니다. 공격의 대상은 거의 항상 권력의 중요한 중심지입니다. 네트워크의 모든 엔터티가 동일한 상태를 달성하는 것은 아마도 불가능할 것입니다. 어떤 단계에서는 SPOF가 될 수 있는 약점이 항상 존재합니다.

현재 가장 큰 SPOF는 지배적인 블록 생산자, 대량의 자원을 통제하는 고래(대형 채굴자 및 지분 보유자), 팀, 지배적인 클라이언트에 대한 의존성입니다.

분권화는 움직이는 목표입니다. 누군가는 특정 네트워크의 분산화 품질을 개선하기 위해 지속적으로 노력해 왔을 것입니다. 이것은 까다로울 수 있습니다. 이를 시도하는 주체가 권력의 중심이 되어서는 안 됩니다.

모든 코인 소유자가 분산화에 대한 책임을 지게 되므로 온체인 거버넌스를 확립하는 것이 필요할 수 있습니다.