
Layer2의 인센티브 메커니즘에 대해: FOX에서 다시 한번 활용된 Fiat-Shamir 휴리스틱
글: 맹현제(Fox Tech 수석 과학자), 강수열(Fox Tech CEO)
서론
Layer1은 합의에 도달하기 위해 분산 시스템으로서 높은 통신 비용이 들며, 많은 계산 또한 높은 가스를 소비한다. 따라서 Layer1의 확장인 Layer2 설계는 Layer1의 효율성을 효과적으로 향상시킬 수 있다. 그러나 이 관점에서 보면, Layer2 설계 역시 Layer1과 동일한 큰 난제에 직면해 있는데, 바로 탈중앙화 정도와 효율성 간의 균형을 어떻게 맞출 것인지이다.
zkRollup은 매우 유망한 Layer2 확장 방안으로, 계산을 오프체인으로 옮기고 Layer1 체인에 제로지식 증명을 제공함으로써 이를 실현한다. zkRollup 방안 구현 중 FOX 시스템은 현재 주류 구조를 채택하여 두 가지 주요 노드인 Sequencer와 Folder를 갖는다. 간단히 말해, Sequencer는 사용자가 제출한 거래를 정렬하고 패키징하며 Layer2 체인 상태를 업데이트하는 역할을 하고, Folder는 Sequencer가 패키징한 거래에 대해 증명을 생성하여 Layer1에 제출하는 역할을 한다.
의미 있는 질문 하나는, Layer2 노드가 탈중앙화되어야 하는가, 그리고 만약 그렇다면 이를 보장하기 위한 인센티브 메커니즘을 어떻게 설계할 것인가이다. 상상해보면, Layer1의 효율성이 낮은 본질적인 이유는 탈중앙화를 실현하기 위해 각 노드가 많은 계산과 통신을 수행해야 하기 때문이다. Layer2 시스템을 사용하면 계산 과정이 분리되지만, 여기에서도 여전히 Layer1과 완전히 동일한 탈중앙화 모델을 사용한다면 같은 이유로 Layer2의 혼잡이 다시 발생하게 된다. 따라서 여기서 균형을 맞추어야 한다.
인센티브 메커니즘 설계란 Layer2 노드가 인센티브 수수료를 받는 방식과 Layer2 노드에게 지불되는 비용을 조정함으로써 노드들이 Layer2 시스템 유지에 참여하도록 유도하는 것이다. 본질적으로 Layer2 노드가 받는 인센티브 수수료는 이더리움과 마찬가지로 거래를 제출하는 사용자가 지불하는 가스 요금에서 나온다. 본고에서는 FOX 시스템 내에서 FOX 노드가 시스템 수수료 수취에 어떻게 참여하고, 그렇게 하는 이유에 대해 논의할 것이다.
가스의 역할
먼저 이더리움 시스템에서 가스 요금의 역할을 되짚어보자. Layer1의 계산 자원은 한정되어 있으며, 사용자가 거래를 제출할 때 거래 가스 요금을 지정하는데, 가스 요금은 기본적으로 거래 실행 작업의 복잡도와 관련이 있으며, 더 높은 가스 요금을 지불하려는 사용자는 더 우선적으로 거래가 실행된다. 채굴자의 인센티브는 패키징한 블록의 총 가스 요금에서 나오는 것이다. 또한 가스 요금 메커니즘은 악의적인 계약(예: 무한 루프)을 효과적으로 방지하고, 블록 용량 크기를 제한함으로써 일정 부분 보안을 보장한다.
따라서 가스 요금의 적절한 활용은 본질적으로 체인상 계산 자원의 합리적 스케줄링 및 배분이며, 동시에 프로젝트팀, 채굴자, 사용자 간의 다자간 게임이다. 좋은 인센티브 메커니즘 설계와 수수료의 사용 및 배분은 시스템 운영에 매우 중요하다.
거래의 체인 등재 절차
사용자는 FOX 시스템 내 트랜잭션 풀에 거래를 제출하면서 동시에 FOX 노드의 인센티브를 위한 수수료를 부가해야 한다. 이후 시스템 내 Sequencer 노드가 트랜잭션 풀에서 거래를 가져와 패키징하고 순서를 정리한다. 매번 패키징된 거래들은 Layer2의 블록을 구성하며, Sequencer는 거래를 실행 계산하고 그 결과를 Layer1의 FOX 컨트랙트에 전송해야 하며, 또한 Sequencer는 거래 데이터를 ZK-Ringer에 저장하여 데이터 가용성을 보장해야 한다. 이후 Sequencer의 정렬 결과와 계산 결과는 Folder 노드로 전달되며, Folder는 올바른 증명(증명 집합 부분 포함)을 계산하여 Layer1 컨트랙트에 제출한다. 이 과정에서 Sequencer가 수행한 거래 결과는 실행 종료 후 즉시 Layer2에 업데이트되지만, 거래가 Layer1 합의에 의해 진정으로 인정되는 시점은 Folder의 증명이 검증된 이후라고 볼 수 있다.
이 절차에서 볼 수 있듯이, 사용자가 처음 부가한 수수료는 다음과 같은 여러 목적에 사용되어야 한다:
-
Sequencer에게 지급되는 수수료
-
Folder에게 지급되는 수수료
-
Sequencer가 거래 결과를 Layer1에 제출할 때 드는 가스비
-
Sequencer가 정보를 ZK-Ringer에 저장할 때 드는 수수료
-
Folder가 컨트랙트를 호출할 때 드는 가스비
따라서 우리는 다양한 당사자의 참여를 유도하기 위해 구체적인 메커니즘을 정비할 필요가 있다.
FOX의 인센티브 메커니즘
FOX의 인센티브 모델은 비교적 새로운 형태이다. 먼저 탈중앙화와 효율성 문제를 조화시키기 위해 노드의 역할을 거래를 정렬하고 실행하는 Sequencer 노드와 거래 실행의 정확성에 대한 증명을 생성하고 집약하는 Folder 노드로 나눈다. FOX의 Folder 노드는 탈중앙화 모델을 채택하고 있어, 어떤 FOX 채굴자라도 네트워크에 접속하여 증명 생성자로 활동할 수 있다. 더 많은 노드의 참여를 장려하기 위해 Layer1 컨트랙트에 올바른 증명을 성공적으로 제출한 Folder는 토큰 보상을 받을 수 있다. 동시에 산업 낭비를 피하기 위해, 단지 최초의 증명 제출자만 보상을 받는 것이 아니라, 최초 제출자가 성공적으로 제출한 후 일정 시간 창과 수량 창 내(구체적인 파라미터는 시스템 상태에 따라 조정됨) 모든 올바른 증명 제출자들이 보상을 받을 수 있다고 밝혔다.

그림 1: 원본 버전의 인센티브 모델
하지만 이러한 메커니즘 하에서 악의적인 Folder가 교묘한 공격을 할 수 있다.
어떤 악의적인 Folder(Adv라 하자)가 증명 생성을 완료한 후, 한편으로는 증명을 Layer1의 Verifier 컨트랙트에 제출하여 검증을 받고, 다른 한편으로는 일부 노드들(또는 Adv가 제어하는 노드들)과 결탁하여 이미 계산된 증명을 이들에게 알려준다. 그러면 이들은 자체 계산 없이 Adv가 계산한 증명을 직접 제출하여 일정 부분의 보상을 받을 수 있게 된다. 이 과정에서 그들은 어떠한 연산력도 소모하지 않으며, 다른 말로 하면 Adv는 적은 연산력으로 여러 배의 수익을 얻게 되며, 다른 노드들이 올바른 증명을 생성하더라도 Adv와 경쟁하기 어렵게 된다.

그림 2: 악의적인 Folder의 공격 방식
이 공격에서 문제가 발생하는 이유는 Verifier가 각각의 증명이 해당 Folder에 의해 독립적으로 생성되었는지 여부를 구별할 수 없기 때문이다. 왜냐하면 증명 값 자체는 모두 동일하기 때문이다. 이 문제를 회피하기 위해 우리는 Folder의 고유한 주소 정보를 Folder가 제출하는 증명에 추가하여, 각 Folder가 제출하는 증명은 오직 자신이 독립적으로 생성한 것이어야 하고 다른 노드가 제출한 것이어서는 안 된다.
이러한 정보를 통합하는 방법은 매우 교묘한데, Fiat-Shamir 휴리스틱을 사용한다(독자는 FOX의 이전 글 『대화형 증명을 비대화형으로 바꾸는 방법? Fiat-Shamir Heuristic!』을 참고하여 기술적 세부 사항을 살펴볼 수 있음). 증명 생성 과정에 따라 계산하면, 증명 생성자(즉 Folder)는 해시 함수를 통해 무작위 도전 값을 생성해야 하는데, 이 해시 입력에 Folder의 주소를 포함하도록 요구하면 도전 값이 Folder의 주소에 대응되도록 보장할 수 있으며, 여전히 Folder가 예측하거나 제어할 수 없는 무작위 숫자가 된다.
이 방법의 엄밀한 보안성 설명에는 암호학에서 이론적 보안을 갖는 난수 함수 개념과 구별 불가능성 등의 심층적인 내용이 필요하므로 여기서는 자세히 논의하지 않는다. 간단히 말해, 해시 함수 자체의 보안성과 Fiat-Shamir 휴리스틱 구조의 보안성 덕분에 해시의 입력값으로 고정된 값을 추가하더라도 출력값의 예측 불가능성이 파괴되지 않으므로 기존 ZKP 알고리즘의 보안성은 여전히 보장된다고 볼 수 있다.
이렇게 함으로써 각 Folder는 반드시 독자적으로 증명을 생성해야 하며 다른 노드의 결과를 직접 이용할 수 없게 되어 우리의 목표를 달성하게 된다.

그림 3: 수정된 인센티브 모델
맺음말
본고는 노드 수수료의 중요한 역할 관점에서 수수료와 노드들이 시스템 유지에 참여하도록 유도하는 방법 사이의 연관성을 소개하였으며, 동시에 좋은 인센티브 메커니즘이 시스템 보안을 효과적으로 유지할 수 있음을 지적하였다. 이 기반 위에서 우리는 FOX 시스템이 Layer2의 Folder에 대해 채택한 인센티브 메커니즘을 자세히 논의하고, 이러한 접근 방식의 타당성과 Fiat-Shamir 휴리스틱을 기술적으로 어떻게 교묘하게 활용하여 이를 실현하는지를 설명하였다.
참고 문헌
《심층 분석|진화와 경쟁 —— 이더리움의 Layer2 확장之路》국성 블록체인 연구소 https://www.theblockbeats.info/news/24443
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














