블록체인의 확장성과 매스 어돕션을 위해서 멀티체인의 미래는 불가피하다. 하지만 이는 유동성 파편화 등 블록체인의 UX를 저하시키는 가장 큰 요인 중 하나이다.
Polygon Aggregation Layer는 다양한 체인들의 ZKP를 모아 안전하고 아토믹한 크로스 체인 트랜잭션을 가능하게 하여, 사용자들이 여러 네트워크와 상호작용하고 있음에도 불구하고 마치 하나의 네트워크와 상호작용하는 듯한 경험을 제공한다.
Source: Polygon
2024년 1월 24일, Polygon이 Aggregation Layer(AggLayer)이라는 개념을 새로 제시했다. AggLayer는 연결된 다양한 체인들의 ZKP를 모아 안전하고 아토믹한 크로스 체인 트랜잭션을 가능하게 하여, 마치 웹의 TCP/IP와 같이 블록체인 생태계에서 심리스한 크로스 체인 인프라를 제공하는 것을 목표로 한다. 즉, 사용자는 여러 네트워크가 상호작용하고 있음에도 불구하고, AggLayer 덕분에 마치 한 네트워크와 상호작용하는 것과 같은 사용자 경험을 느낄 수 있다. 이는 작년 공개된 Polygon 2.0 로드맵에서 제시된 단일 유동성(unified liquidity)의 비전과도 일맥상통하는 솔루션이다.
지금까지 블록체인의 확장성을 개선하기 위한 노력은 굉장히 많이 있어왔다. 초기에는 블록 크기를 키우고, 블록 타임을 줄인 단순한 방식부터, 최근에는 독자적인 합의 알고리즘과 연산 방식을 도입하거나, 이더리움 기반으로 레이어2를 빌딩하는 등 많은 솔루션을 볼 수 있다. 결국 이들의 목표는 모두 수 많은 사용자가 블록체인 네트워크를 빠르고 저렴하게 사용할 수 있는 환경을 제공하는 것이다.
하지만 프라이빗 블록체인이 아닌 이상, 퍼블릭 블록체인은 다수의 노드들에 의해 운영되어야 하며, 이는 필연적으로 중앙화된 시스템에 비해 낮은 확장성을 보일 수 밖에 없다. 아직까지는 블록체인 생태계의 사용자 및 액티비티가 높지 않기 때문에 이는 많은 블록체인들에게 감당 가능한 수준이다. 하지만, 최근 인스크립션 액티비티가 급등하며 많은 네트워크들에 장애를 야기했듯이, 미래에 블록체인의 매스어돕션이 달성된다면, 단일 퍼블릭 블록체인이 수 많은 사용자를 감당할 수 없을 것이다. 따라서 블록체인의 매스어돕션을 위해서 멀티체인은 필연적일 것으로 예상된다.
멀티체인이 필연적인 것을 뒷받침하는 또 다른 이유는 바로 앱체인에 대한 수요이다. 프로젝트 입장에서 게임, 오더북 거래소 등과 같이 빠른 확장성을 필요로 하거나 혹은 웹2 기업의 서비스와 같이 어느정도 고립된 생태계가 필요할 때 앱체인은 좋은 선택지가 될 수 있다. 범용 목적의 블록체인(general-purpose blockchain)에선 한 서비스에서의 활동이 다른 서비스에 영향을 줄 수 있기 때문에, 앱체인에 대한 수요는 앞으로도 지속적으로 있을 것이다.
하지만 단일 네트워크에 비해 멀티체인 생태계가 가지고 있는 단점은 너무나도 명확하고 치명적이다. 이는 바로 불편한 사용자경험(UX)이다. 만약 모든 서비스가 한 네트워크에 있다면, 사용자들은 하나의 지갑을 통해서 모든 서비스와 심리스하게 상호작용할 수 있다. 반대로 멀티체인 생태계에서 사용자들은 같은 지갑이라도 네트워크를 다르게 설정하여 상호작용하거나, 심지어 다른 종류의 지갑까지 필요한 경우도 꽤 있다. 뿐만 아니라, 서로 다른 네트워크의 서비스를 사용하기 위해선 브릿지를 통해 자금을 옮기는 불편함을 감수해야하며, 아토믹 트랜잭션은 밸리데이터 혹은 시퀀서를 공유하지 않는 한 거의 불가능하다.
이를 해결하기 위해 현재 블록체인 산업에서 가장 필요한 것은 체인 추상화(Chain Abstraction)이다. 이는 니어 프로토콜의 코파운더인 Illia Polosukhin이 최근 언급한 개념이기도 하다. 블록체인의 테크 스택이 점점 더 모듈러 방식으로 전환되면서 커뮤니티와 유동성의 파편화 및 이에 따른 사용자 경험의 저해가 심해지고 있는 만큼, 사용자로부터 블록체인을 추상화시켜 진입장벽을 낮추고, 심리스한 경험을 제공하는 것이 중요하다.
체인 추상화에는 다양한 요소들에서의 개선이 필요하다. 앞단에서는 사용자들이 블록체인과 상호작용하는 것을 중개해주는 지갑, 프론트엔드 등의 UX 개선이 필수적이다. 니어 프로토콜은 이를 위해 탈중앙 프론트엔드인 BOS와 NEAR 주소를 특정 EVM, Bitcoin 등의 네트워크 주소에 매핑하는 account aggregation 등 다양한 노력을하고 있다.
뒷단에서는 멀티체인 간 상호작용을 빠르게할 수 있는 인프라가 필수적이다. 최근 LayerZero, Wormhole, Axelar 등 다양한 크로스체인 메시징 프로토콜들이 있기는 하지만, 이들은 트랜잭션 검증을 써드파티가 진행하며, 한 체인에서 트랜잭션 컨펌이 나야 다른 체인에서 수행가능하기 때문에 사용자들에게 심리스한 크로스체인 트랜잭션 환경을 제공하는데에는 한계가 있다.
사용자들이 멀티체인을 사용함에도 불구하고 단일체인을 사용하는 것과 같은 경험을 제공하기 위해서는 1) 블록 생성자(L1의 경우 밸리데이터, L2의 경우 시퀀서)를 공유하거나 2) 트랜잭션에 대한 ZKP를 실시간으로 생성할 수 있어야한다. 블록 생성자를 공유하게되면 아토믹 트랜잭션을 활용할 수 있으며, 각 체인의 트랜잭션이 실시간으로 증명(proved)된다면 다른 체인에서 이 결과를 빠르게 확인할 수 있는 환경이 제공될 것이다. 이것이 궁극적으로 멀티체인 생태계가 추구해야할 방향이다.
이더리움 생태계에는 수 많은 레이어 2 네트워크들이 존재하지만, 각자 독자적인 시퀀서 셋 및 별개의 브릿지 컨트랙트를 가지고 있기 때문에 사용자들에게 심리스한 크로스체인 경험을 제공하기 매우 어렵다. Polygon은 이를 해결하기 위해 AggLayer의 컨셉을 공개하였다. AggLayer v1 메인넷은 2월에 출시될 예정이다.
AggLayer는 L1, L2와 상관없이 연산에 대한 ZKP가 생성가능한 네트워크는 누구나 연결할 수 있도록 한다. 각 네트워크에서 제출된 증명들은 AggLayer에서 재귀적으로 압축되어 최종 증명만 이더리움 네트워크에 제출된다. 독특한 구조 덕분에 AggLayer는 다음과 같은 장점들을 갖는다:
Validity: 보통 크로스체인 통신이 불편한 이유는 바로 다른 네트워크의 연산에 대해서 타당성을 검증하는 과정이 까다롭기 때문이다. AggLayer에 연결된 네트워크들은 모두 연산에 대한 증명을 AggLayer에 제출하기 때문에, 트랜잭션의 타당성을 서로 손쉽게 검증할 수 있어 안전한 크로스체인 트랜잭션이 가능하다.
Sovereignty on Sequencing: 공유 시퀀싱 레이어를 사용하는 네트워크들의 단점은 시퀀싱을 아웃소싱하기 때문에 시퀀싱 및 MEV 수입을 일부 희생해야한다는 것이다. AggLayer에 연결된 네트워크들은 각자 원하는 시퀀싱 모드를 유지하면서도 아토믹 트랜잭션의 이점을 누릴 수 있다.
UX Improvement: AggLayer에선 트랜잭션을 옵티미스틱하게 처리하는 기능이 있어, 원한다면 사용자들에게 훨씬 더 빠른 크로스체인 경험을 제공할 수 있다.
AggLayer를 활용한다면 예를들어 Polygon zkEVM의 사용자가 보유하고 있는 ETH로 브릿징 없이 다른 네트워크의 NFT를 구매할 수 있는 등 사용자 경험이 대폭 증진된다. AggLayer를 활용한 크로스체인 메시징이 어떤 방식으로 이루어지는지 살펴보자.
AggLayer에서 제공하는 크로스체인 메시징 방식은 두 가지가 있다: 1) Optimistic confirmation, 2) Atomic cross-chain interaction. 이 둘을 살펴보기 전에, AggLayer에서 proof agregation이 어떻게 일어나는지 살펴보자.
3.2.1 Proof aggregation
AggLayer에 연결된 모든 Polygon chain들은 message queue를 관리하는데, 이는 다른 Polygon chain으로 전송하는 메세지의 목록이다. 메세지는 내용, 목적지 체인, 목적지 주소, 메타 데이터를 담고 있다.
특정체인에서 사용자들이 트랜잭션을 발생시키면 시퀀서는 트랜잭션들을 정렬하고 실행하며 이에 대한 ZKP를 생성한다. 이 증명은 연산 후 체인의 상태(state)와 message queue에 대한 타당성을 증명한다. Polygon chain들로부터 생성된 증명은 곧바로 이더리움 네트워크에 제출되는 것이 아닌, AggLayer에게 제출된다. AggLayer은 여러 증명들을 재귀적으로 압축해 하나의 증명으로 만든 후, 최종적으로 이더리움 네트워크에 제출한다. 이더리움 네트워크에서 최종 증명이 검증되면 AggLayer에 연결된 Polygon chain들은 안전하게 크로스체인 메시징을 진행할 수 있는 것이다.
3.2.2 Optimistic confirmation
하지만 위의 방식에는 단점이 있다. 크로스체인 메시징이 안전하기 일어나기 위해선 최종 증명이 이더리움 네트워크에 제출되고 검증받아야하는데, 여기까지의 시간이 너무 오래걸리는 것이다. 따라서 레이턴시를 줄이기 위해서 Polygon은 Optimistic confirmation을 지원한다.
Optimistic confirmation 방식에서는 증명이 생성되지 않았는데도 Polygon chains의 batch가 AggLayer에 제출만 된다면 옵티미스틱하게 컨펌하여 사용자들이 크로스 체인 메시징을 빠르고 심리스하게 할 수 있도록 한다. 이는 AggLayer의 soft finality에 의존하는 방식이며, 마치 옵티미스틱 롤업이 트랜잭션을 일단 처리하고, 추후에 검증을 거치는 방식과 유사하다.
만약 체인 A가 체인 B에 메세지를 전송한다고 가정해보자. 우선, 체인 A는 ZKP 없이 batch와 message queue만 AggLayer에 제출한다. 증명이 없기 때문에 타당성을 보장할 수는 없지만, 체인 B는 AggLayer에 제출된 데이터를 토대로 트랜잭션을 실행하고 증명을 생성한다. 트랜잭션에 대한 검증은 나중에 AggLayer가 체인 A와 B에게 받은 증명을 토대로 일관성이 있는지 체크한다. 만약 AggLayer가 체인 A로부터 증명을 받지 못하거나, 두 증명이 상반된다면 체인 B는 트랜잭션을 롤백하고, 체인 A는 슬래싱된다.
3.2.3 Atomic cross-chain interaction
Optimistic confirmation의 장점은 트랜잭션을 미리 옵티미스틱하게 처리하고, 타당성을 ZKP를 통해 나중에 검증함으로써 UX와 안정성을 모두 달성했다는 것이다. 다만, 결국 optimistic confirmation에서는 체인 A에서 batch를 제출하고, 이를 토대로 체인 B에서 트랜잭션이 실행되기 때문에 크로스체인 메시징이 asyncrhonous하다는 단점이 있다. 즉, 체인 A에서 트랜잭션이 이미 실행되었다고 해서 체인 B에서도 연관된 트랜잭션이 실행된다는 것을 보장할 수 없다는 것이다.
이를 해결하기 위해 Polygon은 AggLayer에서 Atomic cross-chain interaction이라는 새로운 타입의 트랜잭션을 소개한다. 사용자가 직접 AggLayer에서 아토믹 트랜잭션을 전송함으로써 여러 Polygon chain에 걸쳐 synchronous한 크로스체인 트랜잭션을 실행할 수 있다. 즉, 체인 A와 B의 두 트랜잭션이 모두 성공하거나, 모두 실패하거나 두 케이스 밖에 존재하지 않는 것이다. 이는 두 체인 사이에서의 아비트라지 거래 등의 트랜잭션에 있어서 매우 중요한 특성이다.
과정은 다음과 같다. 사용자가 AggLayer에 아토믹 번들을 제출하면, Aggregator Worker라는 주체들이 번들 내의 트랜잭션을 해당하는 Polygon chain들에게 전송한다. 각 체인들에선 트랜잭션과 관련된 상태를 동결함으로써 아토믹 번들이 처리되기 전엔 다른 트랜잭션이 상태를 변경하지 못하도록 한다. 각 체인들에서 번들 내의 트랜잭션이 정확하게 실행되면, 번들은 AggLayer 블록에 포함되며, 각 체인들은 해당 번들을 실행한 블록의 ZKP를 생성하여 AggLayer에 제출한다. AggLayer가 모든 증명을 받게 되면, 각 체인들은 이전에 동결했던 상태를 언락하게 된다.
기본적으로 번들이 제출되었을때부터 유효성증명을 받을 때 까지 해당 상태들이 동결되기 때문에 자금 탈취 목적의 악의적인 공격에 대해선 안전하다. 하지만, 자금 탈취 목적이 아닌 시스템 방해 목적의 공격은 가능한데, 번들이 제출되게되면 관련된 상태가 동결되기 때문에, 악의적인 공격자가 수 많은 상태를 건드리는 번들을 제출하고 증명을 생성하지 않아 처리를 지연시키는 공격을 할 수 있다. 이러한 공격에 대해서 AggLayer는 악의적인 사용자와 체인을 블랙리스트에 리스팅하는 방식으로 대처한다.
AggLayer가 크로스체인 생태계에서 다른 솔루션들과 비교하여 갖는 차별점은 크게 세 가지가 있다. 첫 번째로 ZKP의 사용이다. 최근 ZKP의 생성, 검증 기술 수준이 점점 성숙해지면서 많은 브릿지들이 컨센서스 검증을 위해 ZKP를 활용하고 있다. 대표적인 예시로 Polyhedra의 zkBridge, Polymer Labs, Electron Labs 등이 있으며, 최근 Wormhole에서도 ZK를 활용하는 로드맵을 공개했다. 앞으로 크로스체인 생태계에서 ZK 기술의 도입은 선택이 아닌 필수가 될 것이다.
두 번째로는 AggLayer에 연결되어있는 네트워크들이 자체적인 밸리데이터/시퀀서 셋을 운영하면서도 아토믹 트랜잭션을 실행할 수 있다는 것이다. 이는 아예 Aggregator Worker라는 아토믹 트랜잭션만 수행하는 주체를 따로 빼내고, 번들과 관련된 상태를 유효성 증명이 제출될 때까지 동결하기 때문에 가능한 것이다. 대부분의 네트워크들의 수익은 블록 생성 시퀀싱, 밸리데이팅에서 발생하는데, AggLayer는 블록 생성에 대한 주권을 네트워크들에게 제공하기 때문에 이는 큰 장점이다. 다만, 아직 Aggregator Worker에 대한 메커니즘이나 스펙이 자세하게 나오지 않았기 때문에 더 지켜볼 여지가 남아있다고 생각된다.
세 번째는 생태계 확장성이다. 보통 자체 생태계 내에서의 크로스 체인 메시징만 지원하는 L1, L2 프로토콜들과 달리, AggLayer는 연산에 대해 ZKP만 생성한다면 폴리곤 생태계 이외의 네트워크도 연결할 수 있도록 하였다. 앞으로 ZK를 사용하는 프로토콜이 많아짐에 따라 AggLayer에 연결된 네트워크들은 점점 많아질 것으로 기대된다.
AggLayer가 새로운 내러티브를 가져왔지만, 이를 구현하는데 있어서 몇 가지 중요한 질문들이 있다:
Aggreagator Worker: 아토믹 번들을 처리하는 주체는 어떻게 선정하고 운영할 것인가?
Proof Aggreagtion: 머클 트리로 증명을 압축하는 과정에서 증명이 포함되는 순서는 어떻게 할 것인가?
Frontend: 크로스체인 메시징과 관련하여 사용자들에게 어떠한 UX를 제공할 것인가?
Polygon AggLayer는 ZK 기술을 활용하여 빠르고 안전한 크로스체인 메시징 방식을 제시했다. 이는 백엔드에서의 크로스체인 메시징을 추상화하여, 사용자들이 여러 네트워크와 상호작용함에도 불구하고 마치 하나의 네트워크와 상호작용하는 것과 같은 사용자 경험을 제공한다. 다만 UX를 완벽하게 혁신하기 위해선 궁극적으로 백엔드 외에, 프론트엔드에서의 혁신도 필요하다. AggLayer의 도입이 Polygon zkEVM의 사용자가 X1 네트워크의 NFT를 구매할 수 있게 만들었다면, 월렛 서비스와 같은 프론트에서는 사용자는 하나의 월렛으로 네트워크를 바꾸지 않아도 X1 네트워크에 보유하고 있는 NFT를 확인할 수 있어야할 것이다. 점점 더 파편화되고 있는 멀티 체인의 시대에서 AggLayer가 실제로 어떻게 UX를 혁신할 수 있을지, 2월에 출시될 메인넷을 기대해보자.
이 글의 비주얼을 제공해주신 Kate에게 감사의 말씀을 전합니다