paint-brush
ZKByte: Zero Knowledge 및 BitVM을 활용하는 무신뢰 비트코인 Layer2 확장 솔루션~에 의해@zkbase
494 판독값
494 판독값

ZKByte: Zero Knowledge 및 BitVM을 활용하는 무신뢰 비트코인 Layer2 확장 솔루션

~에 의해 ZKBase4m2023/12/30
Read on Terminal Reader

너무 오래; 읽다

BTC용 레이어 2 네트워크는 비트코인 생태계 내에서 더 빠르고 효율적인 거래에 대한 급증하는 수요를 충족하기 위해 전략적으로 제작되었습니다. 이는 혼잡 완화를 목표로 메인 블록체인에서 특정 거래 처리 작업을 오프로드함으로써 달성됩니다. 하나의 UTXO는 모든 레이어 2 상태를 추적하는 데 사용되며, 신뢰할 수 있는 오라클을 사용하여 입력/출력 스크립트의 잠금/잠금 해제 스크립트만 레이어 2 프로토콜을 따르도록 보장합니다.
featured image - ZKByte: Zero Knowledge 및 BitVM을 활용하는 무신뢰 비트코인 Layer2 확장 솔루션
ZKBase HackerNoon profile picture
0-item
1-item
2-item

이 설계의 주요 목표는 비트코인 블록체인에 특별히 맞춰진 레이어 2 네트워크를 구축하는 것입니다. BTC용 레이어 2 네트워크는 비트코인 생태계 내에서 더 빠르고 효율적인 거래에 대한 급증하는 수요를 충족하기 위해 전략적으로 제작되었습니다 .


이는 혼잡을 완화하고 거래 확인에 필요한 시간과 자원을 크게 줄이는 것을 목표로 특정 거래 처리 작업을 메인 블록체인에서 오프로드함으로써 달성됩니다.


비트코인 가상 머신(VM)의 컴퓨팅 기능에 내재된 한계를 인식하여 우리의 설계에서는 두 당사자 간의 스마트 계약 실행 가능성을 보여주는 BitVM을 사용합니다. BitVM은 도전 및 응답 체계를 활용하여 전통적인 제약을 극복하고 비트코인 네트워크의 프로그래밍 가능성을 향상시키는 새로운 접근 방식을 선보입니다.


레이어 2 네트워크의 보안과 무결성을 강화하기 위해 영지식 증명 기술의 통합을 통해 상태 검증이 촉진됩니다.


이러한 고급 암호화 기술을 통해 레이어 1은 기본 트랜잭션의 개인 정보 보호 및 기밀성을 손상시키지 않으면서 레이어 2 네트워크의 상태를 효율적으로 확인할 수 있습니다.

0. 건축

레이어 2 블록체인은 계정 모델을 채택합니다. 전체 블록체인의 상태는 Halo2 증명 시스템을 기반으로 하는 zkVM을 통해 증명됩니다. 레이어 2 상태는 비트코인 네트워크와 동기화되며 모든 레이어 2 상태는 BitVM이 구현하는 영지식 증명(ZKP) 검증기에 의해 검증됩니다. 하나의 UTXO는 모든 레이어 2 상태를 추적하는 데 사용됩니다. 또한 신뢰할 수 있는 오라클을 사용하여 입력/출력 UTXO의 잠금/잠금 해제 스크립트만 레이어 2 프로토콜을 따르도록 합니다.



1. 레이어 2 위원회 및 신뢰할 수 있는 Oracle

선택된 사용자 그룹은 레이어 2 네트워크의 전반적인 상태를 모니터링하는 레이어 2 위원회를 구성합니다. 프로토콜 문제가 발생할 경우 위원회는 프로토콜을 중단하고 모든 사용자의 자산을 보호하기 위해 개입할 수 있습니다. 신뢰할 수 있는 오라클은 입력/출력 UTXO 및 스크립트의 정확성을 검증하는 데 중요합니다.

2. 레이어 1에서 레이어 2로

레이어 2 프로토콜을 나타내기 위해 비트코인 네트워크에 단일 탭루트 주소가 생성됩니다. UTXO가 생성되어 탭루트 주소로 전송되면 해당 UTXO는 레이어 1에서 레이어 2로 효과적으로 '이동'됩니다. 프로토콜 또는 위원회 계정은 '예치된' 모든 UTXO 자산의 '이동'을 독점적으로 처리합니다.



3. 레이어 1에 대한 동기화 블록

모든 레이어 2 네트워크 상태는 블록 형태로 레이어 1에 동기화됩니다. 하나의 블록에 대해 다음 정보가 제공되어야 합니다. 특정 블록의 트랜잭션 적용된 트랜잭션이 포함된 새 계정 상태 현재 블록 상태에 대한 새 UTXO(프로토콜이 중단되더라도 항상 준비됨) 비트코인 네트워크의 블록 정보 영지식 증명( 마지막 블록에서 현재 블록으로의 상태 전환이 정확하다는 것을 증명) 레이어 1의 모든 상태는 하나의 UTXO 트랜잭션 내역에 기록됩니다.




3.1 증명에 대한 추가 정보

영지식 증명은 레이어 2의 정확성을 확인하는 데 사용됩니다. 증명은 다음을 증명하려고 합니다. 레이어 2의 블록 트랜잭션이 올바르게 서명되었습니다. 모든 계정의 새로운 상태가 올바르게 처리됩니다. 레이어 1의 특정 블록 하나까지의 모든 입금이 올바르게 처리됩니다. 현재 상태에서는 모든 UTXO 배포가 올바르게 생성되었습니다.

3.2 블록정보 챌린지

레이어 1에서 지정된 블록 정보의 정확성을 보장하기 위해 챌린지 및 응답 방식이 활용됩니다. 증명자는 잠긴 시간 내에 특정 블록 이후에 N개의 블록이 더 존재함을 나타냄으로써 블록 정보의 정확성을 입증할 수 있습니다.


3.3 ZKP 회로 및 BitVM 개선

BitVM 논문에 설명된 것처럼 ZKP 증명 검증은 두 당사자가 이의를 제기할 수 있는 하나의 바이너리 회로로 표현될 수 있습니다. 미리 서명된 트랜잭션을 사용하면 회로의 비트 약속을 얻기 위해 챌린지를 보낼 수 있습니다. 도전에 의해 0과 1이 노출되면 도전자가 승리합니다. BitVM을 사용하여 ZKP 검증을 확인하려면 두 가지 사항에 주의해야 합니다. 동일한 바이너리 회로 약속을 한 번 사용해야 합니다. 즉, 동일한 회로 주석을 여러 블록에 사용하면 1비트 커밋의 0과 1이 노출될 수 있습니다. ZKP 검증을 위해서는 회로 만족도 외에 '공개 입력'도 확인해야 합니다. 이러한 두 가지 단점을 처리하기 위해 레이어 2의 각 블록에 대해 하나의 고유한 바이너리 회로가 생성되고 "공개 입력"이 고정됩니다. 비트코인 스크립트는 공개 입력 해싱 및 확인을 처리하는 데 사용됩니다. 그리고 올바른 공개 입력 비트 약속은 신뢰할 수 있는 오라클에 의해 확인됩니다. 회로 만족도 측면에서 위원회 내의 모든 구성원은 문제를 제기할 수 있습니다.




4. 레이어 2에서 레이어 1로

자산은 철회와 강제 철회라는 두 가지 방법을 통해 레이어 2에서 레이어 1로 이동할 수 있습니다. 출금 트랜잭션은 레이어 2에서 트리거되며 ZKP 회로는 예상대로 트랜잭션 처리를 보장합니다. 강제 출금 거래는 비트코인 네트워크에서 시작됩니다.

4.1 출금 및 강제 출금 거래

레이어 2에서 트리거된 출금 트랜잭션은 적절한 트랜잭션 처리를 보장하기 위해 ZKP 회로를 사용하여 검증됩니다. 비트코인 네트워크에서 시작된 강제 출금 거래는 다음 블록 상태 업데이트에 포함되어야 합니다. 4.2 UTXO 배포 블록 상태가 업데이트되면 UTXO 배포가 동기화됩니다. 프로토콜이 중단되는 경우 모든 UTXO를 적용하여 모든 사용자 자산의 안전을 보장할 수 있습니다. 그리고 해당 UTXO 중 철회 또는 강제 철회 UTXO만 프로토콜에 의해 서명됩니다.

5. 레이어 2의 출구

ZKP 증명이 확인되지 않으면 위원회는 프로토콜을 중단하고 종료해야 합니다. 프로토콜이 중지되면 위원회는 레이어 2의 최신 블록 상태에 지정된 모든 UTXO 배포에 서명했습니다. 서명을 통해 사용자는 손실 없이 레이어 2를 종료할 수 있습니다.





참조

  1. 비트VM: https://bitvm.org/bitvm.pdf
  2. 비트코인 백서: https://bitcoin.org/bitcoin.pdf
  3. Halo2 설명: https://electriccoin.co/blog/explaining-halo-2/