이더리움 L2 네트워크와 ZKsync Era 소개
Ethereum
이더리움은 이전 포스트의 내용처럼 지분 증명 방식을 이용한 블록체인 네트워크다.
이더리움은 작업 증명 방식의 네트워크에 비교했을 때 빠른 블록 생성 속도를 강점으로 가지지만, 대용량 트래픽 환경에서는 한정적인 자원으로 인해 사용자 체감 속도가 원활하지 않을 수 있다.
이더리움 네트워크 안에서 블록을 압축해 기록하는 방식으로 특정 계약의 블록 효율을 높이는 시도가 있지만,
이 방식은 네트워크 자체의 속도 향상이 아닌 특정 스마트 컨트랙트 동작을 위한 사전 작업으로
오프체인에서 데이터를 압축하는 과정이 포함되기 때문에 기술적 숙련도를 요구되며, 압축 과정에서의 변조될 위험이 존재한다.
Layer 2
이더리움 네트워크에서 Layer 개념을 이용해 블록 생성 속도 향상, 비용 절감 및 특수 기능을 목적으로 하는 Layer 2 네트워크가 존재한다.
Layer 2에 속하는 네트워크는 자체 네트워크(Layer 2)에서 블록을 생성한 뒤 여러 블록을 모아 이더리움 메인 네트워크(Layer 1)에 블록을 생성하는 방식을 이용한다.
Layer 2 방식을 이용하면 메인 네트워크의 블록 생성 대기열과 별개로 블록을 생성하여 속도 향상을 누릴 수 있고,
Layer 1 의 높은 네트워크 비용을 여러 트랜잭션이 나누어 부담하기에 비용 절감 효과를 누린다.
데이터 무결성과 추적에 대해서는 Layer 2의 트랜잭션 추적과 Layer 1에 기록된 블록 정보를 이용할 수 있으므로 결과적인 보안성은 이더리움 메인 네트워크와 같다.
ZKsync Era
이 포스트에서는 한국 기술 블로그에 잘 소개되지 않은 ZKsync Era 네트워크의 개념을 소개한다.
ZKsync Era는 Zero-Knowledge proof, ZK(영지식 증명)을 이용하는 이더리움 Layer 2 네트워크다.
영지식 증명은 해시값 비교와 다른 방식으로 데이터를 검증한다.
해시값 비교는 검증자가 원본 데이터를 직접 해시로 변환 후 블록체인에 기록된 데이터 해시와 비교하는 방식을 이용해야 해당 데이터의 변조를 확인할 수 있다.
데이터 검증 과정에서 검증자가 원본을 확인해 민감정보가 유출되거나, 검증자의 조작에 의한 데이터 변조 가능성 문제가 존재하여 영지식 증명 방식이 보안 측면에서 유리하다.
- 영지식 증명은 하나의 키 쌍, 데이터 해시를 이용해서 데이터를 기록하고 검증한다.
기록과 검증 과정에서 원본 데이터는 데이터 소유자 외에는 노출되지 않는 점이 보안 측면의 이점이다.
- 키 쌍 중 검증 키와 데이터 고유값을 블록체인에 기록한다.
- 데이터 검증 시점에서 증명 키와 원본을 조합해 증명이라는 수학적 결과물을 생성한다.
- 블록체인에 기록된 검증 키를 이용해서 앞서 생성한 증명을 검증한다.
- 검증 키의 검증 결과가 “참”이며 데이터 해시와 일치하는 경우 블록체인에 기록된 정보와 소유자의 제출 정보의 무결성을 확인할 수 있다.
- 키 쌍 중 검증 키와 데이터 고유값을 블록체인에 기록한다.
- ZKsync Era의 특징은 영지식 증명 외에도 Abstract Account(AA) 개념이 네트워크의 기본 설정인 점이다.
AA를 이용하면 트랜잭션 당사자와 수신자 외의 3자가 네트워크 비용을 대납하거나, 트랜잭션의 조건을 설정하는 등의 복잡한 계약 조건을 이용할 수 있다.
이 특징을 이용하여 ZKsync Era 내부에서는 가스비 대납자(Paymaster)를 구현하기에 편리하며 WaaS의 프로세스 설계가 편리하다.
WaaS의 대표 Paymaster를 사용자 지갑 AA가 사용하도록 설정하고, AA에는 특정 조건을 충족하는 데이터만 트랜잭션에 포함할 수 있는 로직을 이용하면
서비스의 프로세스에서 벗어나는 엣지 케이스를 줄이는 리스크 완화가 가능하다.