메인 콘텐츠로 건너뛰기
이 가이드에서는 kona-client 또는 그 변형을 원하는 검증 가능 백엔드에서 실행할 수 있도록 해 주는 데이터 소스 trait을 구현하는 과정을 안내합니다. 시작하기 전에, OP Stack STF 이해하기에서 다루는 두 가지 구성 요소인 derivation 파이프라인과 실행 엔진에 익숙해져 있어야 합니다.

백엔드 Trait

이 문서의 FPVM 백엔드 섹션에서 다룬 것처럼, kona-client에는 PreimageOracle ABI를 통해 데이터를 가져오는 kona-derive 및 kona-executor 데이터 소스 trait의 구현이 포함되어 있습니다. 하지만 이러한 데이터 소스 trait을 커스텀 구현하면, zkVM이나 TEE와 같은 다른 검증 가능 환경 위에서 kona-client를 실행하는 것도 가능합니다. op-succinct는 커스텀 백엔드와 커스텀 프로그램 모두의 훌륭한 예시입니다. sp1_lib::io를 기반으로 kona-derive와 kona-executor의 데이터 소스 trait을 모두 구현하여 다음을 수행합니다.
  1. kona-client를 그대로 실행하여 단일 블록의 derivation과 실행을 SP-1에서 증명합니다.
  2. kona-derive와 kona-executor를 사용하여 Span Batch 하나 분량의 L2 블록 전체를 도출하고 실행합니다.
이 섹션에서는 다른 플랫폼에서도 같은 작업을 수행하는 방법을 설명합니다.

커스텀 kona-derive 소스

시작하기 전에, 다음 trait의 커스텀 구현을 만들어야 합니다. 이들을 구현하고 나면, 데이터 소스를 PipelineBuilder에 전달하기만 하면 파이프라인을 간단히 구성할 수 있습니다. 플랫폼에 따라 수신 데이터의 검증 요구 사항이 다르다는 점에 유의하십시오. 예를 들어, zkVM을 대상으로 하는 프로그램은 수신 데이터가 실제로 유효하다는 제약을 걸어야 하지만, 결함 증명 프로그램은 이 검증을 host의 온체인 구현에 맡길 수 있습니다.
여기서부터는 원하는 실행 페이로드를 생성하기 위한 커스텀 derivation 드라이버가 필요합니다. kona-client의 예시는 단일 증명 구현에서 확인할 수 있습니다.

kona-mpt / kona-executor 소스

시작하기 전에, 다음 trait의 커스텀 구현을 만들어야 합니다. 이들이 준비되면 다음과 같이 StatelessL2Builder를 구성할 수 있습니다.

모두 결합하기

kona-derive와 kona-executor 모두에 대한 커스텀 백엔드 trait을 구현하고 나면, 최종 바이너리는 kona-client의 바이너리와 비슷한 형태가 될 것입니다. 또는 더 넓은 범위의 블록을 증명하려는 경우, op-succinct의 range 프로그램이 연속된 여러 블록에 걸쳐 파이프라인과 executor를 실행하는 좋은 예시를 제공합니다.