BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

이 기사에서는 롤업 확장 솔루션의 진화 아이디어 및 설계 이유에 대해 설명합니다.

星球君的朋友们
Odaily资深作者
2023-05-24 03:30
이 기사는 약 5280자로, 전체를 읽는 데 약 8분이 소요됩니다
이더리움 확장의 주력인 롤업에 대한 대중적 이해
AI 요약
펼치기
이더리움 확장의 주력인 롤업에 대한 대중적 이해

원본 출처: The SeeDAO

원본 출처: The SeeDAO

L2 프로젝트가 다시 한 번 각광을 받고 있습니다.

L2의 롤업 확장 경로의 대표로 Arbitrum 에어드랍 이후 zkSync Era가 시작됩니다. 끝없는 새로운 디자인과 로드맵 뒤에 롤업의 메인 라인은 무엇이고 진화론적 사고는 무엇인지 오늘 살펴보겠습니다.

이 기사의 요점:

  • 3학년을 위해 작성된 L1 확장 아이디어

  • 처음부터 롤업 솔루션 설계

  • 롤업을 다시 진화시키기 위해 영지식 증명을 사용하는 방법

비유에서

비트코인과 이더리움의 경우 탄생 이후 일반 사용자로부터 가장 큰 두 가지 비판이 있습니다.

  • 천천히: 원래 차선이 좁고 차가 너무 많으면 교통이 차단됩니다.

  • 비싸다 : Pingfeng 통행료는 저렴하지 않습니다.성수기에 빨리 지나가고 싶다면 "돈 능력"을 사용하여 돈을 추가하고 광부들이 헬리콥터를 타고 당신을 데려다 줄 수 있습니다.

이 두 가지 비판은 블록체인 설계의 두 가지 요소에서 비롯됩니다.

  • 블록 용량: 차선과 유사하게 블록 용량이 클수록 더 많은 차량을 수용할 수 있으며 차단될 가능성이 적습니다.

  • 인센티브 메커니즘 : 차도가 아무리 크더라도 막힐 가능성이 있습니다. 구급차를 부르는 것과 같은 지불 의향 수백입니다.

블록체인이 정말 차도와 같을 수 있다면 근본적인 해결책은 자연스럽게 차도를 넓히는 것과 동시에 가격 수단과 협력하여 외출 시간을 안내하고 서두르다.

그러나 차선을 넓히고 블록 용량을 늘리는 것이 매력적인 트래픽 효율성 솔루션이지만 블록체인 설계에서는 최후의 수단입니다. 블록 크기가 클수록 채굴자에 대한 하드웨어 요구 사항이 높아지고 요구 사항을 충족할 수 있는 채굴자가 적기 때문에 이 아이디어에 따르면 Visa와 같이 초당 수천 건의 트랜잭션을 처리하려는 경우 중앙 집중식 Visa는 블록체인 무신뢰의 핵심 목적에 반합니다.

다른 해결책이 있습니까? 예, 시간 안내 외에도 다음을 포함하되 이에 국한되지 않는 공간을 최적화할 수 있습니다.

  • 서로 간섭하지 않고 대형 트럭용, 자동차용, 버스용 등 서로 다른 차선을 여십시오. 이 아이디어를 기반으로 자체 강점을 가진 일부 메인 체인, 사이드 체인 또는 플라즈마에 도달할 수 있습니다.

  • 경로 설계를 최적화하고, 트래픽을 적절하게 전환하고, 아무것도 하기 위해 도시로 가지 말고, 이 주요 도로를 이용해야 하고, 여기 체크포인트를 통과해야 합니다 —— 이 아이디어를 기반으로 샤딩(샤딩)을 할 수 있습니다.

  • 왜 나가야 합니까? 원격 회의를 해서 합의에 도달해도 늦지 않고, 오프라인에서 합의에 서명해도 늦지 않다——이 아이디어를 바탕으로 상태 채널(State Channel)을 가질 수 있습니다.

  • 외출할 때 반드시 혼자 운전할 필요는 없고 카풀이나 대중교통을 이용할 수도 있습니다. 이 아이디어를 바탕으로 이 기사의 주인공인 롤업을 소개합니다.

블록체인의 버스로서 Rollup의 핵심은 공간과 휘발유를 절약하는 것입니다(가스, 말장난 의도).

  • 공간을 절약하여 갇히기가 쉽지 않으며 각 사람이 공유하는 통행료는 혼자 운전하는 것보다 훨씬 적습니다.

  • 휘발유가 아껴서 표값도 서민들에게 가깝고 누구나 감당할 수 있다.

이렇게 해서 "느림"과 "비쌈"의 두 슬롯을 롤업으로 해결합니다.

다시 블록체인으로 돌아가 롤업의 구체적인 계획을 살펴보자.

처음부터 롤업 솔루션 설계

표준 답변을 엿보는 대신(없다는 것은 말할 것도 없고) 약간의 긴장감을 가지고 이더리움용 롤업을 설계하는 임무를 받았을 때 무엇을 할지 상상하는 것이 좋습니다.

컴퓨팅 비용 절감(휘발유 절약)과 저장 비용 절감(공간 절약)이라는 두 가지 관점에서 시작하여 롤업 1.0이라는 보다 근본적인 솔루션을 먼저 제안하는 것이 좋습니다.

Rollup 1.0 

롤업 1.0은 3가지 주요 사항으로 구성됩니다.

  • 모든 사람의 "카풀" 트랜잭션(트랜잭션)을 수집하고 카풀이 만원이든 아니든 합의된 시간이 되면 가격과 적시성을 고려하여 "주문을 전송"하는 서비스 제공자(운영자)가 있습니다.

  • 모든 사람이 제출한 트랜잭션과 관련된 모든 계산은 이 서비스 제공자가 오프체인에서 수행합니다. 오프체인 계산이 온체인보다 빠르고 계산이 온체인 비용의 대부분을 차지하는 경우가 많기 때문에 많은 비용을 절약할 수 있습니다. ;

  • 계산 후 업데이트된 상태(예: 계정의 최신 잔액)를 가져와 체인에 저장하므로 저장 비용이 훨씬 낮아집니다.

간단히 말해서 모든 사람의 트랜잭션 요청을 정기적이고 정량적으로 수집하고, 오프체인 계산 후 계산 결과만 체인에서 굳히는 것입니다.

이 솔루션은 "느림"과 "비싸다"라는 두 가지 주요 문제점을 완벽하게 해결하지만 새로운 문제를 생성하는 것 같습니다.

  • 인센티브: 누가 "카풀" 서비스를 제공하고 혜택은 무엇입니까?

  • 검토 문제(검열): 서비스 제공자가 의도적으로 내 주문을 처리하지 않거나 끊거나 종료합니다. 어떻게 해야 합니까?

  • 사기 문제(Fraud): 서비스 제공자가 계산 결과를 속이고 조작하여 내가 다른 사람에게 돈을 송금하게 하고 그 돈을 횡령한 경우 어떻게 해야 합니까?

이 세 가지 새로운 문제에 대해 계획 버전을 반복할 수 있습니다.

Rollup 2.0 

동기부여 문제는 가장 잘 해결되고 돈으로 해결할 수 있는 문제는 문제가 아니다. 서비스 제공자는 "카풀" 비용을 균등하게 분담하고 약간의 추가 "팁"을 청구할 수 있습니다. 그럼에도 불구하고 여전히 "카풀"하는 사람과 윈윈 상황입니다.

검토 문제는 조금 더 번거롭지만 해결책은 블록체인 분야에서 매우 일반적이며 탈중앙화입니다. 여러 사람이 서비스 제공자이므로 한 사람만 제공하는 것보다 낫고 누구나 서비스 제공자가 될 수 있으므로 고정된 사람들보다 낫습니다. 후자의 플레이 방식에서 모든 서비스 제공자가 좋지 않은 경우 직접 서비스 제공자가 되거나 L1에 직접 가서 중재를 시작할 수도 있습니다.

사기는 조금 더 어렵습니다. 두 가지 질문으로 나눌 수 있습니다. 하나는 사기를 식별하는 방법이고 다른 하나는 사기를 방지하는 방법입니다.

우선, 사기를 식별하려면 모든 사람의 거래(거래) 데이터, 거래 전 상태(State)를 알아야 거래 후 새로운 상태(State')를 계산하고 이를 새로운 상태와 비교할 수 있습니다. 서비스 제공자 체인에 저장됩니다.동일하면 서비스 제공자가 정직하다는 의미이고 그렇지 않으면 거짓말을 의미합니다. 그러나 트랜잭션 데이터는 온체인이 아니기 때문에 알 수 없습니다. 결과적으로 우리는 회의적일 수 밖에 없으며 서비스 제공자가 정직한지 여부를 판단할 수 없습니다.

그렇다면 사기를 방지하는 가장 좋은 방법은 사기가 발생하지 않도록 하는 것입니다. 이는 서비스 제공자의 계산을 체인에서 매번 확인하지 않는 한 상대적으로 어려운 일이지만 이렇게 하면 " 카풀". 따라서 우리는 한 걸음 뒤로 물러나서 사기 비용을 매우 높게 하고 사기가 적발되면 몰수할 예치금(지분)을 지불하는 등 서비스 제공업체가 게임에 빠져들게 할 수 있습니다. (이 방식을 소셜 컨센서스라고 하는데 게임 기반 보안에 속하는 것으로 "Weekly #3"에서도 언급한 바 있습니다.)

Rollup 3.0 

롤업 2.0이 나쁘진 않지만 사기 식별 문제가 해결되지 않습니다.

이전 추론에 따르면 사기를 식별하려면 트랜잭션 데이터를 알아야 하므로 데이터의 이 부분은 상태 데이터와 동일한 체인에 있어야 합니다.

그들이 사기라는 것을 누가 알게 될까요? 모든 사람이 7 x 24시간 서비스 제공자의 모든 움직임을 모니터링하는 것은 불가능하므로 전문 "현상금 사냥꾼"(Validator)만 될 수 있기 때문에 일반 사용자가 아닐 가능성이 큽니다. 서비스 제공자가 "주문을 보낸" 후 7일 이내에 "현상금 사냥꾼"이 사기를 신고하고 사실임을 확인하면 거래가 롤백되고 서비스 제공자가 처벌됩니다. 물론 "현상금 사냥꾼"도 마찬가지로 인센티브가 필요합니다. 예를 들어 사기가 적발된 후 서비스 제공업체의 예치금의 일부가 "현상금 사냥꾼"에게 지급됩니다. 서비스 제공자와 현상금 사냥꾼).

Rollup 4.0 

Rollup 3.0 단계에서는 전체 솔루션이 원활하게 실행될 수 있었지만 새로운 비용이 도입되었습니다. 지금까지의 비용에는 다음이 포함됩니다.

  • 서비스 제공자에 대한 수수료(비용 및 "팁" 포함)

  • 트랜잭션 및 상태 데이터의 온체인 스토리지 비용

  • "바운티 헌터"가 서비스 제공자가 사기라고 믿을 때 그가 말한 것이 사실인지 확인하는 계산 비용이 체인에서 발생합니다.

트랜잭션 데이터

트랜잭션 데이터

특정 방식으로 여러 트랜잭션이 함께 집계되며 차지하는 공간은 각 트랜잭션이 차지하는 공간의 합보다 작을 수 있습니다.

가장 간단한 ETH 전송 트랜잭션을 예로 들어 각 트랜잭션의 내용 구성을 분해하면 서명 공간이 가장 큰 비중을 차지함을 알 수 있습니다. 우리는 모든 트랜잭션의 서명을 하나로 결합할 수 있으며(키 집계) 많은 스토리지 오버헤드를 절약할 수 있습니다(Bitcoin의 Schnorr와 유사). 또한 Nonce를 없애고 "카풀" 시 최대한 "뚱뚱하고 마른"을 선택하는 등 다른 부분도 최적화할 수 있으며, "카풀"의 활용도를 극대화하기 위해 완벽하게 맞는 "카풀하는 사람"을 만들 수 있습니다. " 공간.

출처: https://vitalik.ca/general/2021/01/05/rollup.html

3~2회만 ETH 전송 트랜잭션의 크기가 112바이트에서 이전의 10분의 1에 가까운 12바이트로 줄었습니다.

실제 작업에서는 체인에 배포된 계약에 이러한 메서드를 설치할 수 있습니다.

function storeTxData(bytes calldata data) external { // 아무것도 하지 않음}

그런 다음 "카풀링"이 성공할 때마다 병합되고 압축된 트랜잭션 데이터가 이 메서드에 calldata로 전달됩니다. Calldata는 영구적으로 저장할 필요가 없으며, 사회적 합의 홍보 챌린지 기간(Challenge Period) 이후에는 프룬(Prune)을 해도 상관없으며, 가격 자체가 매우 저렴하고, Danksharding 및 Data Blob과 같은 EIP, 데이터 스토리지 배포(데이터 가용성)에 L1을 적용하는 이러한 형식도 보다 형식적입니다.

상태 데이터

이제 트랜잭션 데이터가 체인에 업로드되었으므로 누구나 트랜잭션 데이터를 통해 업데이트된 상태를 계산할 수 있으며 상태 데이터는 그다지 필요하지 않습니다. 우리는 서비스 제공자가 협조하지 않을 때 일반 사용자("카풀러")가 L1에 직접 출금을 신청하고 돈이 있음을 증명하기 위해 Merkel Proof에 의존하는 데 사용되는 상태 데이터의 Merkel Root만 유지할 수 있습니다. 그들의 계정에서.

사기 중재 비용

"바운티 헌터"가 서비스 제공자에게 사기를 신고하면 온체인 계약 계산(Replay)이 한 번 수행되고 상태 결과가 비교됩니다. 이것은 이론적으로 가능합니다. 하지만 그렇게 하는 비용이 적지 않고(이미 좋은 일이긴 하지만), 두 번째는 롤업 "카풀링 리스트"에 포함된 트랜잭션의 Gas 합이 이더리움의 가스 한도를 초과할 수 있어 불가능하다는 것입니다. 확인합니다.

따라서 중재는 부담을 줄여야 하며 부담을 줄이는 방법은 자연스럽게 불필요한 계산 작업을 오프체인에 두는 것입니다. 솔루션 중 하나는 Interactive Proving이라고 하며 일반적인 프로세스는 다음과 같습니다.

  • "바운티 헌터"는 보증금을 지불한 다음 보고하고 전체 계산 프로세스를 순서대로 n 세그먼트로 분할하여 서비스 제공자가 세그먼트 k(1 ≤ k ≤ n)에 사기가 있음을 지적합니다.

  • 서비스 제공자는 세그먼트 k를 세그먼트 k로 드릴다운 및 분해하고 "현상금 사냥꾼"의 어떤 세그먼트가 올바르지 않은지 지적합니다.

  • 이러한 방식으로 앞뒤로 이동하면서 계산 작업을 더 이상 드릴다운 및 분해할 수 없음을 알면 예를 들어 "현상금 사냥꾼"은 1+1=2라고 생각하고 서비스 공급자는 1+1=3이라고 생각합니다.

  • 이때 체인 상의 계약이 개입하여 1+1을 계산하여 2를 얻음으로써 서비스 제공자가 사기라고 판단하고 보증금을 압수하고 일부를 "현상금 사냥꾼"에게 보상합니다.

(전체 과정에서 한 쪽이 제한 시간 내에 응답하지 않으면 실패한 쪽입니다.)

이러한 방식으로 전체 체인의 중재 비용은 매우 낮습니다.

하지만 우리는 Rollup 솔루션을 완전히 구축했습니다. 이 체계는 서비스 제공자가 기본적으로 정직하다고 가정하기 때문에 "현상금 사냥꾼" 보고서가 없는 한 이 팩션을 낙관론자의 롤업, 소위 낙관적 롤업이라고 합니다.

그렇다면 우리의 Rollup 4.0이 최고의 솔루션일까요?

롤업의 재진화

여러 번 반복한 후에도 Rollup 4.0에는 여전히 몇 가지 결함이 있습니다.

  • 사기는 "현상금 사냥꾼"에 의해 발견되어야 하지만 장기간 사기가 없으면 "현상금 사냥꾼"은 수익성이 없어 폐업할 수 있으므로 공백이 발생합니다. 롤업 체인 적용 가맹점과 같은 관련 이해 관계자가 "바운티 헌터" 역할을 할 가능성이 높습니다.

  • 사회적 합의에 따라 사기가 없는지 확인하려면 인출과 같은 작업에 영향을 미치는 며칠 동안 기다려야 합니다.

  • 체인에는 많은 데이터가 있지만 여전히 비용이 있습니다.

  • 현재는 Rollup 1계층으로 용량을 확장하면 처리량을 10배로 늘릴 수 있는데 더 높일 수 있을까요?

부정 행위를 전혀 불가능하게 만들고, 완결성(Finality)을 더 빠르게 만들고, 체인에 업로드해야 하는 데이터를 줄이고, 확장을 훨씬 더 크게 만들 수 있는 솔루션이 있습니까? 너무 많은 것을 원하지는 않지만 거의 모든 상상을 만족시킬 수 있는 일종의 솔루션이 있습니다. 바로 Zero Knowledge Rollup(줄여서 ZK-Rollup)입니다.

ZK-Rollup은 영지식증명(ZKP)을 이용한 롤업 아이디어입니다. 소위 ZKP는 민감한 정보를 노출하지 않고 상대방이 이 정보를 알고 있다고 확신시키는 기술을 말합니다. ZKP를 설명하기 위해 제가 가장 좋아하는 두 가지 예가 있습니다.

  • 중세 유럽 마을에 보물이 표시된 보물 지도가 있다고 상상해 보십시오. 내가 보물 지도를 가지고 있다는 것을 증명하기 위해 보물의 정확한 위치를 알려주지 않고 눈가리개를 씌우고 마차에 끌고 가서 30분 동안 시내를 돌아다니며 확인했습니다. 방향 감각을 잃고 마침내 목적지에 도착하고 차에서 내려 보물을 보여준 다음 다시 돌아갑니다. 이것은 순진한 형태의 ZKP입니다.

  • 또 다른 비유가 더 일반적입니다. 스도쿠 퍼즐이 있다고 가정해 봅시다, 나는 답을 알고 있지만 당신은 모르지만 당신은 내가 안다고 믿지 않습니다. 무엇을 해야 합니까? 나는 스도쿠를 카드와 함께 탁자 위에 놓은 다음 열린 숫자를 위로, 채워야 할 숫자를 아래로 놓고 행 또는 열별로 내 답을 확인하도록 선택할 수 있습니다. 행별로 표시하는 경우 각 행의 숫자를 함께 그룹화하고 분해한 다음 각 행이 1에서 9까지임을 보여줍니다. 여러 번 반복해도 괜찮으니 높은 확률로 답을 정말 안다고 믿으셔도 됩니다. 이것은 ZKP의 대화형 증명 방법 중 하나입니다(블록체인에서 실시간 온체인 상호작용을 달성하기 어렵기 때문에 비대화형 증명이 일반적으로 사용되며 해시 함수에 의해 무작위 챌린지가 생성됨).

덜 엄격한 용어로 ZKP의 핵심 아이디어는 증명자(Prover)가 먼저 비밀 지식을 숨기고 "커밋"(Commit)한 다음 검증자(Verifier)가 무작위 챌린지(Challenge)를 시작한다는 것입니다. 그가 도전을 성공적으로 통과할 수 있다면 그에 상응하는 비밀 지식을 가지고 있을 확률이 높습니다.

ZKP는 3가지 요구 사항을 충족해야 합니다.

  • 증명자가 거짓말을 하면 도전에 실패할 확률이 높다(Soundness).

  • 증명자가 지식을 가지고 있으면 도전을 통과할 수 있습니다(완전성).

  • 두 당사자 간의 상호 작용 중에 증명자는 유용한 정보를 공개하지 않습니다(영지식).

이 세 가지 요구 사항을 충족하기 위해 ZKP는 가장 간단한 소수 분해 및 이산 로그(예: Schnorr is) 등 다양한 NP 문제를 사용합니다.

ZKP는 블록체인을 위해 태어난 기술은 아니지만 L2 확장에 사용할 수 있습니다. 좋은 ZKP는 주로 다음과 같은 유용한 특성을 가지고 있기 때문입니다.

  • 증명자(서비스 제공자)는 신속하게 증명을 제공할 수 있으므로 체인 아래의 계산 효율성이 매우 높고 병목 현상이 발생하지 않도록 합니다.

  • 증명의 크기는 작거나 적어도 증명할 계산량에 비례하고 데이터 양의 영향은 가능한 한 작아서 체인의 저장 비용이 낮습니다.

  • 검증자(L1 계약)는 증명이 유효한지 신속하게 확인할 수 있으므로 체인의 계산 비용이 낮습니다.

이러한 기능을 사용하여 롤업 솔루션은 다음을 수행할 수 있습니다.

  • 더 이상 "현상금 사냥꾼"이 필요하지 않습니다. L1 계약은 그 자리에서 자체적으로 사기를 감지할 수 있습니다.

  • ZKP 인증이 유효한 한 인출은 즉시 가능하며 최종 결정은 며칠에서 몇 분으로 단축됩니다.

  • 상태 간의 차이점만 체인에 업로드해야 하고 공간이 작으며 저장 비용이 매우 낮습니다(추가 보너스 — 개인 정보 보호도 향상됨).

  • 증명 및 검증 프로세스의 맞춤형 하드웨어 및 소프트웨어 최적화를 통해 용량 확장을 한 단계 더 높일 수 있습니다.

물론 모든 보안 메커니즘에는 잠재적 전제 조건이 있으며 ZKP는 블록체인의 만병통치약이 아닙니다. ZKP에는 현재 다음과 같이 단계적으로 극복해야 하는 많은 제한 사항이 있습니다.

  • 블록체인에서 가장 널리 사용되는 zk-SNARK를 예로 들어 보겠습니다.많은 솔루션은 처음에 평판이 좋은 사람이나 회사를 최대한 많이 소개하고 신뢰할 수 있는 설정을 수행하여 진정한 난수를 생성하고 생성된 프로세스를 보장해야 합니다. 검증 가능하지만 완전히 공개되지는 않습니다(타우의 힘 의식에서와 같이 한 당사자를 신뢰할 수 있지만 여전히 결함이 있는 것으로 간주됨). 물론 일부 새로운 zk-SNARK 체계와 이후에 개선된 zk-STARK가 이 문제를 해결할 수 있지만 때때로 새로운 문제가 도입됩니다.

  • 많은 문제가 ZKP 문제로 요약되기 어려우며, 이로 인해 프로그래밍 가능성이 오랫동안 잘 해결되지 않았다는 사실이 드러났습니다. 이더리움에서 EVM과 완벽하게 호환되는 ZKP를 구현하기 어렵거나, 달성할 수 있다고 해도 어렵습니다. , 어렵다 다른 측면(검증 효율성 등)에 영향을 미칠 것입니다.

출처: https://medium.com/minaprotocol/meet-pickles-snark-enabling-smart-contract-on-coda-protocol-7 ede 3 b 54 c 250

미래지향적 확장 분야인 ZK-Rollup의 모든 발전이 칭찬할 만하고 만족스러운 이유입니다.

마지막에 쓰기

마지막에 쓰기

용량 확장의 미래에 관한 한 저자는 L1의 기본 용량 확장과 비교할 때 롤업을 포함한 레이어드 디자인이 더 신뢰할 수 있는 아이디어라고 생각합니다. 모듈화, 각 레이어는 각 레이어의 문제를 해결하여 이미 "모놀리식"인 L1에 연속적으로 쌓는 것보다 덜 위험합니다. 위로. 또한, 이 레이어드 디자인 아이디어는 블록체인 이외의 분야에서 성공적으로 적용되고 있습니다. 그 관점이 반드시 옳다고 할 수는 없지만, 이것이 현재 작가의 인식이다.

이 기사는 롤업 확장 솔루션의 생각과 디자인 이유를 프로젝트에 구애받지 않는 어조로 정리하려고 시도합니다. 제한된 수준으로 인해 일부 장소는 여전히 약간 무뚝뚝하여 제대로 설명되지 않을 뿐만 아니라 이해의 어려움을 증가시킬 수 있습니다. 시간의 많은 새로운 발전을 고려합니다. 정정하고 소통할 친구들을 진심으로 환영합니다.

Layer 2
ETH
ZKP
Odaily 공식 커뮤니티에 가입하세요