By Sputnik Meng, Chief scientist at Fox Tech; Frederick Kang, CEO of Fox Tech
zkRollup는 계산을 하위 체인으로 이동시킨 다음 zero-knowledge proof를 Layer1 체인에 제공함으로써 약속된 Layer2 확장 솔루션이다. zkRollup를 구현하는 과정에서 FOX 시스템은 현재 유행하는 구조를 채택하고 Sequencer와 Folder라는 두 종류의 노드가 주로 있었다. 간단히 말하면, Sequencer는 사용자가 제출한 거래를 정렬하고 패키징하며 Layer2 체인에 상태를 업데이트하는 역할을 하고, Folder는 Sequencer가 패키징한 거래에 대한 증명을 생성하고 Layer1에 제출하는 역할을 한다.
의미 있는 질문은 Layer2 노드가 분산화되어야 하는지이며, 만약 그렇다면 어떻게 설계하여 이를 보장해야 하는지이다. 상상해 볼 수 있듯이 Layer1의 비효율성은 각 노드가 분산화를 구현하기 위해 많은 계산 및 통신이 필요하다는 점이다. 그러나 Layer2 시스템은 계산 프로세스를 분리하기 위해 사용된다. 이 부분에서 Layer1의 분산화 모드가 여전히 사용된다면 체인이 동일한 이유로 혼잡해질 것이므로 여기에서는 트레이드 오프가 발생한다.
인센티브 메커니즘의 설계는 Layer2 노드가 Layer2 시스템을 유지하는 데 참여하도록 장려하기 위해 Layer2 노드가 보상 수수료를 받는 방식을 조정하고, Layer2 노드에 지불되는 수수료를 조화롭게 하기 위한 것이다. 본질적으로 Layer2 노드는 거래를 제출하는 사용자가 지불하는 Gas 수수료와 동일한 소스에서 인센티브 수수료를 받는다. 본 글에서는 FOX 노드가 수수료를 수집하고 그 방법에 대해 알아보겠다.
먼저, 이더리움 시스템에서 Gas 비용의 역할을 살펴보자. Layer1의 계산 자원은 제한된다. 사용자가 거래를 제출할 때 거래 Gas 수수료를 명시하며, 이는 기본적으로 거래 실행 복잡성과 관련이 있다. 이를 기반으로, 높은 Gas 수수료를 지불할 의사가 있는 사용자는 높은 우선순위로 거래 실행을 얻을 수 있다. 채굴자의 인센티브는 패키징된 블록의 Gas 비용 총합에서 나온다. 게다가, Gas 수수료 메커니즘은 악의적인 계약(예: 무한 순환)을 효과적으로 방지하고 블록 크기를 제한하여 일정 수준의 보안을 보장한다.
따라서 Gas 수수료의 합리적인 활용은 본질적으로 체인 상의 계산 자원의 합리적인 스케줄링 및 할당이며, 프로젝트 당사자들, 채굴자 및 사용자 간의 다중 요인 게임이기도하다. 좋은 인센티브 메커니즘의 설계와 사용 및 수수료 분배는 시스템 운영에 중요하다.
사용자는 FOX 시스템의 거래 풀에 거래를 제출하고 FOX 노드를 자극하는 수수료를 첨부한다. 그런 다음 시스템의 Sequencer 노드는 거래 풀에서 거래를 캡처하여 패키징 순서를 정한다. 여기에서 각 패키지된 거래constitutes a block of Layer2, and Sequencer needs to perform transaction calculation. Moreover, the calculation results are transmitted to Layer1's FOX contract. Moreover, Sequencer also needs to save the trade data into ZK-Ringer to ensure the data availability. After that, the sorting results and calculation results of Sequencer are transmitted to the Folder node, which correctly calculates the proof (including the proof aggregation part) and transmits to the contract of Layer1. In this process, the execution result of Sequencer on the transaction will be directly updated into Layer2 after the execution ends, while the time node when the transaction is truly recognized by Layer1 can be regarded as after the verification of Folder.
As you can see, in this process, the initial fee attached by the user covers several purposes:
To do this, we need to sort out specific mechanisms to incentivize participation.
FOX's incentive model is relatively novel. Firstly, in order to balance decentralization and efficiency, the roles of nodes are divided into Sequencer nodes, which are responsible for sorting and executing transactions, and Folder nodes, which are responsible for generating proof and aggregation of correctness of transaction execution. The Folder node of FOX adopts a decentralized mode, that is, any FOX miner can access the network to act as a proof generator. In order to encourage more nodes to participate, the Folder that successfully submits the correct proof to the Layer1 contract can be rewarded with tokens. At the same time, in order to avoid computational waste, we point out that not only the first proof submitter can be rewarded, but within a time window and quantity window after the first proof submitter's successful submission (the specific parameters here will be adjusted according to the system condition), all correct proof submitters can be rewarded.

However, with this mechanism, malicious folders have a sneaky attack.
After a malicious Folder, denoted as Adv, has completed its proifier generation, it submits the proifier to Layer1's Verifier contract for verification. On the other hand, it colludes with some nodes (or nodes controlled by the Folder) to advertise the computed proifier to those nodes. Then they can not calculate their own directly will calculate good proof submitted, can also receive a part of the reward, and in this process they did not pay any calculation, on the other hand, Adv through less calculation obtained a num
혜택의 수를 많이 볼 수 있고 다른 노드들이 올바른 증명을 생성했더라도 Adv를 위해 경쟁하기 어려운 이점이 있습니다.

이 경우, 문제는 검증자가 각 인증서가 폴더에 의해 독립적으로 생성되었는지를 구별할 수 없다는 것입니다. 인증서 값이 모두 동일하기 때문입니다. 이 문제를 피하기 위해 우리는 각 폴더 제출의 증명에 폴더의 고유 주소 정보를 추가해야 하며, 이를 통해 각 폴더 제출의 증명이 다른 노드가 제출하는 것이 아니라 독립적으로 생성될 수 있도록해야 합니다.
이 정보를 통합하는 똑똑한 방법이 있으며, 바로 Fiat-Shamir 휴리스틱을 사용하는 것입니다. (기술적 세부사항은 이전 FOX 기사인 "대화형 증명을 비대화형 증명으로 변환하는 방법? Fiat-Shamir 휴리스틱! 참조). 증명 생성 과정에 따르면, 프로버, 즉 폴더는 하나의 단계에서 해시 함수를 통해 임의의 챌린지 값을 생성해야 합니다. 폴더의 주소를 해시의 입력에 추가하기만 하면, 챌린지 값이 폴더의 주소에 해당한다는 것을 보장할 수 있습니다. 또한, 폴더가 예측하거나 제어할 수 없는 여전히 예측할 수 없는 무작위 숫자입니다.
이 방법의 보안을 엄밀히 설명하기 위해서는 보다 적나마 암호 기술, 이론적으로 보안성 있는 무작위 함수와 구별됨성 개념 등을 더 자세히 논의해야 하지만, 여기서는 자세히 다루지 않겠습니다. 간단히 말하자면, 해시 함수의 보안성과 Fiat-Shamir 휴리스틱 구조의 보안성 덕분에 출력의 예측 불가능성을 깨지 않으면서 해시의 사전상을 고정된 값으로 추가함으로써 원래 zkp 알고리즘의 보안성을 여전히 보장할 수 있음을 주장할 수 있습니다.
이러한 방식으로 각 폴더는 다른 노드 결과와 독립적으로 생성되어야 하며, 이에 우리의 목표를 달성할 수 있습니다.

노드 요금의 중요한 역할 관점에서 볼 때, 본 논문은 노드 요금과 시스템 유지에 참여를 독려하는 방법 간의 관계를 소개하고, 좋은 인센티브 메커니즘이 시스템 보안을 효과적으로 유지할 수 있다고 지적합니다. 이를 기반으로, FOX에서 채택된 Layer2 폴더의 인센티브 메커니즘과 이 방법의 합리성, 기술적으로 이를 달성하기 위해 Fiat-Shamir 휴리스틱을 어떻게 적용하는지에 대해 자세히 논의합니다.
참고 문헌
깊이 | 반복과 경쟁 - 확장 및 Layer2로의 '전기적 차도'로 나아가는 길, GuoSheng 블록체인 연구소