제퍼넷 로고

Polygon ZK-RollUp: 놀랍도록 간단한 설명 

시간

읽기 시간: 9

Polygon은 ZKrollup을 도입하여 왕관을 유지합니다.

이더리움 메인넷의 문제

이더리움은 web3 생태계의 근간입니다. 그것은 그것이 지닌 잠재력으로 세계에서 가장 똑똑한 사람들을 계속해서 놀라게 합니다. 다양한 응용 프로그램의 잠재력은 아인슈타인도 잠시 머리를 긁적일 것입니다.

하지만 네, 동화가 아닙니다. 모든 멋진 것에는 제한이나 제한이 있습니다. 이더리움이 직면하고 있는 끊임없는 한계는 "가스 요금", 즉 확장성입니다. 이더리움 클래식은 초당 15개의 트랜잭션을 수행할 수 있는 제한이 있습니다. 그러나 ETH 2.0은 이것보다 훨씬 빠를 것이지만 아직 갈 길이 멀다.

시도한 솔루션

수년간의 연구 끝에 장기간의 연구와 전단 헌신 web3 커뮤니티는 더 나은 확장에 도움이 되는 몇 가지 솔루션을 내놓았습니다.

  1. Layer 1 Scaling: 이것은 아키텍처를 일부 변경하여 블록체인을 개선하기 위해 사용하는 방법론입니다. 예를 들어 ETH 2.0은 ETH Classic에서 PoW용 PoS를 설정하려고 시도하는 레이어 1 스케일링 솔루션입니다. 이러한 유형의 솔루션은 비용이 많이 들고 시간이 많이 걸립니다.
  2. 롤업:- 이것은 가장 유망한 경쟁자인 레이어 2 솔루션입니다. 사용자는 높은 처리량으로 이더리움 블록체인이 지원하는 보안을 얻습니다.
  3. 사이드체인:- 이들은 EVM과 호환되며 범용 애플리케이션을 확장할 수 있지만 단점이 있습니다. Ethereum은 보안을 지원하지 않기 때문에 Web3 Community는 지속적으로 인식해야 합니다. 이것은 레이어 2 스케일링에 해당합니다.

https://twitter.com/MessariCrypto/status/1377655515099062273/photo/1

다각형의 테이크

이더리움 스케일링 프로젝트로 시작하여 이전에 Matic Network로 알려졌던 Polygon은 web3 공간에서 빛나는 별이 되었습니다. 폴리곤 네트워크에서 거래를 확인하는 데 몇 센트가 드는 반면, 동일한 거래는 이더리움 메인넷에서 달러가 필요합니다. 이는 모두 이더리움 메인넷 위에 구축된 사이드체인 덕분에 가능했습니다.

나중에 Matic Network는 이더리움 블록체인을 확장하는 더 다양한 방법을 탐색했으며 이더리움 블록체인을 더 잘 확장할 수 있는 다양한 솔루션을 제공하기 위해 "Polygon"으로 이름을 변경했습니다.

이 블로그를 작성하는 시점에 몇 가지 프로젝트가 있습니다.

  1. 다각형 PoS
  2. 폴리곤 슈퍼넷
  3. 폴리곤 제로
  4. 폴리곤 메이든
  5. 다각형 zkEVM

이 블로그에서는 이더리움 확장을 위한 핫 프로젝트 중 하나인 Polygon의 새로운 릴리스 zkEVM을 살펴보겠습니다.

다각형 zkEVM

Polygon zkEVM은 이더리움을 확장하여 가스 요금을 줄이고 처리량을 늘리기 위한 폴리곤별 제품입니다. "ZK"는 롤업의 일종인 "제로 지식"을 의미합니다. 계속 진행하기 전에 롤업에 대한 이해가 필요합니다.

롤업이란?

이런 식으로 상상해 보세요. A 도시에서 B 도시로 우편 서비스가 있다고 가정해 보겠습니다. 하지만 차량은 1대뿐이고 하루에 한 번 봉투 100개만 실을 수 있습니다. 당신은 그것이 제한적이라고 생각하고 방법을 찾으려고 노력합니다. 당신이 할 수 있는 것은 10통의 편지를 가지고 그 요약을 한 편지로 써서 봉투에 넣어 우송하는 것입니다. 이렇게 하면 99 + (10) 글자를 게시할 수 있습니다. 이것이 본질적으로 롤업입니다.

이것이 이더리움 메인넷에서 롤업이 기본적으로 작동하는 방식입니다. 우리는 트랜잭션 덩어리를 가져와 "롤업"으로 수집하고 요약한 다음 메인넷으로 푸시합니다. 이렇게 하면 처리량이 증가합니다. 거래 수수료는 롤업되는 배치의 거래와 관련된 여러 당사자 간에 분할됩니다. 이렇게 하면 가스 요금을 상당히 줄일 수 있습니다.

롤업 메커니즘

각 롤업은 다음과 관련된 일부 스마트 계약을 레이어 1에 배포합니다.

  1. 예금 처리
  2. 철수
  3. 증명 확인

여기서 주요 관심사는 확인 메커니즘입니다. 레이어 1에 제출된 롤업이 사기가 아닌지 어떻게 확인합니까? 이를 확인하기 위해 두 가지 유효성 검사 메커니즘이 있습니다.

  1. 제로 지식:- 이 메커니즘은 유효성 증명을 사용하고 암호화를 통해 권한을 부여받습니다. 롤업되는 트랜잭션 배치에는 "zk-snark"로 알려진 암호화 증명이 포함됩니다. 이 증명은 트랜잭션 배치가 제출될 때 레이어 1 스마트 계약에 의해 신속하게 확인되며 유효하지 않은 트랜잭션은 거부됩니다.
  2. 낙관주의:- 이 메커니즘은 사기 방지를 위해 작동합니다. 즉, 레이어 1에 제출된 배치가 사기가 아님을 증명해야 합니다. 관련된 두 당사자가 있습니다. 하나는 레이어 2 프로토콜에 배치를 제출하고 배치가 옳다고 말하고 잘못된 것으로 판명될 수 있는 경우 약간의 돈을 걸고, 다른 하나는 이 배치가 악의적이라고 진술하는 사기 증거를 제출하려고 합니다. 이 주장에 약간의 이해 관계가 있습니다. 누군가 사기 증거를 제시하면 레이어 1 프로토콜에서 배치를 확인하고 잘못된 것으로 판명된 당사자는 처벌을 받습니다.

폴리곤의 zkEVM 아키텍처:-

지금쯤이면 롤업, 특히 zk-롤업이 어떻게 작동하는지 제대로 이해하고 있어야 합니다. 다각형의 zkEVM에서 찾을 수 있는 주요 구성 요소는 다음과 같습니다.

  • 합의 계약(PolygonZkEVM.sol)
  • zk노드
  • zkProver

합의 계약

이 계약은 L1에 배포되며 상태 전환의 견고성을 보장하기 위해 유효성 증명을 사용하여 중요한 역할을 합니다. 이를 위해 상태 전환을 허용하기 위해 따라야 하는 미리 결정된 규칙이 있습니다.

상태 전환의 성공적인 완료를 확인하기 위해 이 계약은 zk-SNARK 회로를 사용합니다. 이 시스템은 앞에서 설명한 대로 일괄 처리 및 트랜잭션 유효성 검사라는 두 가지 프로세스에 의존합니다.

트랜잭션 일괄 처리 및 트랜잭션 유효성 검사를 수행하기 위해 zkEVM은 두 명의 참여자를 고용합니다.

  1. 시퀀서:- 트랜잭션 배치를 네트워크에 제안합니다.
  2. 애그리게이터:- 트랜잭션 배치의 유효성을 확인하고 유효한 증거를 제공하십시오.

Sequencers 및 aggregator에 대한 자세한 내용은 나중에 먼저 이 계약에 집중하겠습니다. 계약은 두 가지 호출을 합니다.

  1. 시퀀서로부터 배치를 수신하기 위해
  2. 일괄 검증을 요청하는 집계자에게

이 전체 프로세스는 다음 다이어그램으로 요약할 수 있습니다(여기서 PoE는 합의 계약입니다).

https://wiki.polygon.technology/docs/zkEVM/protocol/consensus/

zk노드

우리는 합의 계약에서 Sequencer와 Aggregator를 소개받았습니다. 이 두 가지는 zkEVM 아키텍처의 중요한 부분이며 zkNode는 이를 가능하게 하는 소프트웨어입니다. zkNode는 동기화를 구현하고 Sequencer 및 Aggregator를 관리하는 데 필요한 클라이언트입니다. 따라서 zkNode 소프트웨어는 4가지 측면을 용이하게 합니다.

  1. 시퀀서:- 시퀀서는 사용자로부터 L2 트랜잭션을 수신하고 이를 새로운 L2 배치로 사전 처리한 다음 합의 계약에 제안합니다. 시퀀서는 L2에서 트랜잭션에 대해 사용자가 제출한 수수료를 받습니다. 이 배치를 L1에 게시하기 위해 시퀀서는 L1 수수료를 지불해야 하며 일부 MATIC 토큰도 지불해야 합니다. 따라서 시퀀서는 다음과 같은 경우 수익성이 있습니다. - txn 수수료(거래에 대해 L2의 사용자가 받음) > L1 호출(L1에 게시하기 위한 가스 수수료) + MATIC 수수료(애그리게이터가 유효성을 검사하도록 장려하기 위해)
  2. 집계기:- 집계기는 배치의 무결성을 확인하는 데 중요합니다. 애그리게이터는 모든 트랜잭션 정보를 수신한 다음 이를 "zkProver"(나중에 자세히 설명)로 보내 복잡한 다항식 계산의 결과인 "zk-Proof"를 제공합니다. 그런 다음 "zk-Proof"가 스마트 계약으로 전송되어 증명이 올바른지 확인합니다. 그러면 이 배치가 올바른 것으로 표시되고 추가할 준비가 됩니다. 애그리게이터는 다음과 같은 경우 수익성이 있습니다:- MATIC 수수료(시퀀서별) > L1 콜(가스 수수료) + 서버 비용(증명 구축을 위한)
  3. 동기화 장치:- 동기화 장치의 주요 측면은 이더리움 블록체인에서 이벤트를 읽고 새 배치를 포함하여 상태를 동기화된 상태로 유지하는 것입니다. 이러한 이벤트의 정보는 데이터베이스에 저장됩니다. Synchronizer는 스마트 계약에서 데이터를 가져옵니다. 이 모든 데이터는 JSON-RPC 서비스를 통해 제XNUMX자에게 제공됩니다.
  4. RPC:- JSON-RPC는 Ethereum과 호환되는 중요한 인터페이스입니다. 이더리움 블록체인에 연결하기 위해 소프트웨어 애플리케이션이 필요할 때 이더리움 노드에 연결됩니다. 이것이 바로 RPC가 그림에 등장하는 방식입니다. 이를 통해 zkEVM은 Metamask와 Etherscan을 통합하고 풀 및 상태 트랜잭션과 상호 작용할 수 있습니다.

https://wiki.polygon.technology/assets/images/fig3-zkNode-arch-aa4d18996fba1849291ea18e3f11d955.png

zkProver

zkEVM 아키텍처의 이 부분은 가장 기술 지향적이고 복잡합니다. 이것을 수행하는 것을 알면 놀랄 것입니다. 개발자는 필요한 요소를 구현하기 위해 두 가지 새로운 프로그래밍 언어를 개발해야 했습니다.

  1. XNUMX — 지식 어셈블리:- 간단히 말해서 이 언어는 zkProver의 주 상태 기계에서 다른 상태 기계로 명령을 매핑합니다. 이 언어에 대해 자세히 알아보려면 다음을 확인하세요. .
  2. PIL(Polynomial Identity Language):- 프라이버시, 보안 및 확장성의 블록체인 트릴레마를 해결하기 위한 많은 연구가 있었습니다. 지금까지 여러 시도와 다른 이론 시도가 있었지만 현재까지 가장 많이 받아들여지는 것은 "다항식 약속 체계(Polynomial Commitment Scheme)"입니다. 따라서 다항식 언어로 계산을 수행하는 것이 편리합니다. 따라서 PIL 코드는 zkProver의 검증자 코드의 기초를 형성합니다. 그것에 대해 더 알고 싶다면 다음을 따르십시오. 여기에서 지금 확인해 보세요..

zkProver는 복잡성을 정당화하기 위해 여러 부서에서 수년간의 연구를 통해 뒷받침됩니다. zkProver의 주요 구성 요소는 다음과 같습니다.

  1. The Executor:- 이 부분은 Main State Machine에서 zkEVM의 실행을 다룹니다. 여기서 EVM 바이트코드는 이전에 논의된 새로운 "영지식 어셈블리 언어"(zkASM)를 사용하여 해석됩니다. 이 부분에서 우리는 모든 유효한 트랜잭션 배치가 트랜잭션, 이전/새 상태, 체인 ID 등과 같은 입력을 이행하고 공급해야 하는 다항식 제약 조건 설정을 처리합니다. 여기에 PIL(Polynomial Identity Language)이 인코딩되어 있습니다. 다항식 제약. 이 단계의 출력은 PIL 하드웨어 위에서 모든 명령을 실행한 결과인 "커밋 다항식"입니다.
  2. Stark Recursion Component:- 이 단계는 Committed Polynomials, Constant Polynomials 및 명령어 목록의 세 가지 주요 입력의 상호 작용을 포함합니다. 이 세 가지 입력이 혼합되어 zk-STARK 증명을 생성합니다. 이러한 여러 zk-STARK 증명은 몇 가지 zk-STARK 증명의 번들로 수집되고 각 번들의 zk-STARK 증명을 생성합니다. 그런 다음 해당 증명을 번들에 넣고 대조하여 하나의 단일 zk-STARK 증명을 형성합니다. 이것은 수백 개의 zk-STARK 증명이 단 하나의 zk-STARK 증명으로 표현되고 증명되는 방법입니다.
  3. CIRCOM 라이브러리:- 이 단계는 "증인"을 생성하기 위해 Stark Recursion Componenet을 통해 생성된 Verifier 데이터 및 단일 zk-STARK 증명과의 상호 작용을 포함합니다. 이 단계는 다음 단계에서 zk-STARK 증명을 zk-로 변환하는 데 필요합니다. SNARK 증거.
  4. Rapid Snark:- 이것은 zkProver의 마지막 구성 요소입니다. 이것은 zk-SNARK 증명을 생성하기 위해 STARK 검증 데이터와 함께 CIRCOM 라이브러리의 출력을 "증인"하는 단계입니다.

zk-STARK 증명은 속도 때문에 사용되지만 zk-SNARK 증명보다 훨씬 큽니다. 이러한 이유로 zkProver는 zk-STARK 증명의 데이터를 활용하여 최종 단계에서 생성된 zk-SNARK를 사용합니다. 이 네 가지 구성 요소의 상호 작용은 다음과 같이 볼 수 있습니다.

https://wiki.polygon.technology/assets/images/fig5-main-prts-zkpr-042cd579e903d351ced9ec16a8ee7d9c.png

보안 측면을 살펴보면

보안 측면에서 zkEVM 프로젝트는 중세 단계에 있으며 폴리곤 팀은 지속적으로 내부 및 외부 감사에 참여해 왔습니다. 내부 감사 결과에 대한 정보는 대부분 기밀이지만 Polygon은 두 명의 외부 감사인(Hexens 및 Spearbit)의 도움을 받았습니다. 쇼케이스 스마트 계약 감사를 받아야 합니다. 거대 거인들에 의해서도. "해킹은 예기치 않게 발생한다"는 것은 사실입니다. 실제로 그렇게 확실하고 안전할 수는 없습니다. web3 생태계의 거인 대부분은 이것을 이해하고 스스로를 보호하기 위해 열심히 노력하고 있습니다.

이제 그 어느 때보다 web3를 보호해야 합니다. 이 단계에서 스마트 계약에 대한 전문적인 코드 검토를 받는 것이 매우 중요하여 개발자의 수많은 작업 시간을 절약할 수 있습니다. 계약이 안전한지 확인하는 것이 그 어느 때보다 중요합니다. 우리는 함께 Web3를 더 안전한 공간으로 만들 수 있습니다. 방문하십시오 다양한 서비스와 솔루션을 탐색합니다.

16 조회수

spot_img

최신 인텔리전스

spot_img