하이브리드 레이어 2 프로토콜의 시작
편집자 주: 이 기사의 출처는체인 뉴스 ChainNews편집자 주: 이 기사의 출처는

체인 뉴스 ChainNews
체인 뉴스 ChainNews
, 저자: Lianwen이 편집한 Vitalik Buterin, 승인을 받아 Odaily에서 복제.
현재 Ethereum Layer 2 확장 솔루션(주로 플라즈마 및 상태 채널 참조)은 이론에서 실제로 이동하고 있습니다. 그러나 동시에 이러한 기술에는 고유한 문제가 있으며 성숙한 이더리움 확장 기술과는 여전히 일정한 거리가 있다는 것이 점점 더 분명해지고 있습니다.
대체로 이더리움이 성공한 것은 이더리움의 개발자 경험이 훌륭했기 때문입니다. 프로그램을 작성하고 게시하면 누구나 상호 작용할 수 있습니다. 반면에 상태 채널 또는 플라즈마 응용 프로그램을 설계하는 것은 응용 프로그램별 사용 사례 개발의 인센티브 및 복잡성에 대한 많은 명시적 추론에 의존합니다. 상태 채널은 두 명의 거래자 또는 두 명의 게임 플레이어 간의 여러 반복 지불(Celer에서 성공적으로 구현됨)과 같은 특정 사용 사례에 적합하지만 더 일반적인 사용 사례는 여전히 어려운 것 같습니다. Plasma(특히 Plasma Cash)는 결제 시나리오에서 사용할 수 있지만 범용 사용 사례를 구현하는 데 몇 가지 문제가 있습니다. 계약도 매우 어려운 것 같습니다.

그러나 동시에 잊혀진 "semi-Layer 2" 프로토콜 클래스가 다시 나타났습니다. 이 유형은 확장성을 개선할 수 없지만 보다 일반화되고 안전한 모델을 달성할 수 있습니다.
2014년에 게시된 블로그 게시물에서 블록 데이터를 체인에 게시하지만 기본적으로 블록을 검증하지 않는 아키텍처인 "섀도 체인" 개념을 소개했습니다. 대신 블록이 잠정적으로 수락된 다음 일정 기간(예: 2주 정도) 후에 완료됩니다. 이 2주 동안 임시로 승인된 블록에 도전할 수 있으며 도전을 통해 블록이 검증되며 최종적으로 블록이 유효하지 않은 것으로 판명되면 블록이 위치한 체인이 복원되고 원래 게시자의 보증금은 과태료로 감면됩니다. 컨트랙트는 시스템의 전체 상태를 추적하지 않고 상태 루트만 추적하며 사용자 스스로 블록체인에 제출된 데이터를 처음부터 끝까지 처리하여 상태를 계산할 수 있습니다.
ZK Rollup이라는 최근 제안은 ZK-SNARK를 사용하여 블록의 유효성을 검증하는데, 챌린지 기간이 없더라도 동일한 효과를 얻을 수 있습니다.
위: 체인에 게시된 ZK 롤업 패키지 분석. ZK 롤업 시스템의 상태(예: 계정 잔액)에 영향을 미치는 수백 개의 "내부 트랜잭션"이 패키지로 압축되며, 여기에는 크기가 약 10바이트에 해당하는 각 내부 트랜잭션과 전체 유효성을 증명하는 데 사용되는 키가 포함됩니다. 관련 전송 프로세스.(약 100-300바이트 크기) SNARK, 약 100-300바이트 크기.
위의 경우 메인 체인은 데이터 가용성을 확인하는 데 사용되지만 블록 유효성을 (직접) 확인하거나 중요한 계산을 수행하지 않습니다(챌린지가 제기되지 않는 한). 따라서 이 기술은 체인의 데이터 로드가 결국 병목 현상이 되기 때문에 용량 확장 측면에서 중요한 이점이 없지만 여전히 매우 중요한 수단이라는 것은 부인할 수 없습니다.
데이터는 계산보다 저렴하며 트랜잭션 데이터를 상당히 압축하는 방법은 많습니다. 주로 트랜잭션 데이터의 대부분이 서명 데이터이고 많은 서명이 여러 형태의 집계를 통해 단일 서명으로 압축될 수 있기 때문입니다. ZK Rollup은 각 트랜잭션을 단 10바이트로 압축하고 트랜잭션의 유효성을 영지식 증명으로 확인하므로 서명이 필요하지 않기 때문에 이더리움 자체보다 30배 더 효율적인 초당 500개의 트랜잭션을 처리할 것을 약속합니다. 포함됩니다. 반면 BLS 집계 서명(이더리움 캐스퍼 코어 개발자 Karl Floersch가 최근 발표한 새로운 아키텍처인 Optimistic Rollup과 유사)을 사용하여 "섀도 체인"에서 유사한 처리량을 달성할 수 있습니다. 다가오는 이스탄불 하드포크는 데이터의 가스 비용을 바이트당 68단위에서 바이트당 16단위로 줄이는 동시에 처리량을 4배(즉, 초당 2000개 이상의 트랜잭션)로 줄입니다.
그렇다면 Plasma와 같은 오프체인 스케일링 기술과 비교하여 ZK/Optimistic Rollup과 같은 데이터 온체인 기술의 이점은 무엇입니까?
첫째, ZK/낙관적 롤업에는 "반 신뢰" 운영자가 필요하지 않습니다. ZK Rollup에서는 거래의 유효성이 암호화 증명으로 확인되기 때문에 패키지 제출자는 실제로 "나쁜 일"을 할 방법이 많지 않습니다(물론 설정에 따라 악의적인 제출자는 시스템을 일시 중지시킬 수 있습니다. 몇 초 동안이지만 시스템에 가할 수 있는 최대 피해입니다). 낙관적 롤업에서 악의적인 커미터는 "불량 블록"을 게시할 수 있지만 다음 커미터는 자신의 블록을 게시하기 전에 즉시 해당 블록에 도전할 수 있습니다. ZK 롤업 및 낙관적 롤업에서는 충분한 데이터가 체인에 공개되어 누구나 완전한 내부 상태를 계산할 수 있고 제출된 모든 델타를 순서대로 처리해야 하며 이 속성을 취소하는 "데이터 보류 공격"이 없습니다. 즉, 운영자가 되는 것은 완전히 "무허가"일 수 있으며 필요한 예치금(단지 10 ETH)은 스팸 방지 목적으로만 사용됩니다.
둘째, Optimistic Rollup의 구현이 보다 일반화되었습니다. Optimistic Rollup 시스템의 상태 전이 기능을 사용하여 단일 블록의 가스 제한 내에서 보다 일반적인 계산을 수행할 수 있습니다(전환을 확인하는 데 필요한 상태 부분을 제공하는 Merkle 분기 포함). 기간). 이론적으로 ZK Rollup도 같은 방식으로 범용 컴퓨팅을 달성할 수 있지만 실제로는 ZK SNARK를 범용 컴퓨팅(예: EVM에서 실행)에 사용하는 것은 적어도 지금까지는 매우 어렵습니다.
다시 말하지만 Optimistic Rollup은 Layer 2 네트워크 인프라가 덜 필요하고 블록체인을 스캔하는 것만으로 많은 작업을 수행할 수 있기 때문에 클라이언트를 구축하기가 더 쉽습니다.
그러나 ZK/Optimistic Rollup과 같은 것의 장점은 무엇입니까? 사실 이것은 데이터 가용성 문제라고도 하는 매우 기술적인 문제입니다. (자세한 내용은 설명 문서를 참조하십시오.

https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding 및 설명 동영상: https://www.youtube.com/watch?v=OJT_fR7wexw)
기본적으로 Layer 2 시스템에서 "속임수"를 사용하는 방법에는 두 가지가 있습니다. 첫 번째는 유효하지 않은 데이터를 블록체인에 게시하는 것이고 두 번째는 데이터를 전혀 게시하지 않는 것입니다(예: Plasma에서 Plasma 새 블록의 루트 해시는 메인 체인에 게시되지만 블록 내용은 누구에게도 공개되지 않습니다.)
유효하지 않은 데이터를 게시하는 것은 실제로 처리하기가 매우 쉽습니다. 일단 데이터가 체인에 게시되면 유효한지 여부를 판단하는 방법이 많고 제출된 유효하지 않은 데이터는 유효하지 않은 것으로 표시되며 제출자는 엄중한 처벌을 받게 됩니다. 이를 위해. 반면에 사용 불가능한 데이터는 이의를 제기해도 사용 불가능 여부를 감지할 수 없기 때문에 처리하기가 더 어렵고, 이러한 미공개 데이터는 특히 데이터가 기본적으로 유지되는 경우 누구의 잘못인지 정확히 알 수 없기 때문에 표시만 됩니다. 일부 인증 메커니즘이 가용성을 확인하려고 시도하는 경우 요청 시. 이것은 도전-응답 게임에서 악의적인 제출자와 악의적인 도전자를 구별하는 것이 불가능한 어부의 딜레마에 설명되어 있습니다.
위: 어부의 딜레마. 시간 T3에서 주어진 특정 데이터만 보기 시작하면 자신이 Case 1인지 Case 2인지 알 방법이 없으므로 누구의 잘못인지 알 수 없습니다.
플라즈마 및 상태 채널은 문제를 사용자에게 밀어붙임으로써 "어부의 딜레마" 문제를 효과적으로 해결합니다. 사용자가 사용자이고 다른 사용자(상태 채널의 상대방 또는 플라즈마의 운영자)와 상호 작용하기로 결정한 경우 해당 사용자를 가정합니다. 그들이 해야 할 데이터를 보내지 않으면 당신은 나가서 다음 거래 상대방/운영자로 이동합니다. 사용자로서 귀하가 서명한 모든 이전 데이터와 모든 트랜잭션 데이터를 소유하고 있다는 사실을 통해 레이어 2 프로토콜에서 자산을 소유하고 있음을 블록체인에서 증명할 수 있으므로 해당 자산을 시스템에서 안전하게 제거할 수 있습니다. 또한 자산 수령에 대한 (이전에 합의된) 운영 증거가 있어야 하며 동시에 귀하가 해당 자산을 다른 사람에게 보냈다는 것을 다른 사람이 증명할 수 없으면 귀하가 이 자산을 취득한 것입니다.
이 기술은 정말 우아하지만 다음과 같은 핵심 가정에 의존합니다. 각 상태 객체에는 논리적 "소유자"가 있으며 소유자의 동의 없이는 객체 상태를 변경할 수 없습니다. 따라서 이 기술은 미사용 트랜잭션 출력(UTXO)을 기반으로 한 결제 트랜잭션에 적용됩니다(단, 계정 모델을 기반으로 한 결제 트랜잭션은 해당되지 않습니다. 이 경우 동의 없이 다른 사람의 계정 잔액을 위로 편집할 수 있기 때문입니다. 계정 모델은 매우 어렵습니다), 분산형 거래소에서도 사용할 수 있지만 이 "소유자" 특성으로는 충분하지 않습니다. 일부 응용 프로그램(예: Uniswap)에는 자연 소유자가 없으며 그러한 응용 프로그램에서도 문제의 개체를 합법적으로 편집할 수 있는 여러 사람이 있는 경우가 많습니다. 발급자 또는 제출자에게 잘못이 있는지 아무도 증명할 수 없기 때문에 서비스 거부(DoS) 공격의 가능성을 도입하지 않고 임의의 제3자가 자산을 인출하도록 허용할 방법이 없습니다.
또한 Plasma 및 state 채널에는 각각 몇 가지 다른 문제가 있습니다. 아직 상태 채널에 가입하지 않은 사용자의 경우 오프체인 트랜잭션이 허용되지 않습니다. Plasma는 사용자가 많은 양의 이력 데이터를 저장해야 하며, 이는 서로 다른 자산이 얽혀 있을 때 더욱 커집니다. 구매 주문 메커니즘이 있는 분산형 거래소에서 발생하는 것처럼).

데이터 온 체인 계산-오프 체인의 레이어 2 기술은 데이터 가용성 문제가 없기 때문에 그러한 약점이 없습니다. ZK 롤업 및 옵티미스틱 롤업은 사용자가 레이어 2 시스템의 전체 상태를 계산할 수 있도록 충분한 데이터를 온체인에 배치하여 참여자가 사라지면 새로운 참여자가 쉽게 자리를 차지할 수 있도록 합니다. Layer 2 기술의 유일한 문제는 온체인 계산을 수행하지 않고 계산을 검증하는 것이지만 실제로는 해결하기 쉬운 문제입니다. 또한 확장은 더 큰 이점을 제공합니다. ZK 롤업의 각 트랜잭션은 약 10바이트이며 낙관적 롤업은 BLS 집계 서명을 사용하여 비슷한 수준에 도달할 수 있습니다. 이론적으로 초당 최대 500건의 거래에 도달할 수 있으며 이스탄불 업그레이드 후에는 지표 번호가 초당 2000건의 거래에 도달할 수 있습니다.
하지만 더 높은 확장성을 원한다면 어떻게 해야 할까요?
실제로 Layer 2 온링크 프로토콜과 Layer 2 오프링크 프로토콜 사이에는 큰 중간 지점이 있으며 많은 하이브리드 솔루션이 두 가지를 모두 활용합니다. 간단한 예로 체인에 주문 매칭 맵(4바이트 미만)을 게시하면 플라즈마 캐시에 배치된 탈중앙화 거래소의 과거 스토리지 폭발 문제를 방지할 수 있습니다.
위 왼쪽: 토큰을 소유한 Plasma Cash 사용자는 과거 데이터를 저장해야 합니다.
위: 플라즈마 캐시 사용자는 토큰을 소유할 때 과거 데이터를 저장해야 하며 토큰은 아토믹 스왑을 통해 얻습니다.
위 오른쪽: Plasma Cash 사용자는 주문 일치가 체인에 게시된 경우 과거 데이터를 저장해야 합니다.


