가스퍼
페이지 마지막 업데이트됨: 2025년 10월 21일
Gasper는 Casper the Friendly Finality Gadget(Casper-FFG)과 LMD-GHOST 포크 선택 알고리즘의 조합입니다. 이 구성 요소들은 함께 지분 증명 이더리움을 보호하는 합의 메커니즘을 형성합니다. 캐스퍼는 특정 블록을 "최종 승인된" 상태로 업그레이드하여 네트워크에 새로 진입하는 참가자들이 정식 체인을 동기화하고 있음을 확신할 수 있도록 하는 메커니즘입니다. 포크 선택 알고리즘은 누적된 투표를 사용하여 블록체인에서 포크가 발생할 때 노드가 올바른 포크를 쉽게 선택할 수 있도록 합니다.
참고 Casper-FFG의 원래 정의는 Gasper에 포함되기 위해 약간 업데이트되었습니다. 이 페이지에서는 업데이트된 버전을 다룹니다.
필수 자료
이 자료를 이해하려면 지분 증명에 대한 소개 페이지를 읽어야 합니다.
Gasper의 역할
Gasper는 지분 증명 블록체인 위에 위치하며, 노드는 블록을 제안하거나 검증하는 데 게으르거나 부정직할 경우 파기될 수 있는 보안 보증금으로 이더를 제공합니다. Gasper는 검증자가 보상과 처벌을 받는 방법, 수락하거나 거부할 블록, 그리고 구축할 블록체인의 포크를 결정하는 메커니즘입니다.
최종 승인이란 무엇인가요?
최종 승인은 특정 블록의 속성으로, 심각한 합의 실패가 있었고 공격자가 총 스테이킹된 이더의 최소 1/3을 파괴하지 않는 한 되돌릴 수 없음을 의미합니다. 최종 승인된 블록은 블록체인이 확신하는 정보로 생각할 수 있습니다. 블록이 최종 승인되려면 2단계 업그레이드 절차를 거쳐야 합니다.
- 총 스테이킹된 이더의 3분의 2가 해당 블록이 정식 체인에 포함되는 것에 찬성 투표를 해야 합니다. 이 조건은 블록을 "정당화된" 상태로 업그레이드합니다. 정당화된 블록은 되돌려질 가능성이 낮지만, 특정 조건 하에서는 되돌려질 수 있습니다.
- 정당화된 블록 위에 다른 블록이 정당화되면 "최종 승인된" 상태로 업그레이드됩니다. 블록을 최종 승인하는 것은 해당 블록을 정식 체인에 포함시키겠다는 약속입니다. 공격자가 수백만 이더(수십억 달러)를 파괴하지 않는 한 되돌릴 수 없습니다.
이러한 블록 업그레이드는 모든 슬롯에서 발생하는 것이 아닙니다. 대신, 에폭 경계 블록만이 정당화되고 최종 승인될 수 있습니다. 이 블록들은 "체크포인트"로 알려져 있습니다. 업그레이드는 체크포인트 쌍을 고려합니다. 더 오래된 체크포인트를 최종 승인하고 더 최신 블록을 정당화하려면 두 개의 연속된 체크포인트 사이에 "초과 과반수 링크"가 있어야 합니다(즉, 총 스테이킹된 이더의 3분의 2가 체크포인트 B가 체크포인트 A의 올바른 후손이라고 투표해야 합니다).
최종 승인은 블록이 정식이라는 것에 대한 3분의 2의 동의를 필요로 하므로, 공격자는 다음 없이는 대체 최종 승인 체인을 생성할 수 없습니다.
- 총 스테이킹된 이더의 3분의 2를 소유하거나 조작하는 것.
- 총 스테이킹된 이더의 최소 3분의 1을 파괴하는 것.
첫 번째 조건은 체인을 최종 승인하는 데 스테이킹된 이더의 3분의 2가 필요하기 때문에 발생합니다. 두 번째 조건은 총 스테이킹의 3분의 2가 두 포크 모두에 찬성 투표한 경우, 3분의 1은 두 포크 모두에 투표했음에 틀림없기 때문에 발생합니다. 이중 투표는 최대로 처벌되는 슬래싱 조건이며, 총 스테이킹의 3분의 1이 파괴됩니다. 2022년 5월 기준, 이를 위해서는 공격자가 약 100억 달러 상당의 이더를 소각해야 합니다. Gasper에서 블록을 정당화하고 최종 승인하는 알고리즘은 Casper the Friendly Finality Gadget(Casper-FFG) (opens in a new tab)을 약간 수정한 형태입니다.
인센티브 및 슬래싱
검증자는 정직하게 블록을 제안하고 검증한 것에 대해 보상을 받습니다. 이더가 보상으로 지급되어 그들의 스테이킹에 추가됩니다. 반면에, 자리를 비우거나 호출되었을 때 행동하지 않는 검증자는 이러한 보상을 놓치고 때로는 기존 스테이킹의 일부를 잃게 됩니다. 하지만 오프라인 상태에 대한 페널티는 작으며, 대부분의 경우 보상을 놓치는 기회비용에 해당합니다. 그러나 일부 검증자 행동은 우발적으로 하기가 매우 어렵고 악의적인 의도를 나타냅니다. 예를 들어 동일한 슬롯에 여러 블록을 제안하거나, 동일한 슬롯에 대해 여러 블록을 증명하거나, 이전 체크포인트 투표와 모순되는 경우입니다. 이러한 행위는 더 엄격하게 처벌되는 "슬래싱 가능" 행위입니다. 슬래싱은 검증자 스테이킹의 일부를 소각하고 검증자를 검증자 네트워크에서 제거하는 결과를 낳습니다. 이 과정은 36일이 걸립니다. 첫째 날에는 최대 1 ETH의 초기 페널티가 부과됩니다. 그 후 슬래싱된 검증자의 이더는 출금 기간 동안 서서히 소진되지만, 18일째에는 "상관관계 페널티"를 받게 되는데, 이는 더 많은 검증자가 비슷한 시기에 슬래싱될 때 더 커집니다. 최대 페널티는 전체 스테이킹 금액입니다. 이러한 보상과 페널티는 정직한 검증자에게 인센티브를 제공하고 네트워크에 대한 공격을 억제하도록 설계되었습니다.
비활성 누수
보안뿐만 아니라 Gasper는 "그럴듯한 활성"도 제공합니다. 이는 총 스테이킹된 이더의 3분의 2가 정직하게 투표하고 프로토콜을 따르는 한, 다른 어떤 활동(예: 공격, 지연 문제 또는 슬래싱)과 관계없이 체인이 최종 승인될 수 있다는 조건입니다. 다시 말해, 체인의 최종 승인을 막으려면 총 스테이킹된 이더의 3분의 1이 어떻게든 손상되어야 합니다. Gasper에는 "비활성 누수"로 알려진 활성 실패에 대한 추가 방어선이 있습니다. 이 메커니즘은 체인이 4 에폭 이상 최종 승인에 실패했을 때 활성화됩니다. 다수 체인을 활발히 증명하지 않는 검증자들의 스테이킹은 다수가 총 스테이킹의 3분의 2를 되찾을 때까지 점차 소진되어, 활성 실패가 일시적임을 보장합니다.
포크 선택
Casper-FFG의 원래 정의에는 가장 높은 높이를 가진 정당화된 체크포인트를 포함하는 체인을 따르라는 규칙을 부과하는 포크 선택 알고리즘이 포함되어 있었으며, 여기서 높이는 제네시스 블록으로부터의 가장 큰 거리로 정의됩니다. Gasper에서는 원래의 포크 선택 규칙이 더 이상 사용되지 않으며, LMD-GHOST라는 더 정교한 알고리즘이 선호됩니다. 정상적인 조건에서는 포크 선택 규칙이 불필요하다는 것을 깨닫는 것이 중요합니다. 모든 슬롯에 대해 단일 블록 제안자가 있으며, 정직한 검증자들이 이를 증명합니다. 포크 선택 알고리즘은 네트워크 비동기성이 크거나 부정직한 블록 제안자가 모순된 정보를 제공한 경우에만 필요합니다. 하지만 그러한 경우가 발생할 때, 포크 선택 알고리즘은 올바른 체인을 보호하는 중요한 방어 수단입니다.
LMD-GHOST는 "latest message-driven greedy heaviest observed sub-tree"의 약자입니다. 이는 증명의 누적 가중치가 가장 큰 포크를 정식 포크로 선택하고(greedy heaviest subtree), 검증자로부터 여러 메시지를 받은 경우 최신 메시지만 고려하는(latest-message driven) 알고리즘을 정의하는 전문 용어가 많은 방식입니다. 가장 무거운 블록을 자신의 정식 체인에 추가하기 전에, 모든 검증자는 이 규칙을 사용하여 각 블록을 평가합니다.