분산 검증자 기술
DVT(분산 검증자 기술)는 핵심 관리 및 서명 책임을 여러 사용자에게 분산시켜 단일 오류 지점의 장애를 줄이고 검증자 복원력을 높이는 검증자 보안 접근 방식입니다.
이는 하나의 "클러스터"로 편성된 수많은 컴퓨터에 검증자를 보호하는 데 사용되는 개인 키를 분할하여 수행됩니다. 전체 키가 한 컴퓨터에 보관되어 있지 않아 공격자가 키에 액세스하는 것이 매우 어렵다는 장점이 있습니다. 또한 클러스터별 컴퓨터 하위 집합이 필수 서명을 수행하기 때문에 일부 노드는 오프라인 상태여도 됩니다. 이를 통해 네트워크에서 단일 오류 지점의 장애를 줄여 전체 검증자 집합은 더욱 견고해집니다.
DVT는 왜 필요하나요?
보안
검증자는 합의 참여를 위한 검증자 키와 자금 액세스를 위한 인출 키 등 두 개의 공개-개인 키 쌍을 생성합니다. 검증자는 인출 키를 콜드 스토리지에 보관할 수 있지만 검증자 개인 키는 반드시 24시간 온라인이어야 합니다. 검증자 개인 키가 훼손되면 공격자가 검증자를 제어할 수 있으며, 슬래싱 또는 스테이커의 ETH 유실로 이어질 수 있습니다. DVT는 이러한 리스크를 완화하는 데 도움이 될 수 있습니다. 이용하는 방법은 다음과 같습니다.
DVT를 이용함으로써 스테이커는 검증자 개인 키를 콜드 스토리지에 보관하면서 스테이킹에 참여할 수 있습니다. 이는 온전한 검증자 키 원본을 암호화한 다음 키 조각으로 분할하여 실행됩니다. 키 조각은 온라인 상태이며 여러 노드로 배포되어 검증자를 분산 운영할 수 있습니다. 이것이 가능한 이유는 이더리움 검증자가 추가 BLS 서명을 사용하기 때문입니다. 즉, 이 서명은 모든 키 구성 요소를 합하여 온전한 키를 재구성할 수 있습니다. 이를 통해 스테이커는 온전한 원본 '마스터' 검증자 키를 안전하게 오프라인으로 보관할 수 있습니다.
단일 장애점 해결
검증자가 여러 운영자와 컴퓨터로 분산되면 개별 하드웨어 및 소프트웨어에 장애가 발생해도 오프라인 전환을 막을 수 있습니다. 또한 한 클러스터에 속한 노드의 하드웨어 및 소프트웨어 구성을 달리하는 방법으로도 장애 리스크를 줄일 수 있습니다. 이러한 회복력은 단일 노드 검증자 구성으로는 불가능합니다. DVT 계층이기에 가능한 것이죠.
클러스터를 구성하는 시스템 구성 요소 중 하나가 고장 나면(예: 검증자 클러스터에 4명의 운영자가 있을 때 한 운영자가 버그가 있는 특정 클라이언트를 사용하는 경우) 다른 컴퓨터는 검증자가 계속 실행되도록 지원할 수 있습니다.
탈중앙화
이더리움의 이상적인 시나리오는 최대한 많은 독립 운영 검증자를 확보하는 것입니다. 하지만 일부 스테이킹 제공업체가 높은 인기를 끌면서 전체 네트워크에서 스테이킹된 총 ETH 중 상당한 비중을 차지하고 있습니다. DVT를 활용하면 스테이킹의 탈중앙성을 유지하면서 독립 운영자들이 존재할 수 있습니다. 각 검증자의 키가 여러 컴퓨터에 분산되므로 검증자가 악의적인 의도를 실행하려면 훨씬 더 큰 규모의 공모가 필요하기 때문입니다.
DVT가 없으면 스테이킹 제공자가 모든 검증자에게 한두 가지의 클라이언트 구성만 지원하는 것이 더욱 용이해져 클라이언트 버그의 영향력이 커집니다. DVT를 도입하여 다양한 클라이언트 구성과 하드웨어로 리스크를 분산시켜 다양성을 통해 회복력을 갖출 수 있습니다.
이더리움이 DVT를 도입하여 얻는 장점은 다음과 같습니다.
- 이더리움 지분증명 합의의 탈중앙성
- 네트워크의 생동감 확보
- 검증자 장애 허용 구축
- 최소화된 검증자 운영 신뢰
- 다운타임 리스크 및 슬래싱 최소화
- 다양성 개선(클라이언트, 데이터 센터, 위치, 규제 등)
- 검증자 키 관리의 보안 강화
DVT는 어떤 원리인가요?
DVT 솔루션이 포함하는 구성 요소는 다음과 같습니다.
- 샤미르의 비밀 공유(opens in a new tab) - 검증자가 BLS 키(opens in a new tab)를 사용합니다. 개별 BLS "키 조각"("키 조각")들을 하나의 합산 키(서명)로 조합할 수 있습니다. DVT에서 검증자의 개인 키는 클러스터 내 각 운영자의 결합된 BLS 서명입니다.
- 임계값 서명 체계(opens in a new tab) - 서명을 실행하는 데 필요한 개별 키 조각의 수를 결정합니다(예: 4개 중 3개).
- DKG(분산형 키 생성)(opens in a new tab) - 키 조각을 생성하고 기존 또는 신규 검증자 키의 조각을 클러스터의 노드에 배포하는 데 사용되는 암호화 프로세스입니다.
- MPC(다자간 계산)(opens in a new tab) - 온전한 검증자 키가 다자간 계산을 사용하여 비공개로 생성됩니다. 개별 운영자는 절대 전체 키를 알 수 없습니다. 본인이 맡은 부분("조각")만 알 수 있습니다.
- 합의 프로토콜 - 합의 프로토콜은 블록 제안자가 될 하나의 노드를 선택하는 방식입니다. 이는 클러스터의 다른 노드와 블록을 공유하며, 노드는 전체 서명에 자신의 키 조각을 추가합니다. 키 조각이 충분히 모이면 블록이 이더리움에 제안됩니다.
분산 검증자에는 장애 허용이 내장되어 있으며 개별 노드 중 일부가 오프라인 상태가 되어도 계속 실행될 수 있습니다. 즉, 일부 노드가 악의적으로 변하거나 작업을 제때 처리하지 않아도 클러스터는 회복력을 가집니다.
DVT 사용 사례
DVT는 광범위한 스테이킹 산업에서 중요한 의미를 가집니다.
솔로 스테이커
DVT는 전체 키를 완전히 오프라인 상태로 유지하는 동시에 원격 노드에 사용자 자신의 검증자 키를 배포할 수 있어 비수탁형 스테이킹도 가능합니다. 즉, 홈 스테이커는 키 조각을 통해 잠재적 해킹에 대비할 수 있지만 하드웨어에 대한 지출을 선행하지 않아도 됩니다.
서비스로서의 스테이킹(SaaS)
수많은 검증자를 관리하는 운영자(스테이킹 풀 및 기관 스테이커 등)는 DVT를 사용하여 위험을 완화할 수 있습니다. 인프라를 분산시켜 운영에 중복성을 더하고 사용하는 하드웨어의 유형을 다양화할 수 있습니다.
DVT는 다수의 노드에 키 관리 책임을 나눠 일부 운영비 역시 공유될 수 있습니다. DVT는 또한 운영 위험과 스테이킹 제공업체의 보험비를 낮출 수도 있습니다.
스테이킹 풀
표준 검증자 설정으로 인해 이익과 손실이 풀 전체에 공유되기 때문에 스테이킹 풀과 유동성 스테이킹 공급자는 다양한 수준의 단일 운영자를 신뢰해야 합니다. 또한 지금까지는 다른 선택지가 없었기 때문에 키 서명을 보호하기 위해 운영자에 의존해야 합니다.
전통적으로 다수의 운영자에 지분을 분산시켜 리스크를 분산시키려고 했지만 각각의 운영자는 여전히 상당한 지분을 독립적으로 관리하고 있습니다. 단일 운영자에 의존하면 해당 운영자의 성능 저하, 다운타임, 손상 또는 오남용이 발생하는 경우 막대한 리스크가 발생합니다.
DVT를 활용하면 운영자에 대한 신뢰를 크게 줄일 수 있습니다. 운영자는 풀을 이용하여 검증자 키를 보관할 필요 없이 스테이킹을 유지할 수 있습니다. 키 조각만 이용되기 때문입니다. 또한 관리되는 스테이킹을 더 많은 운영자들에게 분산할 수도 있습니다(예를 들어, 운영자 1명이 1,000개의 검증자를 관리하는 대신 DVT를 통해 여러 운영자가 1,000개의 검증자를 공동으로 관리할 수 있습니다). 운영자 구성의 다양화를 통해 한 운영자가 가동을 중단해도 다른 운영자들이 검증 작업을 이어 나갈 수 있습니다. 이를 통해 보상은 극대화하면서 더 나은 성능과 복원력으로 중복성과 다양화를 달성합니다.
단일 운영자 신뢰를 최소화할 때 또 다른 이점은 스테이킹 풀을 이용하여 더욱 개방된 비허가형 운영자 참여가 가능하다는 점입니다. 이를 통해 서비스의 위험을 줄이는 한편, 소규모 스테이커와 대규모 스테이커를 쌍으로 묶는 등 엄선된 운영자 집합과 비허가 운영자 집합을 모두 사용하여 이더리움의 분산화를 촉진할 수 있습니다.
DVT의 잠재적 단점
- 추가 구성요소 - DVT 노드도 결함 또는 취약점이 될 수 있습니다. 이를 완화하는 방법은 DVT 노드의 다수 구현, 즉 다수의 DVT 클라이언트를 활용하는 것입니다(합의 및 실행 레이어에 여러 클라이언트가 존재하는 것과 유사함).
- 운영 비용 - DVT는 여러 당사자에 검증자를 분산시키기 때문에 운영을 위해 유일한 단일 노드 대신 더 많은 노드가 필요하며 운영비 증가로 이어집니다.
- 잠재적 지연속도 증가 - DVT는 합의 프로토콜을 활용하여 검증자를 운영하는 여러 노드 간에 합의를 달성하기 때문에 잠재적으로 지연속도가 증가할 수 있습니다.
더 읽을거리
- 이더리움 분산 검증자 사양(고급)(opens in a new tab)
- 이더리움 분산 검증자 기술 사양(opens in a new tab)
- Shamir 비밀 공유 데모 앱(opens in a new tab)