[DSRVxObol DVT 첫걸음] Ep 1. DVT란 무엇이며 이더리움 스테이킹을 어떻게 개선하나요?

Youngbin Park
DSRV
Published in
13 min readNov 7, 2023

Disclaimer: 이 글은 정보 전달을 위한 목적으로 작성되었으며, 특정 프로젝트에 대한 투자 권고, 법률적 자문 등 목적으로 하지 않습니다. 모든 투자의 책임은 개인에게 있으며, 이로 발생한 결과에 대해 어떤 부분에서도 DSRV는 책임을 지지 않습니다. 본문이 포괄하는 내용은 특정 자산에 대한 투자를 추천하는 것이 아니며, 언제나 본문의 내용만을 통한 의사결정은 지양하시길 바랍니다.

현재 Distributed Validator Technology(DVT, 분산 밸리데이터 기술)는 이더리움 및 다른 PoS 체인의 미래에 중요한 요소로 여겨지고 있습니다. 오볼(Obol Network)은 누구나 참여가능한(trust-minimized) 스테이킹 생태계를 만들기 위한 DVT 미들웨어(middleware)를 구현하고 있는 프로젝트입니다. 현재 DSRV는 다음 세대의 스테이킹 생태계를 함께 만드는 파트너로 이더리움에서 진행중인 오볼의 메인넷 테스트(Mainnet Alpha Test)에 운영자(operator)로 참여하고 있습니다. 한국 독자 여러분들에게도 DVT를 좀 더 쉽게 소개하고, 실질적인 운영에 도움이 되는 정보를 공유하기 위해 오볼 팀과 컨텐츠 파트너십을 맺게 되었습니다.

그렇게 준비한 첫 번째 콜라보 컨텐츠는 <DVT 첫걸음> 시리즈입니다. 총 3편으로 이루어질 이번 시리즈는 오볼의 오리지널 아티클을 번역 및 재구성한 것으로, 본 시리즈에서는 DVT가 무엇인지에 대한 일반적인 소개를 비롯하여, 이 기술이 각기 다른 유형의 밸리데이터에게 미치는 영향에 대해 자세하게 살펴볼 예정입니다.

  1. DVT란 무엇이며 이더리움 스테이킹을 어떻게 개선하나요? ( 👈 we are here!)
  2. DVT가 Liquid Staking을 돕는 방법
  3. DVT가 At-Home Validator를 돕는 방법

DVT 첫걸음 이후에는 DSRV가 직접 오볼을 통해 밸리데이터를 테스트해 보며 분석한 성능 및 비용에 대한 아티클도 준비중이니 계속해서 콜라보 컨텐츠에 대한 많은 관심 부탁드립니다.

Distributed Validator Technology(DVT)는 이더리움 로드맵의 ‘더 머지(The Merge, PoS 체인으로의 전환)’ 섹션에서 머지 이후 진행될 중요한 다음 단계입니다.

잠깐.. 이미 머지 는 끝나지 않았나요? 맞습니다, 하지만 머지 또한 이더리움 PoS 개발의 또 다른 이정표일 뿐입니다. 실행 레이어(execution layer)와 병합된 이후, 이더리움의 합의 레이어(consensus layer)가 전 세계의 컴퓨터(world computer)가 되기 위해서는 앞으로도 많은 과제가 남아 있습니다.

DVT란 무엇인가요?

💡 DVT는 개인, 그룹 또는 커뮤니티(community)가 운영하는 클러스터(cluster)가 이더리움에서 단일 밸리데이터 역할을 함께 수행할 수 있도록 합니다.

DVT는 이더리움 밸리데이터를 다수의 노드나 머신에서 실행할 수 있도록 하는 기본 기술입니다. 분할된 밸리데이터 노드들의 집합을 DV(Distributed Validator) 클러스터라고 부르며, 개인이나 그룹 또는 커뮤니티가 운영하는 클러스터는 이더리움에서 단일 밸리데이터처럼 함께 작동할 수 있습니다. 밸리데이터를 클러스터로 실행하면 규모에 관계없이 정직한 밸리데이터의 슬래싱 위험을 크게 줄이면서 탄력성(resiliency)을 향상시킬 수 있어 모든 밸리데이터에 대한 스테이킹을 더욱 안전하고 쉽게 만듭니다.

DVT를 통해:

  • 대규모 밸리데이터는 고가용성(high availability)을 보장하고 인프라 비용을 낮출 수 있습니다.
  • 커뮤니티 스테이킹 풀이나 개인 혹은 소규모 밸리데이터는 전문 운영자와 같은 대규모 밸리데이터와 비슷한 보호 수준을 가질 수 있습니다.

결론적으로 DVT는 다양한 유형의 밸리데이터의 참여를 증진하여 스테이킹 지분을 탈중앙화 하는데 도움이 됩니다.

DVT는 왜 중요한가요?

단일 노드(single-node)로 운영되는 밸리데이터는 이더리움의 합의 레이어에 단일 장애 지점(single-point-of-failure)을 생성하여 여러 문제와 위험을 초래할 수 있습니다.

  • 밸리데이터는 쉽게 오프라인 상태가 될 수 있습니다: 단일 노드로 운영되는 밸리데이터는 머신 장애에 대한 대비책이 없습니다. 노드가 가동 중지되면 밸리데이터도 가동 중지되어 잠재적인 보상을 잃거나 이더리움 인프라 전반의 안정성을 저하할 수 있습니다. 이를 방지하기 위해 자본이 풍부한 대형 밸리데이터는 active-passive 이중화를 통해, 기본 환경이 가동 중지될 경우를 대비한 백업(backup) 환경을 갖춥니다. 하지만 이 역시 위험을 가지고 있습니다.
  • active-passive 이중화는 슬래싱(slashing) 위험에 노출됩니다: active-passive 이중화를 효과적으로 활용하기 위해 일부 밸리데이터는 가동 중지 시간(downtime)을 감지하고 즉시 백업 환경을 가동하는 자동화된 스크립트(script)를 사용하기도 합니다. 그러나 잘못된 설정, 스크립트 버그 또는 모니터링 부족으로 인해 두 노드가 동일한 밸리데이터 키로 서명할 경우 슬래싱으로 이어질 수 있습니다. 이는 백업 노드가 있는 모든 밸리데이터가 감수해야 하는 위험입니다.
  • 밸리데이터 노드에는 손상될 수 있는 개인 키가 있습니다: 밸리데이터 노드는 인터넷에 연결되어 있어야 하기 때문에 해커가 키를 탈취하여 밸리데이터를 공격할 수 있는 잠재적인 취약점을 가지고 있습니다.
  • 밸리데이터를 활성화 하기위해 필요한 32ETH는 개인에게는 여전히 높은 요구사항입니다: 초기에 비해 ETH 최소 요구사항이 크게 낮아졌음에도 불구하고, 32ETH의 요구사항은 여전히 밸리데이터가 되기 위해 (운영에 필요한 모든 시간과 비용은 제외하고도) 많은 투자가 필요함을 의미합니다. 따라서 스테이커는 자연스럽게 스스로 스테이킹하는 대신 제3의 관리자 선택하게 됩니다.
  • 지분(stake)과 클라이언트(client)의 중앙화는 네트워크에서 상관관계(correlation) 위험을 초래합니다: 슬래싱이나 보안 위험을 완화하고 효과적으로 밸리데이터를 운영하기 위해서는 인력, 자금, 리소스가 필요합니다. 이처럼 밸리데이터 운영에 적용되는 규모의 경제는 자연스럽게 지분을 중앙화하는 압력을 생성합니다. 운영자는 한두 개의 클라이언트만 사용하는 것이 더 쉽기 때문에, 밸리데이터의 중앙화는 클라이언트의 중앙화로 이어질 수도 잇습니다. 최악의 경우, 악의적인 노드나 풀 운영자에게 지분이 집중되어 전체 네트워크에 막대한 영향을 미칠 수 있습니다.

이러한 문제들을 DVT가 어떻게 해결하는지 알아보기 전에, 먼저 DVT가 어떻게 작동하는지 알아보겠습니다.

DVT는 어떻게 작동하나요?

위에서 언급했듯이 DVT를 사용하면 밸리데이터를 단일 노드가 아닌 DV 클러스터로 실행할 수 있습니다. 클러스터의 각 노드는 완전한 밸리데이터 개인 키를 가지는 대신 분할된 key share(키 조각)들을 가지고 있습니다. 이더리움의 밸리데이터 키는 BLS 서명 체계를 사용하는데, BLS 서명 체계는 여러 키들의 서명을 집계해 하나의 서명을 만들 수 있는 성질을 가지고 있습니다. 클러스터의 각 노드는 key share를 사용하여 partial BLS attestation(서명의 일종)을 생성하고 이들을 threshold BLS aggregation(임계값 서명 집계)를 통해 결합하여 완전한 밸리데이터 키의 서명을 생성해 냅니다. (BLS 서명 체계에 대한 더 자세한 설명은 여기에서 찾아보실 수 있습니다.)수학적인 설명없이 간단하게 알아보자면, 임계값 이라는 이름에서 알 수 있듯이 (4개 중 3개, 7개 중 5개, 10개 중 7개 등) 일정 비율 이상의 노드들이 정상적으로 작동하여 서명을 하면 클러스터가 밸리데이터로서 정상적으로 서명을 하고 역할을 수행할 수 있다는 것을 의미합니다. (밸리데이터 키를 위한 다중 서명(multi-sig) 지갑으로 비유할 수 있습니다.) 달리 말하면, 클러스터의 일부 노드가 가동 중지되더라도 서명 임계값을 충족하기에 충분한 수의 노드가 잘 동작 중이라면 전체 클러스터의 성능에는 영향을 미치지 않는다는 뜻입니다.

(역자: 본 글은 오볼의 DVT 디자인을 기본으로 소개하지만 오볼 뿐만 아니라 다른 DVT 구현 방식들도 존재합니다. 이들은 노드들의 클러스터 및 네트워크를 구성하는 방식이나, 클라이언트의 구조, key share를 만드는 방식, 클러스터 내에서 합의를 이루는 방식까지 다양한 부분에서 차이가 있을 수 있으며, 각자의 장단점을 가지고 있습니다.)

오볼의 DVT

오볼 V1에서 DV 클러스터를 설정하는 단계는 다음과 같습니다:

  • 신뢰할 수 있는 운영자 그룹 구성합니다.
  • 오볼의 DV 런치패드(Launchpad)를 사용하여 cluster definition file을 생성합니다.
  • Distributed Key Generation(DKG) 세레머니를 실행하여 key share를 생성합니다.
  • 각 운영자가 노드를 구성하고 실행하여 소규모 P2P 네트워크를 형성합니다.
  • 총 32ETH를 예치하여 클러스터의 밸리데이터를 활성화합니다(각 클러스터는 여러 개의 밸리데이터 노드를 실행할 수 있습니다).
  • 임계값을 충족할 만큼 충분한 노드가 실행되면 클러스터가 활성화됩니다.

DVT는 이더리움의 스테이킹을 어떻게 개선하나요?

💡 DVT는 이더리움 네트워크에서 탈중앙화와 탄력성을 높이고 위험을 줄여줍니다.

간단히 말해, DVT를 사용하면 단일 노드가 아닌 DV 클러스터로 밸리데이터를 운영할 수 있습니다. 이를 통해 단일 장애 지점을 제거할 뿐만 아니라, 밸리데이터의 슬래싱 위험을 증가시키지 않으면서 일부 노드에 장애가 있더라도 임계값 이상의 노드가 활성화되어 있으면 클러스터가 활성화되는 active-active 이중화 구조를 구축할 수 있습니다. 이는 모든 규모의 밸리데이터에게 도움이 됩니다:

  • 대규모 밸리데이터: 이중화를 개선하고 슬래싱 위험을 낮춰 더 적은 수의 머신에서 더 많은 노드를 실행할 수 있으므로 하드웨어 비용이 절감됩니다. 또한 스스로를 보호하기 위해 슬래싱 보험을 가입하는 경우 필요한 보험 금액을 낮출 수 있습니다. 클러스터당 여러 노드를 실행하면 노드마다 클라이언트 구성과 지역을 더 다양하게 분산할 수 있으므로 단일 위치 또는 클라이언트 유형에서 발생하는 장애의 상관관계 위험을 줄일 수 있습니다.
  • 리퀴드 스테이킹 프로토콜(Liquid Staking Protocol, LSP): LSP의 경우, DVT를 통해 밸리데이터의 유효성(effectiveness)을 개선하고 위험을 줄이는 것 외에도, 더 많은 운영자를 참여시킬 수 있습니다. 운영자를 서로 다른 클러스터로 구성하여 한 운영자에 문제가 있더라도 임계값 이상의 다른 운영자가 정상 동작 중이면, 밸리데이터의 역할 수행에 영향을 미치지 않습니다. LSP는 DVT를 통해 단일 운영자에 대한 의존성을 낮추고, 궁극적으로 LSP 스테이커를 위한 프로토콜의 성능을 향상시킬 수 있습니다.
  • 커뮤니티 및 개인 밸리데이터(At-home Valdiator, 자신 소유의 장비를 사용하는 밸리데이터) : 가장 중요한 점은 DVT를 사용하면 소규모 밸리데이터가 단독이 아닌 다른 이들과 함께 밸리데이터를 운영함으로써 더 안정적으로 대규모 밸리데이터에 필적하는 가동 시간(uptime)과 유효성을 제공할 수 있다는 것입니다. 또한 여러 노드가 밸리데이터를 활성화 하는데 필요한 32ETH를 함께 구성할 수 있어, 개인의 부담을 낮출 수 있습니다. 이를 통해 DVT는 가정이나 사무실에서 참여하는 개인 밸리데이터를 늘릴 수 있는 잠재력을 가지고 있습니다.

어떤 유형의 밸리데이터이든, 궁극적으로 밸리데이터의 분포가 어떠해야 한다고 생각하든, DVT는 이더리움 네트워크의 탈중앙화 및 탄력성을 향상시키고 위험를 줄입니다. 이는 이더리움 생태계의 모든 이들에게 혜택을 줄 수 있는 기본 기술입니다. 그렇지만 몇 가지 고려해야 할 사항이 있습니다.

DVT의 단점은 무엇인가요?

DVT가 이중화를 위해 이더리움 합의 레이어에 추가하는 미들웨어 구조에는 단점이 존재합니다.

  • 복잡성 증가: 다른 다중 노드(multi-node) 환경과 마찬가지로, DVT로 밸리데이터를 운영하기 위해서는 더 많은 구성 요소가 필요합니다. 이는 클러스터의 여러 운영자 간 조율이 필요하며, 문제가 발생할 수 있는 잠재적인 영역을 추가합니다.
  • 지연 시간(Latency): DVT는 클러스터 내 노드 간의 합의 매커니즘과 메세지로 인해 추가적인 네트워크 홉(hop)이 필요합니다. 그러나 이는 단일 가십(gossip) 네트워크가 아닌 클러스터의 노드 간에 직접 P2P 연결을 사용하도록 DVT를 설계함으로써 완화할 수 있습니다.
  • 운영 비용: DVT를 실행하는 데는 단일 노드가 아닌 여러 노드가 참여해야 하므로 운영 및 하드웨어 비용이 증가합니다. 밸리데이터의 탄력성이 향상되어 동일한 머신에서 더 많은 밸리데이터를 실행할 수 있기 때문에, 비용의 일부가 상쇄될 수도 있습니다.

이더리움의 구조가 고착됨에 따라 프로토콜 수준의 변경 없이 이더리움 네트워크에서 필요한 서비스를 제공하기 위해 미들웨어 구성 요소의 필요성이 증가할 것입니다. 앞에서 언급한 장단점은 어떠한 미들웨어에나 존재하며, 이러한 단점을 최대한 완화하기 위한 고민이 이루어져야 합니다.

DVT는 앞으로 어디로 갈까요?

💡 밸리데이터는 단일 주체가 아닌 커뮤니티로 운영되어야 합니다.

이더리움의 머지 이후 잠재적인 네트워크 오류를 줄이고 탈중앙화를 개선하며 네트워크를 지속적으로 확장하기 위해서는 스테이킹 커뮤니티 전체가 DVT를 개발, 테스트, 채택하는 데 참여하는 것이 중요합니다. 가장 중요한 것은 생태계가 밸리데이터를 개별 주체가 아닌 커뮤니티로 운영해야 한다는 점을 인식하는 것 입니다. 이를 위해 현재 오볼 팀은 많은 사람들과 협력하여 DVT를 이더리움 메인넷에 도입하기 위해 노력하고 있습니다.

원문: https://blog.obol.tech/what-is-dvt-and-how-does-it-improve-staking-on-ethereum/

Written by
Corver Roos and Brett Li @ Obol Labs

Translated by
Youngbin Park @ DSRV Labs

추가 자료

DVT에 대한 더 자세한 내용을 찾고 계시다면 커뮤니티의 다른 글과 강연을 확인해 보세요.

이전에 DSRV가 소개하였던 오볼의 DVT를 통해 이더리움 밸리데이터를 시작하는 과정도 함께 확인해 보세요

--

--