오늘날 Ethereum 연구 포럼에서는 Proof of Validator라는 새로운 개념이 조용히 탄생했습니다.
이 프로토콜 메커니즘을 통해 네트워크 노드는 특정 신원을 공개하지 않고도 자신이 이더리움 검증자임을 증명할 수 있습니다.
이것이 우리와 무슨 관련이 있습니까?
정상적인 상황에서 시장은 이더리움의 특정 기술 혁신으로 인해 발생하는 피상적인 이야기에 더 주의를 기울일 가능성이 높으며 기술 자체를 사전에 깊이 조사하는 경우는 거의 없습니다. 예를 들어 상하이 업그레이드, 합병, PoW에서 PoS로의 이전, 이더리움 확장 등 시장에서는 LSD, LSDFi 및 재약정에 대한 이야기만 기억합니다.
그러나 Ethereum의 최우선 순위는 성능과 보안이라는 점을 잊지 마십시오. 전자가 상한선을 결정하고 후자가 최종선을 결정합니다.
한편으로는 이더리움이 성능 향상을 위해 다양한 확장 솔루션을 적극적으로 추진해 왔지만, 다른 한편으로는 확장을 향한 길에서는 내부 기술을 연습하는 것 외에도 외부에 대한 경계도 필요하다는 것을 분명히 알 수 있습니다. 공격.
예를 들어 검증 노드가 공격을 받아 데이터를 사용할 수 없는 경우 이더리움 서약 로직을 기반으로 하는 모든 내러티브와 확장 계획이 전신에 영향을 받을 수 있습니다. 단지 영향과 위험이 뒤에 숨겨져 있을 뿐이고, 최종 사용자와 투기꾼은 감지하기 어렵고 때로는 신경 쓰지도 않습니다.
이 글에서 논의할 검증인 증명(Proof of Validator)은 이더리움 확장 과정에서 중요한 보안 퍼즐이 될 수 있습니다.
용량 확장은 필수적이기 때문에 용량 확장 과정에서 발생할 수 있는 위험을 어떻게 줄이는지는 피할 수 없는 보안 문제이며, 이는 우리 모두와 밀접한 관련이 있습니다.
따라서 새로 제안된 검증자 증명(Proof of Validator)의 전체 그림을 명확히 할 필요가 있습니다. 그러나 기술 포럼의 전문은 너무 단편적이고 하드코어하며 확장 계획과 개념이 많이 포함되어 있기 때문에 Shenchao 연구소는 원본 게시물을 통합하고 필요한 관련 정보를 정리하고 배경, 필요성에 대한 분석을 수행합니다. 검증인 증명(Proof of Validator)의 영향에 대해 알아보세요.
데이터 가용성 샘플링: 용량 확장을 위한 혁신
걱정하지 마세요. Proof of Validator를 공식적으로 도입하기 전에 Ethereum의 현재 확장 논리와 관련된 위험을 이해하는 것이 필요합니다.
이더리움 커뮤니티는 여러 확장 계획을 적극적으로 추진하고 있습니다. 그 중 가장 핵심적인 기술로 꼽히는 것이 바로 DAS(Data Availability Sampling)이다.
원칙은 전체 블록 데이터를 여러 개의 "샘플"로 나누는 것입니다. 네트워크의 노드는 전체 블록을 확인하기 위해 자신과 관련된 몇 가지 샘플만 얻으면 됩니다.
이렇게 하면 노드당 저장 용량과 계산량이 크게 줄어듭니다. 이해하기 쉽게 예시하자면, 이는 우리의 표본 조사와 유사하며, 다양한 사람들을 인터뷰함으로써 전체 인구의 전반적인 상황을 요약할 수 있습니다.
이렇게 하면 노드당 저장 용량과 계산량이 크게 줄어듭니다. 이해하기 쉽게 예시하자면, 이는 우리의 표본 조사와 유사하며, 다양한 사람들을 인터뷰함으로써 전체 인구의 전반적인 상황을 요약할 수 있습니다.
구체적으로 DAS 구현을 간략하게 설명하면 다음과 같다.
- 블록 생산자는 블록 데이터를 여러 샘플로 분할합니다.
- 각 네트워크 노드는 전체 블록 데이터가 아닌 관심의 몇 가지 샘플만 얻습니다.
- 네트워크 노드는 다양한 샘플을 획득하여 전체 블록 데이터가 사용 가능한지 여부를 무작위로 샘플링하고 확인할 수 있습니다.
이 샘플링을 통해 각 노드가 소량의 데이터만 처리하더라도 함께 전체 블록체인의 데이터 가용성을 완전히 확인할 수 있습니다. 이를 통해 블록 크기를 크게 늘리고 빠른 확장을 달성할 수 있습니다.
그러나 이 샘플링 방식에는 중요한 문제가 있습니다: 대량의 샘플이 어디에 저장되어 있습니까?이를 지원하려면 전체 분산 네트워크 세트가 필요합니다.
분산 해시 테이블: 샘플 홈
이는 분산 해시 테이블(DHT)의 재능을 보여줄 기회를 제공합니다.
DHT는 해시 함수를 사용하여 데이터를 주소 공간에 매핑하고 서로 다른 노드가 서로 다른 주소 세그먼트의 데이터에 액세스하는 거대한 분산 데이터베이스로 간주될 수 있습니다. 대규모 노드에서 샘플을 빠르게 찾고 저장하는 데 사용할 수 있습니다.
특히, DAS는 블록 데이터를 여러 샘플로 나눈 후 이러한 샘플을 네트워크의 여러 노드에 배포하여 저장해야 합니다. DHT는 이러한 샘플을 저장하고 검색하는 분산형 방법을 제공할 수 있으며 기본 아이디어는 다음과 같습니다.
- 일관된 해시 함수를 사용하여 샘플은 거대한 주소 공간에 매핑됩니다.
- 네트워크의 각 노드는 주소 범위 내에서 데이터 샘플을 저장하고 제공하는 역할을 담당합니다.
- 특정 샘플이 필요한 경우 해시를 통해 해당 주소를 찾을 수 있으며, 주소 범위를 담당하는 노드를 네트워크에서 찾아 샘플을 얻을 수 있습니다.
예를 들어, 특정 규칙에 따라 각 샘플은 주소로 해시될 수 있으며, 노드 A는 0-1000의 주소를 담당하고, 노드 B는 1001-2000의 주소를 담당합니다.
그런 다음 주소 599의 샘플이 노드 A에 저장됩니다. 이 샘플이 필요한 경우 동일한 해시를 통해 주소 599를 조회한 후 네트워크에서 해당 주소를 담당하는 노드 A를 조회하여 샘플을 가져옵니다.
이 방법은 중앙 집중식 스토리지의 한계를 깨고 내결함성과 확장성을 크게 향상시킵니다. 이것이 바로 DAS 샘플 저장에 필요한 네트워크 인프라입니다.
중앙 집중식 저장 및 검색과 비교하여 DHT는 내결함성을 향상시키고 단일 실패 지점을 방지하며 네트워크 확장성을 향상시킬 수 있습니다. 또한 DHT는 DAS에서 언급된 "샘플 은닉"과 같은 공격을 방어하는 데도 도움이 될 수 있습니다.
중앙 집중식 저장 및 검색과 비교하여 DHT는 내결함성을 향상시키고 단일 실패 지점을 방지하며 네트워크 확장성을 향상시킬 수 있습니다. 또한 DHT는 DAS에서 언급된 "샘플 은닉"과 같은 공격을 방어하는 데도 도움이 될 수 있습니다.
DHT의 문제점: 시빌 공격(Sybil Attack)
그러나 DHT에는 시빌 공격의 위협인 아킬레스 건도 있습니다. 공격자는 네트워크에 수많은 가짜 노드를 생성할 수 있으며, 주변의 실제 노드는 이러한 가짜 노드에 의해 "압도"될 것입니다.
비유하자면, 정직한 행상인은 위조품이 줄지어 늘어서 있고 사용자가 정품을 찾기가 어렵습니다. 이러한 방식으로 공격자는 DHT 네트워크를 제어하고 샘플을 사용할 수 없게 만들 수 있습니다.
예를 들어 주소 1000에서 샘플을 얻으려면 이 주소를 담당하는 노드를 찾아야 합니다. 그러나 공격자가 생성한 수만 개의 가짜 노드에 둘러싸여 요청은 지속적으로 가짜 노드로 전달되며 실제로 주소를 담당하는 노드에는 도달할 수 없습니다. 그 결과 샘플을 얻을 수 없고, 보관과 검증 모두 실패하게 됩니다.
이 문제를 해결하려면 검증자 노드만 참여하는 DHT에 신뢰도가 높은 네트워크 계층을 구축해야 합니다. 그러나 DHT 네트워크 자체는 노드가 검증자인지 여부를 식별할 수 없습니다.
이는 DAS와 이더리움의 확장을 심각하게 방해합니다. 이러한 위협에 저항하고 네트워크의 신뢰성을 보장할 수 있는 방법이 있습니까?
Proof of Validator: 확장의 보안을 지켜주는 ZK 솔루션
이제 이 문서의 주요 요점인 검증인 증명으로 돌아가겠습니다.
오늘 이더리움 기술 포럼에서는 George Kadianakis, Mary Maller, Andrija Novakovic, Suphanat Chunhapanya가 공동으로 이 제안을 제안했습니다.
일반적인 아이디어는 이전 섹션의 DHT 확장 계획에서 정직한 검증자만 DHT에 가입할 수 있는 방법을 찾을 수 있다면 Sybil 공격을 시작하려는 악의적인 사람도 많은 양의 ETH를 약속해야 한다는 것입니다. .악한 일을 하는 데 드는 비용이 경제적으로 크게 늘어납니다.
즉, 이 아이디어는 우리에게 더 친숙합니다. 나는 당신이 좋은 사람이고 당신의 신원을 몰라도 나쁜 사람을 식별할 수 있다는 것을 알고 싶습니다.
정보가 제한된 이러한 종류의 증명 시나리오에서는 영지식 증명이 분명히 유용할 수 있습니다.
따라서 검증자 증명(이하 PoV)을 사용하면 정직한 검증 노드로만 구성된 매우 신뢰할 수 있는 DHT 네트워크를 구축하여 Sybil 공격에 효과적으로 저항할 수 있습니다.
기본 아이디어는 각 검증 노드가 블록체인에 공개 키를 등록한 다음 영지식 증명 기술을 사용하여 공개 키에 해당하는 개인 키를 알고 있음을 증명하는 것입니다. 이는 자신이 검증 노드임을 증명하기 위해 자신의 신원 인증서를 꺼내는 것과 같습니다.
또한 PoV는 검증 노드에 대한 DoS(서비스 거부) 공격에 대비하여 네트워크 계층에서 검증자의 신원을 숨기도록 설계되었습니다. 즉, 프로토콜은 공격자가 어떤 DHT 노드가 어떤 유효성 검사기에 해당하는지 알 수 있을 것으로 기대하지 않습니다.
또한 PoV는 검증 노드에 대한 DoS(서비스 거부) 공격에 대비하여 네트워크 계층에서 검증자의 신원을 숨기도록 설계되었습니다. 즉, 프로토콜은 공격자가 어떤 DHT 노드가 어떤 유효성 검사기에 해당하는지 알 수 있을 것으로 기대하지 않습니다.
그럼 어떻게 해야 할까요? 원래 게시물에서는 많은 수학 공식과 파생이 사용되었으므로 여기서는 자세히 설명하지 않겠습니다. 단순화된 버전을 제공합니다.
구체적인 구현 측면에서는 머클 트리(Merkle tree)나 룩업 테이블(Lookup table)을 사용한다. 예를 들어 공개키 목록의 머클트리에 등록 공개키가 존재함을 머클 트리를 이용하여 증명하고, 이 공개키에서 파생된 네트워크 통신 공개키가 일치함을 증명한다. 모든 과정은 영지식 증명으로 구현되며, 실제 신원은 공개되지 않습니다.
이러한 기술적 세부 사항을 건너뛰면 PoV의 최종 효과는 다음과 같습니다.
신원 확인을 통과한 노드만 DHT 네트워크에 참여할 수 있으며 보안이 크게 향상되어 Sybil 공격에 효과적으로 저항하고 샘플이 의도적으로 숨기거나 수정되는 것을 방지할 수 있습니다. PoV는 DAS에 안정적인 기본 네트워크를 제공하여 이더리움의 빠른 확장을 간접적으로 지원합니다.
그러나 현재 PoV는 아직 이론적인 연구 단계에 머물러 있으며, 구현 가능 여부에 대해서는 여전히 불확실성이 존재합니다.
하지만 본 게시물의 여러 연구자들이 소규모로 실험을 진행한 결과, ZK 증명을 제안하는 PoV의 효율성과 증명을 받는 검증자의 효율성이 나쁘지 않은 것으로 나타났습니다. 그들의 실험 장비는 5년 전만 해도 Intel i7 프로세서만 탑재한 노트북일 뿐이라는 점은 언급할 가치가 있습니다.
마지막으로, 현재 PoV는 아직 이론적 연구 단계에 있어 구현 가능 여부에 대한 불확실성이 여전히 존재합니다. 그럼에도 불구하고 이는 블록체인의 확장성을 높이기 위한 중요한 단계를 나타냅니다. Ethereum 확장 로드맵의 핵심 구성 요소로서 전체 업계의 지속적인 관심을 받을 가치가 있습니다.
모든 댓글