비밀 리더 선출
오늘날의 지분 증명 기반 합의 메커니즘에서는 다음 블록 제안자 목록이 공개되며 이들의 IP 주소를 매핑할 수 있습니다. 이는 공격자가 어떤 검증자가 블록을 제안할 예정인지 식별하고 서비스 거부(DOS) 공격으로 이들을 표적으로 삼아 제시간에 블록을 제안할 수 없게 만들 수 있음을 의미합니다.
이는 공격자에게 이익을 얻을 기회를 만들어 줄 수 있습니다. 예를 들어, n+1 슬롯에 선택된 블록 제안자가 n 슬롯의 제안자에게 DOS 공격을 가하여 블록 제안 기회를 놓치게 할 수 있습니다. 이를 통해 공격하는 블록 제안자는 두 슬롯의 MEV를 모두 추출하거나, 두 블록에 걸쳐 분할되었어야 할 모든 트랜잭션을 가져와 하나의 블록에 모두 포함시켜 관련된 모든 수수료를 얻을 수 있습니다. 이는 DOS 공격으로부터 자신을 보호하기 위해 더 진보된 방법을 사용할 수 있는 정교한 기관 검증자보다 홈 검증자에게 더 큰 영향을 미칠 가능성이 높으며, 따라서 중앙 집중화의 원인이 될 수 있습니다.
이 문제에 대한 몇 가지 해결책이 있습니다. 한 가지는 분산 검증자 기술 (opens in a new tab)인데, 이는 검증자 실행과 관련된 다양한 작업을 중복성을 갖춘 여러 컴퓨터에 분산시켜 공격자가 특정 슬롯에서 블록이 제안되는 것을 방지하기 훨씬 어렵게 만드는 것을 목표로 합니다. 하지만 가장 강력한 해결책은 단일 비밀 리더 선출(SSLE)입니다.
단일 비밀 리더 선출
SSLE에서는 영리한 암호학을 사용하여 선택된 검증자만이 자신이 선택되었음을 알 수 있도록 합니다. 이는 각 검증자가 모두 공유하는 비밀에 대한 약정을 제출함으로써 작동합니다. 약정은 섞이고 재구성되어 아무도 약정을 검증자에 매핑할 수 없지만 각 검증자는 어떤 약정이 자신에게 속하는지 알 수 있습니다. 그런 다음 무작위로 하나의 약정이 선택됩니다. 검증자가 자신의 약정이 선택된 것을 감지하면 블록을 제안할 차례라는 것을 알게 됩니다.
이 아이디어의 주요 구현은 Whisk (opens in a new tab)라고 불립니다. 작동 방식은 다음과 같습니다.
- 검증자는 공유된 비밀에 대해 약정합니다. 약정 체계는 검증자 신원에 바인딩될 수 있으면서도 무작위화되어 제3자가 바인딩을 리버스 엔지니어링하여 특정 약정을 특정 검증자와 연결할 수 없도록 설계되었습니다.
- 에폭이 시작될 때, RANDAO를 사용하여 16,384명의 검증자로부터 약정을 샘플링할 무작위 검증자 집합이 선택됩니다.
- 다음 8182 슬롯(1일) 동안 블록 제안자들은 자신의 개인 엔트로피를 사용하여 약정의 하위 집합을 섞고 무작위화합니다.
- 섞기가 끝나면 RANDAO를 사용하여 약정의 정렬된 목록을 만듭니다. 이 목록은 이더리움 슬롯에 매핑됩니다.
- 검증자는 자신의 약정이 특정 슬롯에 첨부된 것을 확인하고, 해당 슬롯이 도착하면 블록을 제안합니다.
- 약정의 슬롯 할당이 항상 현재 슬롯보다 훨씬 앞서도록 이 단계를 반복합니다.
이는 공격자가 다음 블록을 제안할 특정 검증자를 미리 알 수 없게 하여 DOS 공격의 가능성을 막습니다.
비밀 비단일 리더 선출(SnSLE)
또한 비밀 비단일 리더 선출(SnSLE)로 알려진 작업 증명 하에서 블록 제안이 결정되는 방식과 유사하게, 각 슬롯에서 검증자들이 무작위로 블록을 제안할 기회를 갖는 시나리오를 만드는 것을 목표로 하는 별도의 제안이 있습니다. 이를 수행하는 한 가지 간단한 방법은 오늘날의 프로토콜에서 검증자를 무작위로 선택하는 데 사용되는 RANDAO 함수를 활용하는 것입니다. RANDAO의 아이디어는 많은 독립적인 검증자가 제출한 해시를 혼합하여 충분히 무작위적인 숫자를 생성하는 것입니다. SnSLE에서 이러한 해시는 예를 들어 가장 낮은 값의 해시를 선택하여 다음 블록 제안자를 선택하는 데 사용될 수 있습니다. 유효한 해시의 범위를 제한하여 각 슬롯에서 개별 검증자가 선택될 가능성을 조정할 수 있습니다. 해시가 2^256 * 5 / N보다 작아야 한다고 주장함으로써, 여기서 N = 활성 검증자의 수, 각 슬롯에서 개별 검증자가 선택될 확률은 5/N이 됩니다. 이 예에서는 각 슬롯에서 최소 한 명의 제안자가 유효한 해시를 생성할 확률이 99.3%입니다.
현재 진행 상황
SSLE와 SnSLE는 모두 연구 단계에 있습니다. 두 아이디어 모두 아직 최종 사양이 없습니다. SSLE와 SnSLE는 둘 다 구현될 수 없는 경쟁적인 제안입니다. 출시 전에 더 많은 연구 개발, 프로토타이핑, 공개 테스트넷에서의 구현이 필요합니다.
더 읽어보기
페이지 마지막 업데이트됨: 2024년 4월 11일