Skip to content

크로스체인 브릿지(Crosschain Bridges)

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

블록체인 트릴레마(Trilemma)와 크로스체인 브릿지(Crosschain Bridge)의 필요성

현재 블록체인 생태계에는 이더리움을 필두로 하여 수많은 체인들이 나오고 있다. 이더리움이 이미 있는데 이렇게 많은 체인들이 나오는 이유는 무엇일까? 그것은 바로 탈 중앙화 시스템에서 각 체인마다 추구하는 가치와 가지고 있는 한계가 모두 다르기 때문이다. 블록체인은 제2의 인터넷으로 불리고 있으며, 현재 DeFi → NFT를 거쳐 수많은 기존의 사업들이 블록체인 네트워크에서 탄생하고 있다. 각 산업의 특성마다 필요한 가치가 다르며, 그러한 가치에 따라 기업들은 자신에게 맞는 네트워크를 선택하게 된다.
Blockchain Trilemma
블록체인의 트릴레마에 따르면 Scalabe, Decentralized, Secure 중 2개를 선택하면 나머지 1개는 포기해야 하는 한계가 있다. 각 체인은 저마다의 장단점을 가지고 있으며 Dapp을 만들려는 팀들은 자신들의 성격과 맞는 메인 넷을 하나 선택하여 해당 서비스를 오픈하였다. 그러나 브릿지가 등장한 이후 다른 체인 간의 자산 전송이 가능해지게 되었다. 이제는 각각의 장단점을 가진 여러 블록체인 메인 네트워크들이 브릿지를 통해서 연결이 되게 되며 Dapp을 만들려는 팀들도 같은 서비스를 다양한 체인에서 제공할 수 있게 되었고 유저들 또한 기존에 가지고 있던 토큰과 같은 자산들을 다른 체인에 옮겨서 사용할 수 있게 되었다. 자신이 원하는 시기에 자신에게 맞는 체인으로 자산을 옮겨서 여러 가지 활동을 할 수 있게 된 것이다. 이번 글에서는 이러한 크로스체인 브릿지가 어떠한 방식으로 자산을 옮겨주는지 살펴보도록 하겠다.

크로스체인 브릿지의 기본적인 구조

기본적인 브릿지의 구조는 한 체인에서 자산을 묶고(lock), 다른 체인에서는 해당 자산에 대응하는 Wrapped 된 자산을 mint 하는 구조를 취한다.

이더리움(Chain A)과 Chain B를 연결해 주는 브릿지가 하나 있다고 가정해 보겠다.

아래와 같이 이더리움에서는 유저들이 다른 체인으로 전송시키려는 이더리움을 lock 시키는 컨트랙트(Contract)가 존재할 것이다. 유저가 브릿지 서비스를 사용하기 위하여 chain A의 컨트랙트에 자산을 예치시키면 브릿지 서비스가 오프 체인(Off-chain)에서 해당 이벤트를 구독하고 있다가 이를 포착하게 된다. 이벤트를 탐지한 브릿지 서비스는 Chain B에 있는 컨트랙트에서 해당 유저에게 WETH와 같이 wrapped 된 토큰을 mint 시키는 트랜잭션을 발생시킨다. 그 결과 유저가 보낸 이더리움은 이더리움 내부의 컨트랙트에 묶이게 되고 유저는 다른 체인에서 동일한 양의 Wrapped 된 이더리움을 받게 된다.

출금 시에도 마찬가지이다.

유저는 Wrapped 된 이더리움을 Chain B에서 관리하는 컨트랙트로 보낼 것이고, 브릿지 서비스에서는 오프 체인에서 해당 이벤트를 구독하고 있다가 이 트랜잭션을 탐지할 것이다. 트랜잭션을 탐지한 브릿지 서비스는 Chain B에 있는 컨트랙트에서 해당 유저에게 WETH와 같이 wrapped 된 토큰을 mint 시키는 트랜잭션을 발생시킨다. 그 결과 유저는 Wrapped 된 ETH를 다시 받게 된다.

크로스체인 브릿지에서 발생하는 오라클 이슈의 해결 방안

그러나 이 경우 중간에 브릿지 서비스를 믿어야 한다는 문제점이 있다. 두 체인이 다른 합의 알고리즘을 갖기 때문에 결론적으로 중간에 오프 체인을 거쳐야 하고 이 과정에서 오라클 이슈가 생길 수 있게 된다. 체인 밖에서 어떠한 조작이 있을지 모르기 때문에 브릿지 서비스들은 블록체인 밖에서 각자의 방법으로 투명성을 최대한 제공하려고 노력한다. 여러 서비스들을 조사해 본 결과 크게 2가지 방법으로 신뢰성을 확보하는 것을 알 수 있었다. 외부의 검증 노드들이 들어와서 신뢰성을 확보하는 방법과 예치된 자산 및 익스플로러를 통해 투명한 공개를 함으로서 해결하려는 방법이다.

1. 외부 검증자를 통한 신뢰성 확보

먼저 외부의 다수의 validator가 트랜잭션을 검증해 주는 방식이 있다. 이 과정에서 브릿지 자체 서비스에 있는 토큰을 보상으로 주며 공개적으로 검증자들을 모집하거나, 신뢰 있는 기관을 검증자로 두어서 유저가 선택하게 하는 등 다양한 방법이 존재한다. 위와 같이 유저가 브릿지를 이용하면 Validator 끼리 체인 밖의 브릿지 서비스에서 따로 검증을 하게 된다. 검증이 끝난 validator는 Chain B의 컨트랙트에 트랜잭션이 문제가 없음을 확인하고 Chain B의 컨트랙트를 통해 유저에게 mint를 해준다. 이러한 방법은 브릿지 서비스 마다 모두 다르며 validator에게 보상을 지급하는 방법도 모두 다르지만 오프 체인에서 외부 validator들이 검증을 해준다는 점에서는 다수의 브릿지가 이와 같은 모델을 가지고 있다.

2. 정보의 투명한 공개

브릿지 서비스 중에서는 이더 스캔과 같이 브릿지의 전송 내역을 보여주는 스캔 페이지를 제공해 주는 서비스들도 많다. 누구나 들어와서 브릿지의 전송 내역을 볼 수 있게 함으로서 추가적인 신뢰를 확보할 수 있다. 이러한 스캔 서비스에서는 일반적인 스캔들과는 다르게 from 주소에는 from 주소에 해당되는 스캔의 트랜잭션 링크가 들어가며 to 주소에는 to 주소에 해당되는 스캔의 트랜잭션 링크가 들어가게 된다. 이러한 크로스체인 브릿지 스캔에 검증 노드가 돌아가는 서비스는 검증 노드의 현황을 보여주기도 한다. 또한 양쪽 체인에서 locked 된 자산을 따로 보여주면서 발행되어 있는 wrapped 된 자산과 실제 컨트랙트에 보관 중인 자산을 보여주는 식으로 신뢰성을 확보하기도 한다. 양쪽 컨트랙트에 보관 중인 자산의 balance를 동시에 공개함으로써 브릿지에서 locked 된 자산이 실제로 보관 중이며 나중에 유저가 인출할 시 해당 자산에서 차감된다는 것을 보여줌으로써 신뢰를 확보한다. 이렇게 정보를 투명하게 공개하는 방법은 앞의 외부의 노드들이 검증을 하는 방법보다는 탈 중앙화가 덜 되긴 했지만 유저 입장에서는 더 빠른 처리가 가능한 장점이 있을 수 있다.

마무리하며

현재 블록체인 생태계는 다양한 블록체인 간의 연결이 다양한 방향으로 모색되고 있다. 유저 입장에서는 같아 보일 수 있지만 자세히 알아보면 각 프로젝트마다 저마다의 방법을 가지고 서비스를 운영한다. 특히 최근 NFT 시장이 급격히 성장함에 따라 이더리움의 가스비가 올라가면서 여러 사용자들이 폴리곤, 바이낸스, 솔라나 등 다양한 체인들을 오고 가며 체인 간의 자산 이동에 대해 경험하고 있다. 새로운 서비스를 만드는 입장에서는 계속해서 발생하는 이러한 변화에 민감하게 대응하기가 쉬운 일이 아니다. 현재 루니버스는 내부적으로 브릿지를 사용하여 루니버스 네트워크 내에서 다양한 서비스 체인들 간의 연결을 지원하고 있다. 또한 국내 최대 거래소인 업비트와 연계한 NFT 마켓도 준비 중에 있다. 더 나아가 다가오는 크로스 체인 생태계에서 뒤처지지 않으며, BaaS 형태로서 고객들이 편리하고 안전한 서비스를 운영할 수 있는 다양한 방안을 모색 중이다.

참고 : 비탈릭 부테린 개인페이지

https://vitalik.ca/general/2021/04/07/sharding.html

Share your blockchain-related digital insights with your friends

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Get more insights