
ZKByte 간단 분석: ZK 및 BitVM 기반의 비트코인 레이어2 확장 솔루션
작성자: ZKBase(ZKSpace 전신)
본 설계의 주요 목표는 비트코인 블록체인을 위한 특화된 레이어2(Layer2) 네트워크를 구축하는 것이다. 비트코인 레이어2 네트워크는 비트코인 생태계 내에서 점점 증가하는 더 빠르고 효율적인 거래에 대한 수요를 충족시키기 위해 고안되었다. 일부 거래 처리 작업을 메인넷에서 오프로드함으로써, 비트코인 메인넷의 혼잡 문제를 완화하고 거래 확인에 소요되는 시간을 크게 줄이는 것을 목표로 한다.
비트코인 가상머신(VM)의 계산 능력에는 본질적인 제한이 존재하는데, 이를 고려하여 본 설계에서는 BitVM을 사용하며, 이는 두 개의 네트워크 계층 간 스마트 계약 실행의 가능성을 보여준다. 도전-응답(challenge-response) 방식을 활용함으로써 BitVM은 전통적인 한계를 깨는 새로운 비트코인 네트워크 프로그래밍 방법을 제시한다.
비트코인 레이어2 네트워크의 보안성과 무결성을 강화하기 위해 본 설계는 제로지식 증명(ZK) 기술을 통합하여 상태 검증을 수행한다. 이러한 첨단 암호화 기술을 통해 비트코인 메인넷은 기본 거래의 개인정보와 기밀성을 해치지 않으면서도 레이어2 네트워크의 상태를 효과적으로 검증할 수 있다. 제로지식 증명은 구체적인 거래 세부 정보를 공개하지 않으면서도 정보의 유효성을 입증할 수 있으므로, 개인정보를 보호하면서 동시에 레이어2 네트워크의 무결성을 보장한다.
전반적으로 본 설계는 레이어2 네트워크를 통해 확장성과 속도 및 효율성을 향상시키고, 스마트 계약 실행을 위해 BitVM을 채택하며, 상태 검증을 위해 제로지식 증명 기술을 통합함으로써, 기본 거래의 개인정보와 보안을 유지하면서 비트코인 네트워크의 성능을 개선하려는 목적을 가지고 있다.
0. 아키텍처
레이어2 블록체인은 계정 모델(account model)을 채택한다. 전체 블록체인의 상태는 Halo2 증명 시스템 기반의 zkVM을 통해 검증된다. 레이어2 상태는 비트코인 메인넷과 동기화되며, 모든 레이어2 상태는 BitVM으로 구현된 제로지식 증명(ZKP) 검증기를 통해 검증된다. 우리는 하나의 UTXO를 사용해 모든 레이어2 상태를 추적한다. 또한, 레이어2 프로토콜을 따르는 잠금/해제 스크립트의 입력/출력만이 허용되도록 보장하기 위해 신뢰 가능한 오라클(trusted oracle)을 사용한다.

1. 레이어2 위원회 및 신뢰 가능한 오라클
일련의 선출된 사용자들로 구성된 레이어2 위원회는 레이어2 네트워크의 전반적인 운영 상태를 감독한다. 프로토콜 문제가 발생할 경우 위원회는 개입하여 프로토콜을 중단시켜 모든 사용자의 자산을 보호할 수 있다. 입력/출력 UTXO와 스크립트의 정확성을 검증하기 위해서는 신뢰 가능한 오라클이 매우 중요하다.
2. 1단계에서 2단계로
비트코인 네트워크 상에서 Taproot 주소 하나를 생성하여 레이어2 프로토콜을 표현한다. UTXO를 생성하고 이를 Taproot 주소로 이체하면, 해당 UTXO는 실제로 비트코인 메인넷에서 레이어2로 "충전(recharge)"된 것으로 간주된다.
프로토콜 또는 위원회 계정은 레이어2로 "충전"된 모든 UTXO 자산의 "이전(transfer)" 권한을 전담하여 처리한다. 오직 프로토콜, 신뢰 가능한 오라클, 또는 위원회 계정만이 예치된 UTXO의 소유권을 변경할 수 있다. 신뢰 가능한 오라클은 소유권 이전 거래에 올바른 출력 UTXO 스크립트가 포함되었는지를 보장한다.

3. 비트코인 메인넷으로 동기화되는 블록
모든 레이어2 네트워크의 상태는 블록 형태로 비트코인 메인넷에 동기화된다. 각 블록에 대해 다음 정보를 제공해야 한다:
· 특정 블록 내의 거래;
· 해당 거래들을 적용한 후의 새 계정 상태;
· 현재 블록 상태 하에서의 새로운 UTXO (프로토콜이 손상되더라도 항상 준비되어 있음);
· 비트코인 네트워크의 블록 정보;
· 제로지식 증명 (이전 블록에서 현재 블록으로의 상태 전이가 올바름을 증명). 이 모든 메인넷 상태는 하나의 UTXO 거래 기록 내에 저장된다.

3.1 증명에 관한 추가 정보
제로지식 증명은 레이어2의 정확성을 검증하기 위해 사용된다. 다음 사항들을 입증하려 한다:
· 레이어2 블록의 거래들이 올바르게 서명되었는지.
· 모든 계정의 새로운 상태가 올바르게 처리되었는지.
· 비트코인 메인넷의 특정 블록 이전까지의 모든 충전 거래가 올바르게 처리되었는지.
· 현재 상태에서 모든 UTXO 배분이 올바르게 생성되었는지.
3.2 블록 정보 도전
비트코인 메인넷 내 지정된 블록 정보의 정확성을 보장하기 위해 도전-응답 방식을 사용한다. 증명자는 잠금 기간 내 특정 블록 이후 N개의 블록이 존재함을 지적함으로써 블록 정보의 정확성을 입증할 수 있다.
3.3 ZKP 회로 및 BitVM 강화
BitVM 논문에서 언급된 바와 같이, ZKP 검증은 두 참여자가 도전할 수 있는 이진 회로(binary circuit)로 표현될 수 있다. 사전 서명된 거래를 통해 회로의 비트 커밋먼트(bit commitment)를 얻기 위한 도전을 전송할 수 있다. 만약 0과 1이 모두 공개되면 도전은 성공한다. BitVM을 사용하여 ZKP를 검증할 때는 다음 두 가지 사항을 유의해야 한다:
-
동일한 이진 회로 커밋먼트는 단 한 번만 사용할 수 있다. 즉, 동일한 회로 커밋먼트가 여러 블록에 사용되면 하나의 비트 커밋먼트의 0과 1이 모두 노출될 수 있다.
-
ZKP 검증을 위해 회로의 만족 가능성(satisfiability) 외에도 "공개 입력(public input)"을 반드시 검사해야 한다.
이 두 가지 단점을 해결하기 위해, 레이어2의 각 블록마다 고유한 이진 회로를 생성하고 "공개 입력"을 고정한다. 공개 입력의 해시 및 검사는 비트코인 스크립트를 통해 처리된다. 올바른 공개 입력의 비트 커밋먼트는 신뢰 가능한 오라클이 검사한다. 회로 만족 가능성 측면에서는 위원회 내 어떤 구성원이라도 도전을 제기할 권리가 있다.

4. 레이어2에서 비트코인 메인넷으로
자산은 두 가지 방법으로 레이어2에서 비트코인 메인넷으로 이동할 수 있다: 인출(withdrawal)과 강제 인출(force-withdrawal). 인출 거래는 레이어2에서 트리거되며, ZKP 회로는 거래가 예상대로 처리되도록 보장한다. 강제 인출 거래는 비트코인 네트워크에서 시작된다.
4.1 인출 및 강제 인출 거래
레이어2에서 트리거된 인출 거래는 ZKP 회로를 통해 검증되어 올바른 처리가 보장된다. 비트코인 네트워크에서 시작된 강제 인출 거래는 다음 블록 상태 업데이트에 반드시 포함되어야 한다.
4.2 UTXO 배분
블록 상태가 업데이트될 때 UTXO 배분도 함께 동기화된다. 프로토콜이 중단된 경우, 모든 UTXO를 적용하여 모든 사용자 자산의 안전성을 보장할 수 있다. 이러한 UTXO 중 프로토콜이 서명하는 것은 오직 인출 또는 강제 인출 관련 UTXO뿐이다.
5. 레이어2 종료
ZKP가 검증되지 않은 상태에서 위원회는 프로토콜을 중단하고 종료해야 한다. 프로토콜이 중단되면 위원회는 레이어2 최신 블록 상태에 명시된 모든 UTXO 배분에 서명한다. 이 서명을 통해 사용자는 어떠한 손실 없이 레이어2에서 인출할 수 있다.

TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














