본문 바로가기
Hack/Cryptocurrency

브릿지와 크로스 체인, 멀티 체인, 옴니 체인을 알아보자

by Becoming a Hacker 2023. 6. 24.
반응형

각각의 가상 자산들은 각각 고유한 기능과 장단점 등을 가지고 있습니다. 정말 다양한 가상 자산들이 생겨나면서 블록체인 간의 자산을 이동하기 위한 수요가 늘어나기 시작했습니다.

 

그리고 블록체인 간의 자산 이동 수요를 해결하기 위해 블록체인 생태계 간의 연결을 수행하여 이러한 수요를 해결한 것이 바로 브릿지(Bridge)입니다.

 

브릿지(Bridge)

앞서 언급했던 것처럼 Mainnet을 보유한 모든 가상 자산은 독립된 환경의 블록체인에서 각각의 규칙과 합의 메커니즘 등으로 작동합니다. 즉, 기본은 블록체인 생태계 간의 통신은 불가능하고 가상 자산이 자유롭게 이동하는 것도 불가능합니다.

 

브릿지는 현실 세계의 다리와 같이 블록체인 생태계 간의 연결 역할을 수행하면서 정보 및 가상 자산 등이 교환될 수 있도록 만들어줍니다. Ethereum Mainnet의 ETH으로 Polygon Mainnet의 ETH을 바꾸는 흐름이 아래와 같이 발생하는 것처럼요.

브릿지를 통한 다른 Mainnet의 가상 자산 교환

 

이러한 브릿지는 보통 신뢰할 수 있는 중앙 기관이나 Smart Contract 상에서 작동합니다.

신뢰할 수 있는 중앙화된 브릿지 Smart Contract로 구현된 브릿지
중앙화된 방식 탈중앙화된 방식
중앙 기관에서 블록체인 간의 상호 작용을 중재하고 검증 Smart Contract 코드로 블록체인 간의 상호 작용을 중재하고 검증
효율적이고 빠른 처리를 수행할 수 있음 브릿지의 성능이 브릿지가 구현된 Mainnet의 처리 속도와 확장성에 영향 받음
신뢰할 수 있는 중앙 기관에 의존한다는 단점 존재 Smart Contract 코드 결함이 존재할 경우 악의적인 공격에 취약할 수 있음

 

그리고 브릿지가 어떠한 방식으로 구현되었는 지에 따라 크로스 체인, 멀티 체인 ,옴니 체인 등으로 구분할 수 있습니다.

(이러한 구분 방식은 정말 다양하기 때문에 저는 위 3가지로 구분하여 정리해보려고 합니다.)

 

크로스 체인 (Cross Chain)

크로스 체인은 서로 관련이 없는 블록체인끼리 연결을 할 수 있도록 구현된 기능 및 프로토콜을 의미합니다.

 

대부분의 크로스 체인은 가상 자산을 전송하고자 하는 블록체인에서 자산을 Lock Up(잠금) 또는 Burn(소각)하고 전송받고자 하는 블록체인에서 Mint(주조)하는 방식으로 구현됩니다.

Cross Chain 작동 흐름 (예시)

1. Ethereum Mainnet에서 1ETH를 전송합니다.

2. Ethererum Mainnet의 Cross Chain Bridge에서 1ETH Lock Up 또는 Burn

3. Polygon Mainnet의 Cross Chain Brdige에서 1ETH 만큼의 MATIC Mint

(1ETH -> 1wETH와 같이 Wrapped된 가상 자산을 얻고 해당 가치를 통해 원하는 가상 자산을 획득하는 방법도 존재)

4. Mint된 MATIC을 Polygon Mainnet의 사용자 Wallet으로 입금

 

그러나 크로스 체인의 구현 특성 상 아래와 같은 취약점들이 발생할 수 있습니다.

  • Flash Loan Attack
  • Oracle Attack
  • Brdige Attack

 

멀티 체인 (Multi Chain)

멀티 체인은 하나의 네트워크 내에 여러 개의 독립적인 블록 체인들이 구현되어 연결됨으로써 쉽게 상호작용할 수 있는 기술 및 프로토콜을 의미합니다. 이때 각각의 체인은 독립적인 규칙과 합의 메커니즘 등을 가지고 작동합니다.

 

멀티 체인이 구현된 대표적인 예로는 Polkadot, Cosmos 등이 있습니다.

 

같은 생태계 내 블록 체인(Polkadot ParaChain, Cosmos Zone)끼리 표준화된 통신 프로토콜을 가지고 가상 자산 교환 등을 수행할 수 있어 이러한 점이 크로스 체인과의 차이점이라고 볼 수 있을 것 같습니다.

(멀티 체인이 무엇인지에 대한 내용이 여러 블로그마다 큰 차이가 있어 일단 이해한 내용으로 작성을 해보았지만, 높은 확률로 다를 가능성이 큼...!)

Polkadot EcoSystem (출처 : Messari)
Cosmos EcoSystem (출처 : Cosmos)

 

 

옴니 체인 (Omni Chcain)

옴니 체인은 Oracle과 Relayer을 사용하여 CEX 및 DEX를 거치지 않고 블록 체인 간의 직접적인 통신이 가능한 기술 및 프로토콜을 의미합니다.

ps. 해당 프로토콜은 LayerZero에서 제시한 프로토콜로써 Master Coin에서 사용되었던 Omni Layer와는 전혀 다른 개념입니다.

 

기존 방식의 크로스 체인에서는 가상 자산 교환을 위해 중앙화 거래소나 탈중앙화 거래소 등을 통하여 브릿지 하거나 Swap 등을 수행해야 했습니다.

 

LayerZero에서 제시한 프로토콜인 Omni Chain에서는 두 개의 독립적인 Entity인 Oracle과 Relayer를 통해 블록 체인에서 직접 다른 블록 체인의 Transaction이 유효한 지 확인할 수 있다고 합니다.

※ Oracle System : 발신 블록 체인의 블록 헤더를 읽고 송신 체인으로 보내는 메커니즘을 제공하는 타사 서비스 (업계 리더인 Chainlink를 사용할 것이라고 함)

※ Relayer System : Oracle과 유사한 Off-Chain 서비스이지만 블록 헤더가 아닌 지정된 Transcation에 대한 Proof을 가져오는 역할을 함

Omni Chain 작동 방식 (출처 : LayerZero 백서)

 

즉, LayerZero에서 제시한 Omni Chain은 중앙화된 거래소를 신뢰해야한다는 CEX 단점과 합의 프로토콜을 신뢰해야 한다는 DEX의 단점을 없애고 각각의 블록 체인에서 직접 Commnuication한다는 주장인 것 같습니다.

CEX, DEX, Omni Chain과의 차이점

(이러한 과정에서 Middle Chain을 포함하지 않고 수신 체인과 Valid하고 Commit된 발신 체인의 Transaction과 쌍을 이루도록 보장한다고 함)

※ Middle Chain : 블록 체인 간에 Message를 수신, 검증 및 전달하는 역할을 하는 기능 및 프로토콜. 모든 메시지에 대한 전체 서명 권한이 필요하여 해킹 시 위험도 및 파급도가 매우 높음

 

저는 Oracle System의 선두인 Chainlink를 사용하여 LayerZero의 Relayer와는 독립된 시스템을 구축함으로써 특정 기관, 합의 알고리즘, 시스템 등을 신뢰해야 한다는 단점을 해소하겠다라고 이해하였습니다.

(Relayer는 사용자가 구현할 수 있다고 함!)

 

 

참고

백서에서 정의한 Omni Chain의 자세한 작동 과정은 아래와 같습니다.

Omni Chain 작동 방식 (출처 : LayerZero 백서)

1. Chain의 UA(User Application)은 Transaction T를 통하여 아래와 같은 작업을 수행할 수 있습니다.

LayerZero Communicator에 데이터 전송

  • t : Transcation T 식별 값
  • dst : Chain B의 Smart Contract를 가르키는 식별 값
  • payload : Chain A에서 Chian B로 전송하고자 하는 데이터 
  • relayer_args : Chain A가 Reference Relayer를 사용할 경우 지불 정보를 설명하는 인자 값

 

2. Communicator는 Packet(dst, payload), t, relayer_args를 Validator로 전송합니다.

  • Packet(dst, payload) : dst, payload로 구성된 LayerZero Packet

 

3. Validator는 t와 dst를 Network로 보냅니다. (그림 상에서는 t가 안나와있는데, 이건 백서의 그림이 잘못된건가요..?)

이 단계는 Network에 Chain A의 현재 블록에 대한 블록 헤더를 Chain B로 보내야 됨을 알리는 역할을 합니다.

 

4. Validator는 Packet(dst, payload), t, relayer_args를 Relayer에게 전달합니다.

이 단계는 Relayer에게 T에 대한 Transcation Proof을 Chain B에게 보내야 함을 알리는 역할을 하며, 3단계와 동시에 이뤄집니다.

 

5. Network는 dst와 현재 Transaction의 블록 ID(cur_blk_id)를 Oracle에 전송합니다

이 단계는 Oracle에게 Chain A의 현재 블록에 대한 블록 헤더를 Chain B로 보내도록 알리는 역할을 합니다. (동일한 블록에서 여러 LayerZero Transaction이 발생한 경우 5단계는 한 번만 실행 됨)

 

6. Oracle에서 Chain A의 블록 헤더(blk_hdr)를 읽습니다.

 

7. Relayer는 Chian A에서 Transaction T에 대한 Proof을 읽고 Off-Chain인 경우 저장합니다. 

참고로 6단계와 7단계는 비동기적으로 발생합니다.

  • proof(t) : Transaion T에 대한 Proof

 

8. Oracle은 블록 헤더(blk_hdr)에 해당하는 블록이 Chain A에서 안정적으로 Commit 되었는 지 확인한 다음, 블록 헤더를 Chain B의 Network로 전송합니다.

전송이 발생하는 메커니즘은 체인마다 다르지만, 일반적으로는 Block Confirmations이 일정 수에 도달한 경우 발생합니다.

 

9. Chain B의 Network는 블록 헤더 Hash(blk_hdr_hash)를 Validator로 보냅니다.

 

10. Chain B의 Validator는 블록 헤더 Hash를 Relayer에게 전달합니다.

 

11. 블록 헤더 Hash를 수신한 Relayer는 현재 블록과 일치하는 모든 튜플[Packet(dst, payload), t, proof(t)] 목록을 전송합니다.

만약 여러 사용자가 동시에 동일한 엔드포인트에 메시지를 보내는 경우 동일한 블록 내에 여러 패킷 및 관련 Transcation에 대한 Proof이 존재할 수 있습니다.

 

12. Chain B의 Validator는Network에 전달된 블록헤더와 수신 받은 Transaction Proof를 통하여 Transcation T가 Valid하고 Commit 되었는 지 확인합니다.

 

블록 헤더와 Transaction Proof이 일치하지 않는다면 해당 메시지는 삭제 처리되며, 일치하는 경우 Packet(dst, Payload)가 Communicator로 전송됩니다.

 

13. Communicator는 Packet(dst, payload)를 Chain B로 전송합니다.

 

Reference

 

곧 다가올 '옴니체인(Omni Chain)' 메타 대비하기

안녕하세요! 목표를 향해 함께 뛰어가는 코인 페이스메이커 '코페'입니다. 이번 시간에는 레이어 1, 레이어 2를 넘어 다음 내러티브가 될 수 있는 옴니 체인에 대해서 이야기해 볼까 합니다. 저는

contents.premium.naver.com

 

Omnichain vs Multichain vs CrossChain: What Are They? | HackerNoon

Crosschain, Multichain and Omnichain - Mega buzzwords in the crypto space but whats the difference? here I hope to have cleared up the confusion!

hackernoon.com

 

Home | ethereum.org

Ethereum is a global, decentralized platform for money and new kinds of applications. On Ethereum, you can write code that controls money, and build applications accessible anywhere in the world.

ethereum.org

 

크로스 체인과 브릿지 - 업비트 투자자보호센터

크로스 체인이란? 크로스 체인(Cross Chain)은 하나의 블록체인 네트워크에서 다른 블록체인 네트워크로 정보, 암호화폐, NFT 등을 교환하는 것을 의미합니다. 일반적으로 블록체인은 서로 호환되지

m.upbitcare.com

 

멀티체인 네러티브 (스터디용)

1. 멀티체인이란? - 현재 각 L1 들이 난립하고 있음. 각 L1 들은 고유의 장점, 네러티브를 가지고 있음. ...

blog.naver.com

 

Understanding Cross-Chain and Multi-Chain Technology

An Overview of Cross-Chain and Multi-Chain Technology

medium.com

 

LayerZero- An Omnichain Interoperability Protocol

tldr; Interoperability that actually works

medium.com

 

Home | LayerZero

Developer AssistanceDeveloper Assistance

layerzero.network

 

 

반응형

댓글