Layer 0 내러티브
Layer 1 → Layer 0 or Layer 2
현재 블록체인 생태계에는 너무 많은 Layer 1들이 있다. 신기한 점은, Layer 1들이 너무 많아서 포화됬다고 생각한 순간, 계속 새로운 레이어 1들이 나오고, 주목 받고 있다는 것이다. 그럼에도 불구하고, 작년부터 포화된 Layer 1 시장에 염증을 느낀 사람들은 새로운 내러티브를 짓기 시작하였다. 첫번째는 롤업과 관련된 Layer 2이고, 나머지는 크로스 체인 트랜젝션을 가능케 하는 Layer 0이다
코스모스 생태계를 중심으로 Layer 0 내러티브는 작년 Q4부터 현재까지 꾸준히 주목받고 있다. Layer 0이란, 레이어 1들이 서로 상호작용, 즉 서로 토큰과 데이터를 주고 받을 수 있도록 기반이 되는 프로토콜로, 코스모스 생태계, 폴카닷, Axelar, 그리고 오늘 소개할 LayerZero 등이 여기에 해당한다.
Layer 0 vs Layer 2
Layer 0와 Layer 2 중에 나는 개인적으로 Layer 0이 Layer 2보다 많은 가치를 축적할 수 있다고 생각한다. 이 생각의 근거는 예전에 다룬 **Baseplate thesis**에 기반한다.
Baseplate thesis는 다른 어플리케이션들의 기반이 되는 프로토콜이 그 어플리케이션보다 더 많은 가치를 축적할 것이라는 이론이다. 예를 들어, 이더리움 dApp들은 이더리움 네트워크를 기반으로 만들어져 있기 때문에, 이 경우 이더리움 네트워크가 Baseplate이라고 볼 수 있고, Convex, Yearn, Redacted Cartel은 모두 Curve를 기반으로 작동하기 때문에, Curve를 Baseplate로 볼 수 있다. 생각해보면, 이더리움 네트워크는 이더리움 위에 지어진 평균적인 dApp보다 높은 가치를 가지고, Curve는 현재 DeFi 프로토콜 중 가장 많은 가치를 축적하였다.
비슷한 이유로, 나는 Layer 0이 Layer 1들의 Baseplate 역할을 할 것이라고 믿고, Layer 1들이 서로 경쟁하여서 더 좋은 서비스와 UX를 통하여 더 많은 유저들을 끌어들인다면, 승자와 관계없이 Layer 0는 함께 성장할 것이라 생각한다. 이러한 이유로, 특정 Layer 1의 성공을 가정해야 하는 Layer 2보다는, Layer 0이 더 성공할 확률도 높고, 리턴도 더 크다고 생각한다.
LayerZero
LayerZero는 Layer 0 프로토콜 중에서도 최근에 공개된 것으로, 사용된 메커니즘이나 여러 Layer 0 프로토콜들 사이에서의 포지셔닝이 흥미롭다고 느껴져서 소개하게 되었다.
해결하려는 문제
현재
현재 크로스 체인 커뮤니케이션 프로토콜는 크게 두가지 종류로 나눌 수 있다. 설명을 위하여 현재 체인 A에서 체인 B로 토큰을 전송하려 하고, C가 크로스 체인 커뮤니케이션 프로토콜이라고 하자.
Middle Chain
첫번째 종류는 Middle Chain의 방식으로, 이름 그대로 체인 간의 소통을 중개해주는 역할을 해주는 체인이다.
체인 A에서 트랜젝션이 실행된 순간, 체인 C의 검증자들은 이 트랜젝션에 대하여 검증한 뒤, 검증자들이 합의에 이룬다면, 체인 B에서 약속된 토큰을 발행한다.
이 방식은 다른 방법에 비하여 상대적으로 저렴하고, 확장성이 좋다. 하지만, 앞선 예시에서 보면, 체인 A와 체인 B는 체인 C의 검증자들이 올바르게 검증하고, 트랜젝션을 사인할 것이라고 믿어야 하며, 단일 실패점(single point of failure)의 문제가 생긴다**.**
라이트 노드 & 릴레이
두번째 종류는 라이트 노드와 릴레이를 사용하는 방식이다.
프로토콜 C는 체인 A에서 체인 B의 라이트 노드를 운영하고, 체인 B에서 체인 A의 라이트 노드를 운영한다. 이 사이에서 릴레이는 각 라이트 노드에게 블록 헤더와 크로스 체인 트랜젝션에 대한 증명을 꾸준히 전달한다. 체인 A에서 체인 B로 토큰 전송 트랜젝션이 일어나면, 릴레이는 해당 블록 헤더와 해당 트랜젝션이 포함된 증명을 체인 B의 라이트 노드에게 전달하고, 라이트 노드는 이를 검증한 뒤에 처리한다.
이 방식의 장점은 믿어야 하는 주체가 필요없기 때문에, 가장 안전하다. 하지만, 각 라이트 노드들은 계속해서 전달받은 블록 헤더를 저장해야 하기 때문에 비싸다. 또한, 새로운 체인을 추가하려면, 이 체인에 맞는 새로운 스마트 컨트랙트(라이트 노드도 스마트 컨트랙트의 일종이다)를 새로 개발해야 하기 때문에 확장성이 안 좋다.
장점만 취할 수 없을까?
Middle Chain은 저렴하고, 확장성이 좋지만, 신뢰를 필요로 하는 단일 실패점이 될 수 있다. 라이트 노드 & 릴레이의 방식은 안전하지만, 비싸고, 확장성이 안 좋다. LayerZero의 메커니즘은 이 두 방식을 합쳐서 단점은 최소화하고, 장점만 취한다.
메커니즘
구성 요소
LayerZero는 크게 LayerZero Endpoint, Relayer, Oracle의 3가지 구성 요소로 이루어져 있다.
LayerZero Endpoint
LayerZero Endpoint는 4개의 스마트 컨트랙트 모듈로 이루어진 유저 인터페이스인데, 새로운 체인이 추가되었을 때, 3개의 주요 모듈은 유지한 채로, 4개의 모듈 중 하나인 Library 모듈만 새로 추가하면 되서, 확장성에 매우 용이하다.
Relayer
Relayer는 한 체인에서 발생한 크로스 체인 트랜젝션에 대한 증명을 전달하는 역할로, 앞서 라이트 노드 & 릴레이 방식의 Relayer가 트랜젝션에 대한 증명과 블록 헤더 둘다 전달하는 것과 차이가 있다. 누구나 자체적인 Relayer를 운영할 수 있고, 현재는 LayerZero가 자체적으로 Relayer를 제공한다.
Oracle
Oracle은 한 체인의 블록 헤더를 다른 체인으로 전달하는 역할로, LayerZero는 체인링크를 Oracle로 사용한다.
검증 과정
체인 A에서 체인 B로 크로스 체인 트랜젝션이 실행되었다고 하자.
유저가 실행시킨 트랜젝션의 정보가 체인 A의 LayerZero Endpoint로 전달된다.
LayerZero Endpoint는 해당 트랜젝션에 대한 증명을 Relayer에게 보낸다.
LayerZero Endpoint는 해당 트랜젝션이 포함된 블록 헤더를 Oracle에게 보낸다.
체인 B의 LayerZero Endpoint는 Relayer로부터 트랜젝션에 대한 증명, Oracle로부터 블록 헤더를 받아서, 그 두 개가 서로 일치하는 경우에만 해당 트랜젝션이 유효하다고 판단하여 트랜젝션을 실행한다.
위 검증 과정에서 필요한 유일한 가정은 Relayer와 Oracle이 서로 독립적이라는 것이다. 만약, Relayer와 Oracle이 합심하여 악의적인 트랜젝션에 대하여 서로 일치하는 증명과 블록 헤더를 제출한다면, LayerZero Endpoint는 이 트랜젝션이 악의적인지 알 수 없다. 하지만, Oracle은 체인링크에 의하여 운영되고, Relayer는 현재 LayerZero에 의하여 운영되기 때문에, 두 주체는 독립적일 수 밖에 없다.
특징
확장성
앞서 언급하였듯이, LayerZero는 새로운 체인이 추가되어도 전체 스마트 컨트랙트를 새로 짤 필요 없이, LayerZero Endpoint의 Library 모듈만 추가하면 된다.
비용 효율성
기존의 라이트 노드 & 릴레이 방식에서 라이트 노드가 전체 블록 헤더를 저장하던 것과 달리, LayerZero는 크로스 체인 트랜젝션이 발생하였을 때만, Oracle이 해당 트랜젝션이 포함된 블록 헤더를 요청하여서 전달한다. LayerZero Endpoint는 모든 데이터를 저장할 필요 없이 검증만 하면 되기 때문에, 비용을 많이 아낄 수 있다. 추가로, LayerZero Endpoint의 스마트 컨트랙트는 최대한 간단히 구성되어 있고, 많은 부분을 오프 체인의 Relayer와 Oracle에 위임하여 비용 효율성을 극대화시킨다.
안전성
LayerZero는 라이트 노드 & 릴레이 방식과 흡사하게 LayerZero Endpoint가 직접 블록 헤더와 트랜젝션에 대한 증명이 일치하는지 체크하기 때문에 매우 안전하다. 물론 Oracle이라는 오프 체인의 외부 주체가 관여되는 것은 사실이지만, Oracle로 사용하는 체인링크의 안전성을 그대로 레버리지하기 때문에, 크게 걱정할 필요가 없다. 또한, Relayer와 Oracle이 독립적이다는 가정하에, Relayer와 Oracle이 둘 다 오류가 나더라도, 잘못된 블록헤더와 잘못된 트랜젝션에 대한 증명이 일치할 확률은 잘못된 두 시계가 똑같은 시간을 가르킬 확률과 똑같기 때문에, 이는 불가능에 가깝다.
LayerZero와 IBC
LayerZero vs IBC
LayerZero이 IBC에 대하여 가지는 장점은 다음과 같다.
비용 효율성
IBC는 앞서 얘기한 라이트 노드 & 릴레이 방식에 포함되기 때문에, 전체 블록헤더를 계속해서 저장하는 풀 라이트 노드를 운영한다. 하지만, LayerZero는 필요할 때만 Oracle을 통해서 블록헤더를 전달하기 때문에, 비용 측면에서 더 저렴하다.
적용 가능한 체인
IBC는 deterministic finality를 가지는 체인에만 적용이 가능하기 때문에 PoW를 사용하는 이더리움은 사용할 수 없다. 이와 달리, LayerZero는 적용 가능한 체인에 한계가 없다.
확장성
한가지 예를 들자면, 현재 아발란체 체인에 IBC를 적용할 수 있을까? 아마 당장은 불가능할 것이다. 하지만, LayerZero는 새로운 Library 모듈만 추가하면 되기 떄문에 바로 적용이 가능하다. 이처럼 LayerZero는 새로운 체인을 추가하기에 훨씬 용이하다.
LayerZero + IBC
LayerZero와 IBC는 경쟁자이지만, 서로 시너지를 낼 수도 있는데, IBC는 풀 라이트 노드 방식을 Transport Layer로 사용하기 떄문에, 비싸고, 확장성에 한계가 있다. 이 때, 기존의 IBC의 Transport Layer를 LayerZero로 바꾼다면, 이 단점들을 전부 보완한 채로, IBC 생태계의 장점을 그대로 누릴 수 있다.
LayerZero로 할 수 있는 것들
브릿지: Stargate Finance
크로스 체인 트랜젝션 중 가장 기본적인 것은 체인 간의 자산 전송, 즉 브릿지이다. LayerZero를 기반으로 만들어진 첫번째 프로토콜인 Stargate Finance는 기존의 브릿지들이 가지는 여러 문제점을 해결한다.
기존의 브릿지들이 가지는 문제점은 다음과 같다.
유동성의 파편화
예를 들어, 아발란체-이더리움 유동성 풀에 예치한 LP들은 테라에서 이더리움으로 옮긴 트랜젝션에 대하여서는 수수료를 받지 못한다.
Stargate Finance는 이 유동성 풀을 통합시켜서, 이더리움 풀에 예치한 LP들은 이더리움으로 옮겨진 트랜젝션에 대하여 전부 수수료를 얻을 수 있게 한다.
합성 자산
예를 들어, Anyswap을 사용하여 USDT를 아발란체에서 이더리움으로 옮기면, 이더리움 체인에서 내가 받는 것은 USDT가 아닌 aUSDT이다. 고로 USDT를 얻기 위해서는 한번 더 스왑을 해야된다. 이 스왑은 귀찮을 뿐만 아니라, 경제적으로도 손해이다.
Stargate Finance는 이런 합성 자산(synthetic asset) 없이 체인 간의 자금을 옮길 수 있게 한다.
위 영상은 Stargate Finance를 사용하였을 때, 체인 간의 토큰 스왑이 얼마나 간단해지는지 보여주는 데모이다.
멀티 체인 Yield Aggregator
현재 Yearn과 같은 Yield Aggregator는 하나의 체인에서만 작동하기 때문에, 다른 체인에서 발생하는 여러 좋은 기회들을 놓치고 있다. LayerZero를 기반으로 만들어진 Yield Aggregator는 여러 체인에 존재하는 여러 기회들을 통하여 유저들에게 더 높은 Yield를 제공할 수 있다.
멀티 체인 대출
현재 Aave를 통해서 폴리곤 체인의 ETH를 담보로, 이더리움 체인에서 자산을 대출할 수 없다. 이를 하기 위해서는 폴리곤 체인의 ETH를 이더리움 체인으로 브릿지한 뒤, 자산을 대출하고, 상환한 뒤에는 다시 폴리곤 체인으로 ETH를 옮겨야 하는 번거로운 과정이 필요하다. LayerZero를 기반으로 만들어진 대출 프로토콜에서는 유저들이 한 체인의 자산을 담보로 다른 체인에서 자산을 빌릴 수 있다.
참고한 자료
더 많은 정보는
현재 COINEASY 팀의 공식 작가로 활동하고 있습니다! 더 많은 크립토/블록체인 정보는
코인이지 텔레그램 공지방
코인이지 텔레그램 소통방
에서 확인하세요!