우미 브릿지에 대해서 알아봅시다!!

Baryon
Baryon_Umee
Published in
10 min readMar 8, 2022

우미(Umee)가 “블록체인을 상호 연결하는 크로스체인 디파이 허브”라는 말을 한 번쯤 들어보셨을 것입니다. 어떤 방식으로 작동 되는지 궁금해 하실 수 있기에, 우미가 그래비티 브릿지(Gravity Bridge, 번역자 주: Gravity Bridge는 이더리움(ETH)과 코스모스 블록체인 간의 ERC-20 토큰 전송을 지원)를 활용하여 블록체인 간 크로스 체인 디파이 허브를 어떻게 구현하는 지에 대한 기본적인 내용을 살펴보도록 하겠습니다.

우미 브릿지의 최대 장점은 무엇인가요?

우리에게 가장 좋은 기능은 보안(Security)탈중앙화(Decentralization)입니다. 자산이 브릿지를 통해 UMEE <-> ETH 방향 중 하나로 전송되면, 원본 자산은 다중 서명 기능에 따라서 우미 블록체인의 비허가형, 분산 검증인 셋에 관리 됩니다. 당연히, 중앙화 또는 제3자는 브릿지를 통해 전송 되는 자금을 관리할 수 없으며 모든 자금의 무결성은 우미의 텐더민트(Tendermint) BFT 합의 메커니즘에 의해 보장됩니다. 우미의 그래비티 브릿지 모듈은 시장에서 최고의 크로스 체인 보안을 제공하기 위해 개발되었으며 그래비티 브릿지를 사용하는 모든 EVM 호환 네트워크와 완벽한 호환성을 제공하고 궁극적으로 더 많은 블록체인과의 추가 호환성을 제공하는 것을 목표로 합니다.

그래비티 브릿지(Gravity Bridge)는 무엇일까요?

그래비티 브릿지(Gravity Bridge)는 말그대로 다리입니다! 그러나 운전하기가 두려운 도시 외곽의 허름한 다리와는 성격이 다릅니다. 우미에서 사용되는 그래비티 브릿지는 우미 블록체인의 보안을 통해 실행되는 “블록체인 브릿지”이며 궁극적으로 우미와 이더리움 블록체인 간의 트랜잭션 흐름을 가능하게 합니다.

우미는 그래비티 브릿지를 기본 모듈로 사용하고 추가로 릴레이어의 커스터마이징하여 기능을 추가하여 빌드하였고, 이를 Peggo 라고 불리웁니다. 굉장히 어렵게 느껴지실 수 있는데, 괜찮습니다. 모든 우미 검증인들이 사용하는 Peggo는 “엔진"이라고 생각해보십시오. 이 엔진을 통해 우미 브릿지 간 자산 전송을 릴레이하고, 검증하고, 동기화 할 수 있습니다. 우미의 브릿지에서는 그래비티 스마트 컨트랙트를 활용합니다. 즉, UMEE <-> ETH 간의 양방향 릴레이가 가능해지고, 사용자가 체인 전체에서 토큰을 민팅할 수 있도록 합니다.

우미 브릿지를 동작 시키는 2개의 핵심 요소가 있습니다.

  1. 그래비티 브릿지 스마트 컨트랙트
  2. 우미 그래비티 브릿지 모듈

이더리움 → 우미 브릿지 트랜잭션

그래비티 스마트 컨트랙트는 이더리움에서 우미에 이르기까지 모든 체인에서 자산이 성공적으로 민팅되도록 보장합니다.

이것이 어떻게 작동하는지 이해하기 위해 다음 예를 살펴보겠습니다.

Alice가 이더리움에 100 USDC 토큰을 가지고 있고 IBC와 호환되도록 자산을 우미로 전송하려고 한다고 가정해 보겠습니다. Alice는 간단한 UI를 통해 우미의 브릿지를 사용하여 이 거래를 완료하고 “Bridge” 버튼을 클릭하여 100 USDC 거래를 확인합니다. 잠시 기다리면 Alice의 USDC가 Keplr 지갑에 도착하여 이제 모든 코스모스 체인에서 사용할 수 있습니다.

동작 매커니즘을 설명 드리자면, Alice가 거래를 확인하자마자 그래비티 스마트 컨트랙트의 sendToCosmos 기능이 실행되었습니다. sendToCosmos 기능은 ‘이벤트’를 생성한 그래비티 스마트 컨트랙트에 Alice의 100 USDC를 고정했습니다. 이벤트가 발생했을 때 그래비티 스마트 컨트랙(Peggo 사용)에서 작동하는 검증인이 Alice의 100 USDC 트랜잭션을 처리합니다.

검증인은 네트워크 트랜잭션을 검증 및 인증하는 노드입니다.

거래를 완료하려면 검증인이 이벤트가 발생했다는 데 동의해야 합니다. 그래비티 컨트랙트에서 작동하는 검증인의 66% 이상이 Alice의 자금이 Gravity 컨트랙트에 안전하게 잠겨 있음을 확인하면 Alice가 요청한 본인의 케플러(Kelpr) 주소로 이에 상응하는 토큰이우미 블록체인에서 릴레이되고 성공적으로 발행 됩니다.

이더리움 블록체인에서 Alice의 기존 USDC는 그래비티 스마트 컨트랙트를 통해 검증인이 해당 자산을 “락업” 합니다. 이때, 우미체인에는 상응하는 자산이 지원됩니다.

  • 이더리움 네트워크에서 출발한 토큰(Alice의 경우에는 일반적인 ERC20 토큰)의 경우 자산은 현재 우미에서 사용할 수 있는 자금의 백킹의 형태로 역할을 하기 위해 그래비티 스마트 컨트랙트에 잠겨 있습니다. 그래비티+{ERC20 주소} 형태로 구성되며, 우미 네트워크에서 IBC 호환 토큰이 발행됩니다.
  • 코스모스 체인에서 출발한 토큰(우미 또는 IBC 토큰)의 경우 그래비티 스마트 컨트랙트에 ERC20 토큰으로 잠긴 토큰이 잠금 해제되어 우미 네트워크의 대상 주소에 IBC 토큰으로 발행됩니다.

우미 → 이더리움 브릿지 트랜잭션

우미 그래비티 브릿지 모듈(Umee Gravity Bridge Module)덕분에 우미에서 이더리움에 이르기까지 체인 전체에서 자산이 성공적으로 발행됩니다.

이번엔 우미 네트워크에서 출발한 토큰이 어떻게 동작하는지 알아 보기 위해 다른 예시를 살펴보겠습니다.

Bob은 우미에 50 ATOM 토큰을 보유하고 있으며 이더리움 디파이에 참여하기 위해 자산을 이더리움으로 전송하려고 합니다. Bob은 우미의 DeFi Hub 내 UI를 통해서도 우미 그래비티 브릿지 모듈을 사용하여 이 거래를 완료하고 ‘Bridge’ 버튼을 클릭하여 50 ATOM 거래를 확인합니다. 충분한 가스비를 지불하고 잠시 기다리면 Bob의 ATOM이 Metamask 지갑에 도착하여 이제 모든 이더리움 체인에서 ERC20 토큰으로 사용할 수 있습니다.

동작 매커니즘을 구체적으로 설명하자면, Bob은 거래를 승인하자마자 우미 그래비티 브릿지 모듈을 통해 전송됩니다. Bob의 대기 중인 거래는 동일한 자산의 대기 중인 거래의 배치에 추가되며, 이때 수수료에 따라서 순서가 달라집니다. 따라서 동일한 유형의 거래 그룹이 값비싼 가스 비용을 하나의 거래로 분할할 수 있습니다. 우미 그래비티 브릿지 모듈에서 동작하는 검증인(Peggo 사용) 중 66%로 이상이 일괄 트랜잭션에서 승인하면 해당 처리가 이더리움으로 중계되고 Bob의 자산으로 성공적으로 종속됩니다. 즉, 이더리움 블록체인에서 Bob의 토큰을 본인 자신의 이더리움(메타마스크) 주소로 발행됩니다.

우미 블록체인에 있는 Bob의 기존 ATOM에 경우에는, 검증인은 우미 그래비티 브릿지 모듈의 자산을 이더리움에서 자산을 지원하는 형태로 고정합니다

  • Cosmos 기반 자산(Bob의 경우 Umee 또는 IBC 토큰)의 경우 토큰의 ERC20 표현이 있어야 합니다. IBC 토큰으로 우미 그래비티 브릿지 모듈에 잠긴 토큰은 잠금 해제되고 ERC20 토큰으로 이더리움 체인의 대상 주소에 발행됩니다.
  • 이더리움 기반 자산(공통 ERC20 토큰)의 경우 우미 블록체인에서 IBC 토큰을 지원하기 위해 이전에 그래비트 스마트 컨트랙트에 잠겨 있던 토큰이 잠금 해제되어 이더리움의 대상 주소로 전송됩니다. IBC 토큰 형태의 ERC20 토큰 표현은 소각됩니다.

브릿지 트랜잭션 흐름의 주요 차이점

우리는 우미가 그래비티 브릿지를 이용하여 Umee <-> Ethereum에서 양방향으로 체인 전반에 걸쳐 자산을 발행한다는 것을 배웠지만 주요 차이점은 무엇일까요?

이더리움 → 우미 트랜잭션

그래비티 브릿지 스마트 컨트랙트를 통해 체인 전반에 걸쳐 트랜잭션이 개별적으로 처리됩니다. 오케스트레이터를 동작시키는 모든 검증인들은 트랜잭션을 통해 이벤트가 발생되면 이를 확인합니다. 오케스트레이터의 목적은 이더리움의 이벤트를 모니터링 하는 데 있고, 우미 체인으로 해당 이벤트를 릴레이 하는데 있습니다. 66% 이상의 오케스트레이터가 이벤트를 목도하게 되면, 해당 트랜잭션이 우미 블록체인 상에서 승인됩니다. (사실상 발행)

우미 → 이더리움 트랜잭션

트랜잭션은 우미 그래비티 브릿지 모듈을 통해 체인에 걸쳐 배치(묶음)형태로 처리됩니다. 이때 처리 순서는 수수료에 따라서 결정됩니다. 이 덕분에, 오케스트레이터는 단 한번으로 많은 트랜잭션을 이더리움 체인으로 전송 및 처리할 수 있습니다. 이 경우, 오케스트레이터는 우미의 트랜잭션 배치에 서명하고, 이를 이더리움으로 중계하는 역할을 하게 됩니다. 해당 트랜잭션은 66% 이상의 오케스트레이터가 해당 트랜잭션을 서명하면, 그래비티 브릿지 스마트 컨트랙트을 통해 이더리움에서 처리되고 민팅됩니다.

Peggo가 중요한 이유는 무엇일까요?

우미 검증인이 되기 위해서는 Peggo를 반드시 운영해야 합니다. 만약 검증인 Peggo를 운영하지 않는다면, 해당 검증인은 jail(감옥)됩니다. Jail되는 검증인은 블록 생성 과정에 참여할 수 없습니다. Peggo를 통해 검증인은 궁극적으로 우미 브릿지에서 모든 트랜잭션을 검증할 수 있습니다. ETH → UMEE 트랜잭션이 그래비티 브릿지 스마트 컨트랙트로 전송되면, Peggo는 해당 컨트랙트의 이벤트를 스캔하고, 메시지 형태로 우미 체인에 릴레이 됩니다. 해당 컨트랙트는 이더리움 (Gravity) 상에서 배포됩니다. 또한 UMEE → ETH 방향에서는 Peggo를 실행하는 검증인은 우미 체인에서 이더리움으로 트랜잭션을 배치형태로 릴레이합니다. 동일하게 이때도, 그래비티 스마트 컨트랙트를 이용하게 됩니다.

Peggo가 있기 때문에, 이더리움 상에 우미 검증인이 최신으로 등록되었는지 확인 할 수 있습니다. valset update라는 기능 덕분에 이 절차가 확인 가능한데, 우미 검증인 세트에 power가 변화 감지되면 즉각적으로 생성됩니다. 검증인의 power가 변화하게 되면, 새로운 valset update가 생성되며, 이 이벤트를 보증하기 위해 우미 검증인을 통해서 반드시 서명되어야 합니다. 이후 업데이트 사항은 검증인 세트의 보안을 보장하기 위해 네트워크의 모든 참가자가 Peggo에서 이더리움을 통해 릴레이 합니다.

검증인은 Peggo를 다음 사항을 위해 사용합니다.

  1. 이더리움 상에 우미 체인 검증인의 최신 등록 사항을 유지합니다.
  2. 이더리움에서 우미 체인으로 ERC-20 토큰을 전송합니다.
  3. 우미 체인에서 이더리움으로 ERC-20 토큰에 상응하는 IBC 토큰을 전송합니다.
  4. 우미 체인에서 이더리움으로 우미 및 IBC에 호환되는 토큰을 전송합니다.

마지막으로

체인 간 트랜잭션을 검증하기 위해 검증인이 포함된 우미 브릿지 사용에 대한 내용을 핵심 위주로 살펴보았고, 이 글을 읽는 사용자가 어느정도 감이 오셨기를 희망합니다. 물론, 해당 내용들이 쉽게 이해하기는 어렵습니다. 기술적으로 관심이 있는 여러분들을 위해서 저희가 더 자세한 내용들을 Umee Docs 에 곧 공개하도록 하겠습니다.

그래도 여러분들이 가장 기억하셔야 될 점은 그래비티 브릿지를 활용하는 우미 체인은 정교하게 설계 되었으며, 보안은 최고에 가깝다는 것입니다. 시장에 최고의 서비스를 제공할 수 있도록 엄격한 보안 감사를 진행하였습니다. 브릿지에 더 알고 싶으시면 Gravity 및 Peggo FAQ를 읽어보시기를 추천드립니다. 물론, 우미 디스코드에 질문하는 것도 잊지마세요! 언제나 환영합니다!

원본 글: https://medium.com/umeeblog/elin-how-does-umees-bridge-work-354e20e4f1c5

--

--