이 설계의 주요 목표는 비트코인 블록체인을 위해 특별히 맞춤화된 레이어 2 네트워크를 구축하는 것입니다. 비트코인 레이어 2 네트워크는 비트코인 생태계 내에서 더 빠르고 효율적인 거래에 대한 증가하는 수요를 충족하도록 설계되었습니다. 특정 거래 처리 작업을 메인넷에서 오프로드함으로써 비트코인 메인넷의 혼잡 문제를 완화하고 거래 확인에 필요한 시간을 크게 줄이는 것을 목표로 합니다.
비트코인 가상 머신(VM) 컴퓨팅 성능의 본질적인 한계를 고려하여 우리 설계에서는 BitVM을 사용합니다. 이는 네트워크의 두 계층 간에 스마트 계약을 실행할 수 있는 가능성을 보여줍니다. 도전 및 대응 시나리오를 활용함으로써 BitVM은 기존의 한계를 깨는 비트코인 네트워크 프로그래밍 가능성에 대한 새로운 접근 방식을 보여줍니다.
비트코인 레이어 2 네트워크의 보안과 무결성을 강화하기 위해 설계에는 영지식 증명(ZK) 기술을 통합하여 상태 검증을 구현합니다. 이러한 고급 암호화 기술을 통해 비트코인 메인넷은 기본 거래의 개인 정보 보호 및 기밀성을 손상시키지 않고 레이어 2 네트워크의 상태를 효과적으로 확인할 수 있습니다. 영지식 증명은 거래의 특정 세부 사항을 공개하지 않고도 정보를 확인할 수 있으므로 개인 정보를 보호하는 동시에 레이어 2 네트워크의 무결성을 보장합니다.
전반적으로 이 설계는 레이어 2 네트워크를 통해 비트코인 네트워크의 확장성, 속도 및 효율성을 향상시키고 스마트 계약 실행을 위해 BitVM을 채택하고 상태 검증을 위한 영지식 증명 기술을 통합하는 동시에 기본 거래의 개인 정보 보호 및 보안을 유지하는 것을 목표로 합니다. ...
0. 건축
Layer2 블록체인은 계정 모델을 채택합니다. 전체 블록체인의 상태는 Halo2 증명 시스템을 기반으로 zkVM을 통해 검증됩니다. 레이어 2 상태는 비트코인 메인 네트워크와 동기화되며, 모든 레이어 2 상태는 BitVM이 구현하는 영지식 증명(ZKP) 검증기에 의해 검증됩니다. 우리는 UTXO를 사용하여 모든 레이어 2 상태를 추적합니다. 또한 신뢰할 수 있는 오라클을 사용하여 잠금/잠금 해제 스크립트의 입력/출력만 레이어 2 프로토콜을 따르도록 합니다.
1. 레이어 2 위원회 및 신뢰할 수 있는 Oracle 선택된 사용자 그룹으로 구성된 레이어 2 위원회는 레이어 2 네트워크의 전반적인 운영을 감독하는 역할을 담당합니다. 프로토콜에 문제가 발생하면 위원회가 개입하여 프로토콜을 중지하여 모든 사용자의 자산을 보호할 수 있습니다. 신뢰할 수 있는 오라클은 입/출력 UTXO 및 스크립트의 정확성을 확인하는 데 중요합니다.
2. 레이어 1에서 레이어 2까지 비트코인 네트워크에 단일 Taproot 주소를 생성하여 레이어 2 프로토콜을 나타냅니다. UTXO가 생성되어 Taproot 주소로 전송되면 해당 UTXO는 실제로 비트코인 메인넷에서 레이어 2로 "충전"됩니다.
프로토콜 또는 위원회 계정은 레이어 2에 "예치된" 모든 UTXO 자산에 대한 "전송" 권한을 구체적으로 처리합니다. 프로토콜, 신뢰할 수 있는 오라클 또는 위원회 계정만이 예치된 UTXO의 소유권을 변경할 수 있습니다. 신뢰할 수 있는 오라클은 소유권 이전 거래에 올바른 출력 UTXO 스크립트가 포함되도록 보장합니다.
3. 비트코인 메인 네트워크에 동기화된 블록 모든 레이어 2 네트워크의 상태는 블록 형태로 비트코인 메인 네트워크에 동기화됩니다. 블록의 경우 다음 정보가 제공되어야 합니다.
· 특정 블록 내 거래
· 해당 거래를 적용한 후의 새 계정 상태
· 현재 블록 상태의 새로운 UTXO (프로토콜이 깨져도 항상 준비되어 있음)
· 비트코인 네트워크의 블록 정보
· 영지식 증명(이전 블록에서 현재 블록으로의 상태 전환이 정확하다는 증명) 비트코인 메인넷의 모든 상태는 UTXO 거래 내역에 기록됩니다.
3.1 증명에 대한 추가 정보 영지식 증명은 Layer2의 정확성을 확인하는 데 사용됩니다. 다음을 증명해 보세요:
· 레이어 2 블록 트랜잭션이 올바르게 서명되었습니다.
· 모든 계정의 새 상태가 올바르게 처리됩니다.
· 비트코인 메인넷의 특정 블록 이전의 모든 입금 거래는 올바르게 처리됩니다.
· 현재 상태에서는 모든 UTXO 할당이 올바르게 생성되었습니다.
3.2 블록 정보 챌린지 비트코인 메인넷에 명시된 블록 정보의 정확성을 보장하기 위해 우리는 챌린지 및 응답 체계를 사용합니다. 증명자는 잠긴 시간 내에 특정 블록 이후에 N개의 블록이 있음을 지적함으로써 블록 정보의 정확성을 증명할 수 있습니다.
3.3 ZKP 회로 및 BitVM 개선 사항 BitVM 논문에서 볼 수 있듯이 ZKP 검증은 두 당사자가 이의를 제기할 수 있는 이진 회로로 표현될 수 있습니다. 미리 서명된 트랜잭션을 사용하면 회로의 비트 약속을 얻기 위해 챌린지를 보낼 수 있습니다. 0과 1이 나오면 도전 성공입니다. BitVM을 사용하여 ZKP를 검증하려면 다음 두 가지 사항에 주의해야 합니다.
동일한 바이너리 회로 Promise는 한 번만 사용할 수 있습니다. 즉, 동일한 회로가 여러 블록에 대해 커밋되면 커밋된 0과 1이 약간 드러날 수 있습니다.
ZKP 검증을 위해서는 회로의 만족 외에도 "공통 입력"도 확인해야 합니다.
이 두 가지 단점을 해결하기 위해 Layer2의 각 블록에 대해 고유한 바이너리 회로가 생성되고 "공통 입력"이 고정됩니다. 비트코인 스크립트는 공개 입력의 해시 및 확인을 처리하는 데 사용됩니다. 올바른 공개 입력 비트 약속은 신뢰할 수 있는 오라클에 의해 확인됩니다. 회로 만족에 관한 한 위원회의 모든 구성원은 이에 대해 이의를 제기할 권리가 있습니다.
4. Layer2에서 비트코인 메인넷으로 자산은 출금과 강제 출금이라는 두 가지 방법으로 Layer2에서 비트코인 메인넷으로 이동할 수 있습니다. 출금 거래는 레이어 2에서 시작되며 ZKP 회로는 거래가 예상대로 처리되도록 보장합니다. 강제 출금 거래는 비트코인 네트워크에서 시작됩니다.
4. Layer2에서 비트코인 메인넷으로 자산은 출금과 강제 출금이라는 두 가지 방법으로 Layer2에서 비트코인 메인넷으로 이동할 수 있습니다. 출금 거래는 레이어 2에서 시작되며 ZKP 회로는 거래가 예상대로 처리되도록 보장합니다. 강제 출금 거래는 비트코인 네트워크에서 시작됩니다.
4.1 출금 및 강제 출금 거래 Layer2에서 트리거된 출금 거래는 ZKP 회로를 사용하여 검증되어 거래가 올바르게 처리되었는지 확인합니다. 비트코인 네트워크에서 시작된 강제 출금 거래는 다음 블록 상태 업데이트에 포함되어야 합니다.
4.2 UTXO 할당 블록의 상태가 업데이트되면 UTXO 할당이 동기화됩니다. 프로토콜이 중단되는 경우 모든 UTXO를 적용하여 모든 사용자 자산의 보안을 보장할 수 있습니다. 이러한 UTXO 중 출금 또는 강제 출금된 UTXO만 프로토콜에 의해 서명됩니다.
5. 레이어 2 종료 ZKP가 검증되지 않으면 위원회는 프로토콜을 중지하고 종료해야 합니다. 프로토콜이 중지되면 위원회는 레이어 2의 최신 블록 상태에 지정된 모든 UTXO 할당에 서명합니다. 이러한 서명을 통해 사용자는 손실 없이 Layer2에서 돈을 인출할 수 있습니다.
모든 댓글