운영 중인 P2E* 게임에서는 게임 재화를 거래가능한 토큰으로 스왑 가능합니다.
이 토큰이 Polygon Mainnet을 사용하고 있어 간단한 학습 진행했습니다.(작성자는 인프라 엔지니어이며, 이 내용은 깊이가 얉은 블로그 정리 내용입니다.)
폴리곤(Polygon)이란?
폴리곤은 이더리움 네트워크를 기반으로 다양한 스케일린 솔루션을 구축하며,
이를 통해 블록체인 트릴레마를 해결하는 것을 목표로 만들어진 프로젝트이다.
블록체인 트릴레마는 “DSS*를 모두 만족하는 상황은 존재하지 않는다”를 의미한다.
탈중앙성(De-centralization)
확장성(Scalability)
보안성(Security)
블록체인 트릴로마를 해결하려 시도한 수이 블록체인(Sui)이나 앱토스(Aptos) 등도 존재하지만 이 문서에서는 자세하게 다루지 않습니다. - [Ref]
폴리곤의 지분 증명 방식(PoS)
최초에는 폴리곤은 플라즈마(Plasma) 방식과 지분 증명 방식(PoS)를 혼합한 솔루션인 폴리곤 PoS 방식*을 사용했습니다.
설명 써야함
폴리곤 지분 증명 방식은 악의적으로 트랜잭션을 조작할 경우를 잡아내지 못합니다.
따라서 사용자의 자산이 보호받지 못하는 데이터 가용성 문제가 발생합니다.
폴리곤 어베일(Avail)
폴리곤이 데이터 가용성 문제를 해결하기 위해 별도의 체인을 독립적으로 사용합니다.
이 방법으로 비용을 절감하고 높은 확장성을 확보할 수 있습니다.
비용 관점
메인넷 트랜잭션 수를 줄여서 비싼 가스비를 최소한으로 지불 가능한 것 같다.확장성 관점
음… 정확한 이유는 모르겠습니다.
하지만 별도의 체인의 안전 보장 및 탈중앙성이 어떻게 유지될까?
폴리곤은 이를 위해 데이터 가용성 샘플링(DAS) 과 KZG Commitment를 사용한다.
폴리곤 어베일 - 데이터 가용성 샘플링란?
블록체인 데이터를 작은 청크로 나누고 노드는 무작위로 청크를 선택하여 검증합니다.
즉, 일부 데이터만 검증하고 전체 데이터셋의 가용성을 확률적으로 검증하는 방식입니다.
폴리곤 어베일 - KZG Commitment란?
개발자, 인프라 엔지니어로 커리어를 시작하고 마주한 개념 중에 제일 생소한 내용이었어서 읽은 내용을 그대로 요약해놓는 선에서 마무리 하였습니다. 자세한 부분은 BNB Bsc, Kaia Mainnet 등을 공부하면서 보완해 나가고자 합니다.
이는 PCS로서 다항식을 commit할 때, Vector Commitment로 기능한다.
이는 Markle Tree의 Merkle Root를 대체할 수 있어 proof 사이즈를 줄여 네트워크 대역폭을 줄일 수 있습니다.
Commitment Scheme은 데이터를 숨긴 후 그에 대한 commitment를 제출하고 이후에 실제 데이터를 드러내는 방식입니다.
Merkle Tree는 길이가 n인 배열에 대해 commitment를 생성하며 proof 사이즈를 줄이는 것이 목적입니다.
Polynomial Commitment는 다항식을 인풋으로 사용하여 Vector Commitment로 사용할 수 있습니다.
KGZ Commitment는 Polynomial Divisibility와 Elliptic Curve Pairings를 사용합니다.
KGZ Commitment는 Trust Setup이 필요하며, secret s를 기반으로 생성됩니다.
KGZ Commitment는 multiproofs를 통해 여러 점을 한 번에 증명할 수 있습니다.
Verkle Tree에서 KGZ Commitment를 사용하면 proof 사이즈가 O(1)로 줄어듭니다.
롤업이란?
폴리곤 롤업 전략의 설명에 앞서, 롤업이 무엇일까요?
롤업은 블록체인의 확장성 솔루션 중 하나로서 메인체인과 연계하여 트랜잭션을 더 효율적으로 처리하는 방법을 말합니다. 많은 트랜잭션을 메인체인 외부에서 처리하고, 처리 결과를 압축하여 메인 체인에 기록함으로써 블록체인의 처리 속도를 높이고 비용을 절감합니다.
결국 메인넷 외의 새로운 블록체인망을 사용하여 8가지 단점이 발생합니다.
1. 복잡한 운영 비용 : 암호학적 증명에서 높은 비용이 지불됨
탈중앙화 수준 : Layer 2를 사용하게 됨, Layer 2 운영자가 중앙화될 수 있음
결제 지연 : 구조적인 문제 때문에 Layer 1에서의 즉시 출금이 어려울 수 있음
상호 운용성 문제 : 네트워크 간 자산 이전 및 통합이 어려울 수 있음
데이터 가용성 문제 : 옵티미스틱 롤업 등은 특정 상황에서 데이터 가용성 문제 발생 가능
유동성 분산 : 개발자가 유동성 관리의 불편함을 겪을 수 있음
기술 채택 초기 단계 : 장기적인 안정성 및 성능이 다 검증되지 않음
높은 초기 개발 비용 : ZK Rollup 개발 등은 고도의 전문 지식이 요구됨
일반적으로 2가지 종류의 롤업 솔루션이 존재합니다.
옵티미스틱 롤업(Optimistic Rollup)
기본적으로 모든 트랜잭션이 올바르다고 가정하고 처리
만약 부정확한 트릭이 의심되면 사기 증명(Fraud Proof) 과정으로 검증
제로지식 롤업(ZK Rollup)
압호학적 증명(e.g. ZK-SNARKs)을 사용하여 모든 트랜잭션 유효성 검증
트랜잭션 데이터를 메인체인에 보관하지 않고, 증명 데이터만 기록하여 빠르고 효율적으로 작동
폴리곤 롤업 전략
폴리곤에는 여러 제로지식 롤업(ZK Rollup) 솔루션이 존재합니다.
그 중에서도 메인이 되는 폴리곤 zkEVM 솔루션이 있습니다.