마스터 웹3 기초: 상호 운용성 및 다리
이 시리즈의 첫 번째 글에서는 웹3 기초 습득: 노드부터 네트워크까지를 다뤘는데, 레이어1 네트워크와 레이어1 블록체인이 하드웨어, 네트워크, 그리고 합의 관점에서 어떻게 작동하는지를 설명했습니다. 만약 아직 읽지 않았다면, 먼저 읽기를 추천합니다!
이 시리즈의 두 번째 글에서는 보다 고급 주제인 상호 운용성 (크로스 체인 통신)에 대해 탐구합니다.
이 글에 들어가기 전에 먼저 두 용어를 명확히 해드리고자 합니다:
- MULTICHAIN은 여러 네트워크가 공존하여 서로 보완하는 아이디어입니다
- CROSS-CHAIN은 네트워크가 서로 통신하는 능력(일반적으로 상호 운용성으로 언급됨)입니다
웹3 인프라 개요
From Node to Network에서 웹3 인프라를 온체인 에코시스템, 온체인 에코시스템을 지원하는 오프체인 환경, 중앙화된 네트워크를 연결하며 이를 오프체인 환경과 연결할 수 있게 해주는 미들웨어로 여러 섹션으로 나누어 설명했습니다.
이 글에서는 온체인 에코시스템의 상단 부분 중 일부를 다루는데, 하나의 네트워크를 다른 네트워크와 연결하는 인터페이스 레이어(미들웨어)를 살펴봅니다.
- 온체인 에코시스템
- 노드 레이어: 채굴/확인 노드, 노드 클라이언트 소프트웨어, 채굴/스테이킹 풀
- 네트워크 레이어:
- 레이어1 네트워크: 단일 네트워크, 모듈형 네트워크, 합의 (PoW, PoS), 공유 원장 기술, 가상 머신 및 EVM 호환성, 스마트 계약 및 ERC 토큰 표준
- 레이어2 네트워크: 라이트닝 네트워크, 낙관적 롤업, 제로 지식 롤업
- 탈중앙화된 애플리케이션(dApp) 레이어
- 오프체인 환경: 분석, 감사 및 보안, 지갑, 중앙집중식 거래소 (CEXs), 개발자 도구 (프레임워크, IDEs), 탈중앙화된 클라우드 (저장, 컴퓨팅, 인덱싱)
- 상호 운용성 레이어("미들웨어"):
- 네트워크 상호 운용성: 브릿지, 원자 스왑
- 온/오프체인 통신 도구: 블록체인 API, 오클스
\블록체인 트리레마
\상호 운용성 계층을 이해하기 전에 먼저 왜 서로 다른 블록체인 네트워크가 존재하는지 이해해야 합니다. 서로 다른 네트워크는 서로 다른 목적을 가지고 설계되며, 각 목적은 우선시할 요소 집합을 고려합니다.
확장성 트리레마, 종종 블록체인 트리레마로도 불리는 이론은 비탈릭 부테린이 발표한 것입니다. 이는 네트워크를 설계할 때 확장성(속도), 보안 및 분산화 사이에서 트레이드오프가 이루어진다는 점을 강조하는 블록체인 네트워크를 평가하는 비교적인 틀을 설명합니다.
\\\\\\\\\\
\이 프레임워크 내에서 삼각형의 3변은 다음을 의미합니다:
- 확장성(속도)는 블록체인이 대규모 거래를 처리하는 능력을 가리키며, 일반적으로 초당 전송 횟수 (TPS)로 측정됩니다.
- 보안은 네트워크가 경제적 및 기술적 공격에 대해 안전한 정도와 예상대로 작동하는 능력을 설명합니다.
- 분산화는 통제가 소수의 주체나 중개인들 사이에 집중되는 정도와 네트워크의 노드 수 및 새로운 노드가 네트워크에 참여하는 데 어려움이 얼마나 있는지를 기반으로 측정됩니다.
블록체인 삼련마 이론 프레임워크는 세 가지 속성 사이에서의 취할 수 있는 타협점을 대표하는 세면 비가 되며, 블록체인이 삼각형의 한 측면을 차지하는 경우, 네트워크가 두 인접한 속성을 우선시하고 그와 반대되는 속성을 우선 순위에서 내리기로 결정했다는 것을 나타냅니다. 이는 블록체인 네트워크의 세 가지 일반 프로필로 이어지게 됩니다:

- 확장 가능하고 분산화되었지만 안전하지 않음 [Nano, IOTA, VeChain]
- 확장 가능하고 안전하지만 분산화되지 않음 [Post-merge 이더리움, 바이낸스 스마트 체인, 리플]
- 안전하고 분산화되었지만 확장 가능하지 않음 [비트코인, 기본 이더리움, 모네로]
이를 바탕으로 우리는 네트워크를 서로 비교하여 일반적으로 삼각형의 어느 영역을 차지할 지 이해할 수 있습니다:

블록체인 트리레마의 세 가지 프로필 중 각각의 프로젝트 예시
블록체인 트리레마는 블록체인 네트워크가 직면하는 문제를 개념화하는 데 도움이 되는 모델임을 알아야 합니다. 이것은 결정론적이지 않습니다. 그러나 이 프레임워크는 서로 다른 네트워크가 서로 다른 목적을 충족하고 서로 다른 장르를 겨냥한다는 점을 강조하는 데 도움을 줍니다. 앞에서 볼 수 있듯이, 비트코인은 높은 보안과 탈중앙화 속성을 갖고 있습니다. 비교적으로 이더리움(Merge 이후)은 탈중앙화가 덜하지만 TPS가 높아 더 확장 가능합니다. 마지막으로 IOTA는 매우 확장 가능하고 탈중앙화되어 있지만 네트워크의 DAG 기반 구조 때문에 보다 큰 보안 도전에 직면하고 있습니다.
사용자는 각 네트워크의 고유한 특성을 활용하기 위해 네트워크를 다른 목적으로 사용합니다. Web3의 최대 이점을 얻으려면 사용자는 비트코인을 구매하여 가치 저장소로 활용하고(분산화와 보안 측면을 기반으로), 이더리움 네트워크의 이더를 사용하여 스마트 계약 기능 및 빠른 거래 완료 기능들을 활용할 수 있습니다.
그러나 블록체인 네트워크는 폐쇄된 시스템입니다. 그들은 그들 안에서 발생한 상태 변경만을 볼 수 있습니다. 비트코인을 보유하고 있는 사용자가 비트코인을 이더리움으로 옮기려면 두 네트워크를 연결하고 통신할 수있게 해주는 상호 운용성 레이어가 없으면 이것을 할 수 없습니다. 이는 자산 자체가 다른 네트워크와 호환되지 않고 네트워크들간에 기본적으로 상호 운용성이 없기 때문입니다. 이를 좀 더 자세히 살펴보겠습니다.
상호 운용성 vs 호환성
상호 운용성은 서로 다른 시스템, 장치 또는 애플리케이션이 최소한이나 전혀 노력을 들이지 않고 협조적으로 연결하고 통신할 수 있는 능력을 의미합니다. 상호 운용성은 호환성과 다르며, 호환성은 두 시스템이 서로의 출력을 이해할 수 있는 것을 요구합니다(즉, 호환 가능), 그러나 서로 연결하거나 통신할 수 있는 능력은 필요로하지 않습니다(즉, 상호 운용 가능).

간단하게 말해, 호환성은 다른 블록체인 네트워크의 출력물과 추가적인 수정 없이 작동할 수 있는 특성을 말하며, 우애성은 다른 블록체인 네트워크 간의 통신과 상호작용에 관한 것으로 기술적인 차이에도 불구하고 서로 상호작용합니다.
비트코인 (BTC) 이 자산은 비트코인 네트워크에서 직접적으로 이더리움 네트워크로 보낼 수 없습니다. 비트코인과 이더리움은 서로 다른 시스템이며, 그들의 자산은 서로 다르게 코딩되어 있습니다. 결과적으로 비트코인 (BTC)은 이더리움 네트워크와 호환되지 않으며 이더 (ETH) 역시 비트코인 네트워크와 호환되지 않습니다.
하지만 이더리움에서 거래되는 래핑 비트코인 (wBTC)라는 자산을 보았을 수 있습니다. wBTC는 비트코인의 가치에 페깅된 이더리움에서 생성된 ERC-20 자산으로, 1 wBTC는 1 BTC와 교환할 수 있다는 의미입니다. wBTC는 이더리움 네트워크를 사용하기 위해 만들어진 비트코인 호환 가능한 표현입니다.
wBTC가 이더리움과 호환되기 때문에 BTC와 wBTC가 같은 가치로 페깅되어 있으며, 비트코인과 이더리움 네트워크 간의 인터페이스가 서로 통신할 수 있도록 할 수 있습니다. 이 인터페이스는 비트코인 네트워크에서 BTC를 수집하여 안전하게 보관하고, 동시에 이더리움에서 wBTC를 동일한 액면가로 발행하여 비트코인 원본인 BTC를 이더리움 원본인 ERC-20 wBTC 자산으로 "번역"할 수 있습니다.

두 네트워크 간의 인터페이스를 브릿지라고합니다. 각 네트워크를 도시로 상상한다면, 자체 언어, 자체 통화 및 자체 경제를 가지고 있는 도시로 각각을 연결하고 서로 통신 및 가치 이체를 할 수 있게 하는 것이 브릿지입니다.
상호 운용성 설계
두 네트워크 간 자산 이체를 가능하게 하는 인터페이스(브릿지)를 설계할 때 고려해야 할 세 가지 상호 연결된 설계 영역이 있습니다:
- 크로스 체인 통신 메커니즘(오라클, 릴레이어, 라이트 클라이언트, 중앙화/신뢰 가능한 엔터티)
- 다른 네트워크로 메시지를 전달하는 데 사용되는 기술을 결정합니다. 예를 들어, 한 네트워크에서 수신된 자금의 확인을 통해 다른 네트워크의 자금을 풀어주기 위해 사용됩니다.
- 크로스 체인 자산 동등성(잠금 및 발행, 소각 및 교환, 현지 유동성 풀)
- 자산을 동등한 가치로 받아들이고 발행하는 방법, 그리고 대상 네트워크에서 받은 자산의 형식(원자 토큰, 랩핑된 또는 페그된 토큰)을 결정합니다.
- 자산 번역 프로세스(공증 방법, 사이드체인, 릴레이 네트워크, 원자 스왑)
- 소스 및 대상 네트워크 간 자산이 이동되는 프로세스, 그리고 자산이 방출되기 전의 확인 프로세스를 결정합니다.
일반적으로, 세 가지 설계 측면은 서로 밀접하게 관련되어 있습니다.

이 세 가지 설계 영역을 더욱 구분하기 위해 이렇게 생각해보세요: 자산 번역 프로세스는 이론적 자산 이전 메커니즘을 설명하며, 통신 메커니즘과 자산 동등성은 통신을 촉진하고 실제로 자산을 “이동”하는 데 사용되는 기술 구현을 참조합니다.
크로스 체인 통신 메커니즘
앞서 언급했듯이 상호 운용성은 두 네트워크가 서로 통신할 수 있어야 한다는 것을 요구하지만, 블록체인은 폐쇄 루프 시스템입니다. 그들은 그 내부에서 일어나는 일만을 이해합니다. 이를 극복하기 위해 두 가지 별도의 기술이 개발되었습니다: 오라클과 릴레이어. 오라클과 릴레이어는 모두 크로스 체인 통신을 가능케하지만, 근본적으로 매우 다르게 작동합니다.
오라클
오라클은 탈중앙화된 블록체인 네트워크 상의 타사 서비스로, 네트워크에 외부 데이터를 기록할 수 있습니다. 외부 데이터를 블록체인 네트워크에 넣고 싶어하는 여러 가지 이유가 있습니다: 가격 피드 (네트워크에서 원래 제공되지 않는 자산의 가격), 합성 자산 (실제 자산에 맞춰진 가치를 가진 토큰) 또는 다른 네트워크에서의 트리거 이벤트 (예: 사용자가 크로스 체인 전송을 시작). 가장 인기있는 오라클 제공 업체로는 Chainlink, Band Protocol 및 API3가 있습니다.
이러한 예를 통해 오라클이 데이터의 원천이 아닌 데이터 소스의 인증을 담당하고 블록체인 네트워크에서 정보를 제공하는 것임을 확실히 알 수 있습니다. 이것이 달성되는 방식
네트워크에 데이터를 쓰기 위해 스마트 계약을 호출하고 트랜잭션의 payload에 저장할 데이터를 포함시킴으로써 외부 데이터를 블록체인 환경으로 가져오는 것을 인바운드 오라클 이라고 합니다. 예시: 자산이 특정 가격에 도달하면(블록체인에 기록할 외부 데이터), 그때 매수 주문 실행(오라클 가격 피드 데이터에 의해 트리거된 스마트 계약 기능).
아웃바운드 오라클 은 블록체인에서 발생하는 트리거 이벤트에 반응합니다. 트리거 이벤트가 발생하면, 스마트 계약이 이를 감지하고 특정 작업을 수행하도록 신호를 보냅니다. 스마트 계약을 감시하는 오프체인 오라클 노드는 이 신호를 인지하고 네트워크 외부에서 데이터를 이용할 수 있도록 만듭니다. 예시: 결제가 완료되면(온체인 트리거), 자동판매기에서 음식을 내보냄(오프체인 이벤트가 온체인 이벤트에 의해 트리거됨).

인바운드 오라클과 아웃바운드 오라클을 결합하면 두 개의 별도 네트워크 간에 통신이 가능해집니다. 한 네트워크의 데이터는 아웃바운드 오라클을 통해 오프라인으로 제공되고, 그 후 인바운드 오라클을 통해 다른 네트워크로 전달될 수 있습니다.

오라클 (de)중앙화
인바운드와 아웃바운드 오라클을 구별하는 것 외에도, 그들은 중앙화 정도에 따라 구분될 수 있습니다. 블록체인 노드로 RPC 명령을 보내는 오프체인 소프트웨어인 오라클 서비스는 중앙화 또는 분산화될 수 있습니다.
중앙화된 오라클의 경우, 오라클 클라이언트가 실행되는 노드는 특정 개체가 완전히 운영하며 해당 정보를 단독으로 제공하는 경우입니다. 데이터의 정확성과 오라클의 보안은 그 개체가 구현한 설계와 보안 노력에 완전히 의존합니다.
분산화된 오라클의 경우, 여러 노드가 서로 다른 소스에서 데이터 입력을 상호 참조하여 더 정확한 데이터가 전달되도록 합니다. 이러한 분산화된 오라클 네트워크(DONs)는 자체의 합의 메커니즘이 있어 더 큰 데이터 신뢰성을 보장합니다.
오라클은 분산화된 블록체인 생태계에서 새로운 창의적 응용 프로그램을 위한 기회를 제공하지만, 사용 시 위험이 있습니다.
오라클이 손상될 경우, 오라클을 의존하는 스마트 계약도 손상된 것으로 가정할 수 있습니다. 더 나아가, 오라클이 손상되지 않았더라도 데이터 소스가 손상될 수 있습니다. 쓰레기를 입력하면 쓰레기가 출력된다는 원칙은 오라클이 올바른(신뢰할 수 있는 소스에서 받은) 입력 데이터를 확인하고 스마트 계약에 전달할 수 있지만 데이터 자체가 잘못될 수 있다는 것을 보여줍니다.
리레이어
일반적으로 말하자면, 리레이어는 한 당사자로부터 다른 당사자로 정보를 중계하는 개체입니다. 다양한 프로젝트를 살펴보면 "리레이어"라는 용어가 두 당사자 간의 이러한 이전을 설명하는 데 사용될 수 있습니다. 블록체인 프로젝트에서 세 가지 유형의 리레이어를 구별할 수 있습니다:
- 개별 거래 주문을 주문서로 집계하여 사용자가 오프체인에서 매치된 주문을 찾으며 저장할 수 있게 하는 개체이며 최종 거래만 네트워크에 제출됩니다. 0x를 참조하세요.
- 사용자 대신 거래를 실행하는 개체 (거래가 제삼자에 의해 중계됨). Tornado Cash를 참조하세요.
- 다른 네트워크의 두 노드 간 정보 전송을 처리하는 개체 (데이터가 한 네트워크에서 다른 네트워크로 중계됨). LayerZero 또는 Relay Chain을 참조하세요.
블록체인 상호 운용성의 맥락에서, 세 번째 유형의 리레이어가 상호 체인 통신을 가능하게 하는 중요한 역할을 합니다.
상호 체인 통신은 리레이어 클라이언트가 소스 및 대상 네트워크 모두에 연결되어 있어야 가능합니다. 리레이어 클라이언트는 소스 네트워크를 계속 모니터링하여 특정 트리거 거래가 발생하면 그에 해당하는 조치를 대상 네트워크에 중계합니다. 거래를 모니터링하고 중계하려면 리레이어 클라이언트를 소스 및 대상 네트워크의 클라이언트 소프트웨어와 함께 노드에 설치해야 합니다. 이는 중계 계층을 통해 연결된 노드의 교차 섹션이 있음을 의미합니다.

라이트 클라이언트
송수신자와 마찬가지로, 라이트 클라이언트는 소스 네트워크 클라이언트와 대상 네트워크 클라이언트가 모두 설치된 노드에 설치되어야 합니다. 릴레이와는 달리 소스 및 대상 네트워크에서 이벤트를 모니터링하는 대신 라이트 클라이언트는 가능한 한 적은 정보로 거래를 확인하는 역할을 담당합니다(따라서 라이트 클라이언트). 소스 및 대상 네트워크의 전체 블록체인을 다운로드하는 대신 라이트 클라이언트는 두 네트워크의 블록 헤더만 사용하여 거래를 다운로드하고 확인합니다.
이는 "자산 증명" 메커니즘을 통해 달성됩니다. 이 메커니즘은 자산이 소스 네트워크에서 전송되었음을 확인합니다. 라이트 클라이언트는 소스 네트워크의 블록 헤더를 저장하고 거래를 확인해야 할 때 사용자가 메르클 증명을 제공하면 이를 사용하여 소스 네트워크의 메르클 트리를 재구성하고 저장된 블록 헤더와 비교합니다.
메르클 증명은 일반적으로 세 가지 부분으로 구성됩니다:
- 메르클 루트: 전송된 자산을 포함하는 메르클 트리의 루트
- 메르클 경로: 메르클 루트에서 시작하고 자산이 잠긴 거래를 나타내는 리프 노드로 끝나는 해시 경로
- 거래 인덱스: 이는 메르클 경로에서 거래의 위치를 나타내는 인덱스일 뿐입니다
메르클 루트는 블록 헤더의 일부이기 때문에 메르클 증명을 사용하여 라이트 클라이언트가 거래가 특정 메르클 트리의 일부임을 확인하고, 그런 다음 메르클 트리가 소스 네트워크의 특정 블록 헤더에 속하는지 확인할 수 있습니다(자세한 내용은 “블록 구조” 및 “메르클 루트” 섹션을 참조하십시오. 노드부터 네트워크까지의 마스터 Web3 기본:
블록 헤더 및 Merkle 트리에 대한 자세한 내용은 여기를 참조하십시오. 이 메커니즘을 통해 사용자는 자산이 다른 네트워크의 브릿지 계정으로 이체되었음을 증명할 수 있으며(자산의 증명) 추가적인 크로스 체인 통신 요구 사항 없이 가능합니다.
오라클 vs. 릴레이어 vs 라이트 클라이언트
오라클과 릴레이어는 두 네트워크 간의 통신을 가능케하지만, 전달되는 데이터의 무결성 측면에서 근본적으로 차이가 있습니다.
오라클은 분산 네트워크에 데이터를 제공하며, 데이터의 무결성은 데이터의 출처의 무결성에서 나옵니다. 데이터가 부정확하게 제공되고 그 후 체인 상에서 이용 가능하게 되면, 오라클은 데이터의 정확성을 판단할 방법이 없습니다 - 데이터는 제공된 그대로입니다. 게다가, 오라클은 스마트 계약에 데이터를 제공합니다.
한편 릴레이어는 데이터의 진실성을 제공하는 출처로 작용하지 않습니다. 대신 신뢰할 수 있는 방식으로 네트워크 간에 데이터를 전달 (릴레이)합니다. 그들의 통신은 네트워크 노드 간에만 이루어집니다.
마지막으로, 릴레이어와 유사하게 라이트 클라이언트는 진실의 출처로 작용하지 않으면서도 네트워크 노드상에 존재합니다. 릴레이어와는 달리, 그들의 주요 목적은 네트워크 간의 메시지 전달이 아니라 블록 헤더를 저장하고 필요에 따라 거래를 유효성 검사하는 것입니다.

중앙집중화/신뢰할 수 있는 엔티티
중앙 집중화되거나 신뢰할 수 있는 엔티티는 블랙박스입니다. 상기 기술(오라클, 릴레이어, 라이트 클라이언트) 중 어느 것이든 독립적으로 또는 결합하여 블록체인 네트워크 간에 메시지를 전달하는 데 사용할 수 있습니다. 중앙 집중화된 엔티티는 사내에서 개발한 프로프레티어리한 클라이언트 소프트웨어를 사용할 수도 있습니다. 소스 코드가 공개적으로 제공되지 않는 한 확실하게 알 수 없습니다.
크로스체인 자산 동등성
자산이 한 네트워크에서 다른 네트워크로 이동될 때, 그것은 사과가 한 가방에서 다른 가방으로 옮겨지는 것과 같이 물리적으로 이동되지 않습니다. 대신, 자산은 소스 네트워크에서 사용할 수 없는 상태가 됩니다, 그런 다음 같은 양의 자산이 생산된다.
지금은 대상 네트워크에서 이용할 수 (이) 없습니다. 블록체인 네트워크의 폐쇄된 특성 때문에 발생하는 문제입니다. 그들은 자신의 네트워크 외부로 통신할 수 없기 때문에 커뮤니케이션을 용이하게 하기 위해 인터페이스(브릿지)가 필요합니다.

일반적으로, 대상 네트워크에서 자산을 이용할 수 있게 하는 세 가지 방법이 있으며, 이는 다양한 종류의 자산을 이용할 수 있게 합니다:
- Lock-and-mint Mechanism 🡪 wrapped tokens
- Burn-and-redeem Mechanism 🡪 native tokens
- Local Liquidity Pools 🡪 wrapped/native tokens (traded token equivalent)
Lock-and-mint Mechanism
잠그고 발행 메커니즘에서, 자산은 자산이 잠기는 한 네트워크의 브릿지에서 받아들여지며, 출처 토큰의 가치를 대표하는 토큰이 대상 네트워크에 발행됩니다. 이 대표 토큰들은 “wrapped” 또는 “pegged” 토큰이라고 불리며, 출처 토큰이 대상 네트워크와 호환되는 컨테이너에 wrapped되었다는 것을 나타냅니다. 이 대상 네트워크 상의 자산 가치가 출처 네트워크 상의 가치에 pegged되었다는 것을 의미합니다. 예를 들어, 이더리움 네트워크 상에서 pegged Bitcoin (pBTC)를 발행한 pNetwork 으로 wrapped Bitcoin (wBTC) 또는 발행할 수 있습니다.
Wrapped 또는 pegged 토큰은 브릿지에서 사용자에게 대상 토큰 대신 교환할 수 있는 “나는 당신에게 빚을 지고 있다”라는 의미입니다. 이는 wrapped 토큰이 출처 토큰의 가치를 유지한다는 것을 의미하지만, 이것은 1:1로 교환할 수 있는 의미입니다.
다리에 문제가 발생하면 래핑된 토큰의 가치가 떨어지는 것을 의미합니다.

Burn-and-redeem Mechanism
타겟 네트워크에서 자산을 이용할 수 있는 다른 메커니즘은 소각 및 교환 메커니즘입니다. 다리가 소스 체인에 자산을 보관하는 락앤민트 메커니즘과 달리, 소각 및 교환 메커니즘은 소스 체인에서 자산을 파괴하고 해당 자산과 동일한 양을 타겟 체인에 발행하여 사용자가 교환할 수 있도록 합니다.

특정 자산의 채굴, 그러나, 대상 체인에서 실행될 필요가 있으며, 특정 자산의 발행자가 실행해야합니다. 예를 들어, 이더리움 네트워크 상의 USDC와 솔라나 네트워크 상의 USDC 발행은 둘 다 USDC의 발행자 인 Circle에 의해 처리됩니다. Circle이 발행 한 유일한 실제 USDC만 있으며 마찬가지로 미국 정부가 발행 한실제 미 달러와 동일합니다.
그러나, 그것은 또한 의미합니다. 입증한 스마트 계약은 두 네트워크 모두에 서클에 의해 설치되어야합니다. 이후 브릿지는 두 네트워크 간의 버닝 및 교환 매커니즘을 구현할 수 있습니다. 이것은 "멀티체인" 스마트 계약 배포로 언급되며, 이것은 소스 및 대상 네트워크 모두에있는 네이티브 자산 인 USDC라는 점에서 USDC는 멀티체인 자산이라고 할 수 있습니다.
멀티체인 vs 크로스 체인
멀티체인과 크로스체인은 두 가지 다른 개념입니다. 멀티체인은 여러 네트워크 및 자산에 대한 발행을 의미하며 "멀티체인 미래"라는 아이디어에 기반을 둡니다. 이 이론은 모든 것을 지배 할 단일 블록체인이 없을 것이라고 말하며 대신 특정한 요구를 충족시킬 것으로 예상되는 독특한 특성을 갖춘 많은 블록체인이있을 것입니다.
그러나, 이 기사의 시작 부분에서 언급 된 바와 같이, 사용자들은 다른 목적으로 다른 네트워크를 사용하고 싶어할 수 있습니다. 크로스체인은 서로 다른 네트워크 간의 상호 운용성을 설명하며 네트워크 간의 통신 및 자산 이체를 가능하게합니다.

참고: "멀티체인"이라는 적절한 이름의 자산 브리지가 있습니다. 이 브리지는 위 개념들(멀티체인 이론, 멀티체인 스마트 계약 배포 및 멀티체인 자산)과는 관련이 없는 웹3 제품입니다.
지역 유동성 풀
대상 네트워크에서 자산을 사용할 수 있게 하는 마지막 접근 방법은 새 자산을 발행하는 대신 이미 존재하는 자산을 사용하는 것입니다. 이 접근 방법에서 브리지는 브리지된 자산이 교환되는 양쪽 네트워크에서 유동성 풀을 유지합니다. 유동성 풀은 결국 스마트 계약 안에 수집된 자산들의 버킷입니다.
이 접근 방식은 브리지 운영자가 양쪽 네트워크에서 유동성 풀을 유지하고 양쪽 네트워크의 각 풀이 항상 충분한 자산을 보유하도록 하는것을 요구합니다. 이 메커니즘을 구현한 브리지의 예로는 다음이 있습니다: XY Finance 및 Thorswap.

유동성 풀 유지는 서로 다른 자산을 이용한 크로스체인 교환도 가능하게 하며, 사용자들이 한 네트워크에서 한 자산(wBTC 등)을 다른 네트워크에서 다른 자산(예: ETH)으로 거래할 수 있도록합니다.
미리 결정된 환율에서 작동합니다. 거래되는 자산은 동등한 가치를 갖지만 동일한 자산이나 대표적인 자산은 아닙니다.다리 자산 보안 및 복잡성의 균형
이 세 가지 메커니즘은 보안과 운영 복잡성 사이의 균형을 함축합니다. 지역 유동성 풀은 구현 및 운영이 가장 복잡하지만 자산 쌍의 분할은 잠재적인 악용의 영향을 제한하는 데 도움이 될 수 있습니다. 잠금 및 발행, 소각 및 교환 메커니즘은 구현하기 쉽고 훨씬 적은 복잡성을 도입하지만 이러한 다리에 대한 공격은 훨씬 더 큰 손실을 초래할 수 있습니다.

자산 변환 과정
(오라클 및 릴레이어를 결합한 통신 수단)과 자산 관리 및 발행 접근 방식(잠금 및 발행, 소각 및 교환, 지역 유동성)을 결합하여 소스 체인의 자산 가치를 대상 체인의 동일한 가치의 자산으로 번역하는 프로세스를 설계할 수 있습니다. 또는 다르게 말하면: 자산은 인터페이스를 통해 한 체인에서 다른 체인으로 다리를 놓을 수 있습니다.
두 개 이상의 네트워크 간의 인터페이스를 만드는 방법에는 다음 네 가지 접근 방식으로 널리 분류할 수 있습니다:
- 공증 방안(중앙집중화/신뢰할 수 있는 엔티티 필요)
- 사이드체인이나 릴레이 네트워크(스마트 계약 및 릴레이어 필요)
- 간단한 결제 확인(스마트 계약 및 릴레이어 또는 오라클 필요)
- 원자 스왑(해시 잠금 방안 및 양쪽 당사자 간 통신 필요)
공증 방안 다리
Web3 용어에서 공증인은 문서의 진위를 확인하고 두 당사자 간에 서명된 법적 문서에 대한 공정한 증인 역할을 하는 공식적인 인물입니다.
응용프로그램.공증 방식 접근에 대한 브릿지 설계, 중앙 집중화된 제3자가 교차체인 트랜잭션의 공증인으로 작용하여 자산이 출발 네트워크에서 수신되었음을 확인하고, 동등한 자산이 사용자에게 송금되도록 목표 네트워크에서 확인합니다.
사용자는 먼저 신뢰할 수 있는 브릿지에 자산을 브리지할 의사를 표시하고, 목표 네트워크에서 자산을 수령할 주소를 지정합니다. 블록체인 네트워크는 자신의 경계 바깥에서 통신할 수 없는 닫힌 네트워크이기 때문에, 브릿지는 사용자로부터 자금을 수령할 소스 체인의 계정 또는 주소를 모니터링해야 합니다. 브릿지가 자산이 수령되었고 (마지막 블록이 다시 정렬되지 않도록 수신 후에 충분한 블록이 검증되는 것을 보장하는 경우) 확인하면, 브릿지는 목표 네트워크로 명령을 보내어 동등한 자산을 사용할 수 있게하고 이를 사용자가 지정한 주소로 송금합니다.

공증 방식 브릿지는 트랜잭션을 검증하는 단일 공증이나 m-of-n 공증이 동의해야 하는 다수의 공증으로 구성될 수 있습니다. 이를 연합된 또는 다중 서명 공증 체계라고 합니다.
연합된 공증 체계는 단일 서명 체계보다 더 안전합니다.게임 규정에 따르면, 동일한 다리 요청은 대상 체인에서 자금이 해제되기 전에 여러 당사자에 의해 확인되어야 합니다. 연합 다리는 신뢰할 수 있는 경우와 같이, 사용자가 당사자가 악의적으로 행동하지 않을 것을 믿는 경우, 또는 담보된 다리가 될 수도 있습니다. 담보된 다리에서는 각 당사자가 악의적 또는 비업무적으로 행동하는 경우 자산을 가치반환이 될 수 있는 담보액을 제공해야 합니다.
사이드체인 및 릴레이 체인 다리
사이드체인과 릴레이 체인은 자체의 합의 계층과 검증자 세트를 갖춘 별도의 네트워크에 의존하여 소스 네트워크에서 특정 이벤트가 발생했는지 확인하고 해당 데이터를 대상 네트워크로 전달합니다. 사이드체인과 릴레이 체인의 차이점은 그 목적과 다리 연결 메커니즘에 있습니다.
릴레이 체인은 거래를 다수의 네트워크로 중계하는 데 특화되어 있습니다. 단일 릴레이 네트워크를 갖는 것은 사슬간 이체의 표준화를 가능하게 합니다: 릴레이 네트워크에 연결되는 모든 네트워크는 이미 릴레이 네트워크로 설정된 모든 네트워크로 간편하게 다리를 놓을 수 있습니다. 또한, 릴레이 네트워크의 블록체인은 거래가 초기화된 증거 역할을 합니다.

사이드체인도 목적에 맞게 구축된 네트워크지만, 그들의 초점은 일반체인이 직면한 도전을 완화하는 데 주로 있습니다. Ronin & Gnosis Chain(이전에는 xDai로 알려졌음)은 이에 대한 예시입니다. Ronin은 Web3 게임 Axie Infinity를 위한 사이드체인으로, Axie Infinity의 생태계를 저렴한 거래 비용과 빠른 거래 결정(블록체인 삼중원칙인 '확장성'에서)을 제공하기 위해 존재합니다. Gnosis Chain은 이더리움 네트워크에 대한 EVM 기반 사이드체인으로, 이더리움에 비해 저렴한 거래를 가능하게 합니다. Gnosis Chain은 아마도 POAPs인 인기를 끄는 역할로 가장 잘 알려져 있습니다.
Ronin 및 Gnosis Chain과 같은 블록체인은 특정 목적을 가진 사이드체인으로, 다른 네트워크로의 표준화된 다리 역할은 하지 않습니다. 그러나 Polygon은 방대한 생태계를 가지고 있으며 높은 상호운용성을 갖춘 EVM 호환 사이드체인으로 자리를 굳혔습니다. 결과적으로 많은 다른 네트워크가 Polygon을 다양한 레이어1 네트워크에 연결하는 인터페이스로 사용하고 있습니다.
블록체인의 블록체인(또한 BoBs라고도 함)은 릴레이 네트워크 접근법을 활용하여 메시지와 자산을 네트워크 간에 교환합니다. 예를 들어, Polkadot은 파라체인 간의 네트워크 간 통신을 지원하는 전용 릴레이 체인을 보유하고 있습니다. 파라체인은 핵심적으로 서로에게 병렬로 구동되는 Polkadot 호환 네트워크이며 릴레이 체인에 연결되어 있습니다.
Cosmos은 BoB의 또 다른 예입니다. Cosmos가 개발한 Inter-Blockchain Communication (IBC) 프로토콜은 모든 블록체인을 연결할 수 있지만, Cosmos는 자체 레이어1 네트워크인 Cosmos Hub을 출시하여 서로 다른 블록체인 네트워크를 연결하는 중심지로 작용합니다. 만약 모든 네트워크가 IBC를 사용하여 직접적으로 연결된다면, 필요한 연결 및 인프라 구조가 기하급수적으로 증가할 것입니다. Cosmos Hub은 릴레이 체인은 아니지만 Polkadot의 Relay Chain에 해당하는 Cosmos의 동등물로 볼 수 있습니다.
이 글의 끝 부분에서 간단히 IBC에 대해 다루겠습니다(이곳을 클릭하여 IBC 섹션으로 이동).
SPV 기반 다리
Unli브릿지를 유지하는 중계기가 출처 및 대상 블록체인의 완전한 사본을 유지하는 릴레이 기반 브릿지와 달리, 간소화 결제 확인(SPV)에 기반을 둔 브릿지는 훨씬 적은 리소스가 필요합니다. SPV 기반 브릿지의 아이디어는 대상 네트워크가 출처 네트워크에서 거래가 발생했음을 확인하도록 하는 것인데, 이는 전체 거래 내역 대신 출처 네트워크의 블록 헤더만을 저장하여 가능합니다. 이는 라이트 클라이언트 섹션에서 설명된 “자산 증명” 메커니즘을 사용하여 달성됩니다. 여기에는 Merkle Proof가 전달되어 블록 헤더에 대조되어 거래가 확인됩니다.
SPV 기반 브릿지를 사용하여 자산을 연결하는 경우, 사용자는 먼저 자산을 출처 체인의 브릿지 계약에 보냅니다. 브릿지 계약은 출처 체인에 “커밋 트랜잭션”을 생성하는데, 이는 이체된 자산의 Merkle Proof 및 고유 식별자를 포함합니다. 인터페이스(릴레이, 오라클 또는 라이트 클라이언트)는 수신되는 커밋 트랜잭션을 모니터하고, 커밋 트랜잭션을 포함하고 있는 출처 네트워크의 블록 헤더를 저장합니다. 사용자는 고유 식별자와 Merkle Proof를 브릿지 계정으로 제출하여 대상 네트워크에서 자금을 적립합니다. 자산 증명(머클 프루프 및 고유 식별자)을 사용하여 라이트 클라인트가 머클 트리를 재구성하고, 이를 인터페이스에 저장된 블록 헤더의 머클 트리에 교차 참조합니다. 이 확인이 유효한 결과를 반환하면, 자금이 대상 네트워크의 사용자에게 해제됩니다.

라이트 클라이언트는 종종 SPV 기반 브릿지에 사용됩니다. 이는 노드가 소스 및 대상 네트워크의 전체 블록체인을 저장할 필요가 없으며, 노드들이 거래 유효성에 동의하는 거래의 무신뢰적인 검증을 허용하기 때문입니다. SPV 기반 브릿지 컨텍스트에서 라이트 클라이언트는 다음 두 가지 주요 작업을 수행합니다:
- 블록 헤더 저장 (데이터 저장)
- 거래 유효성 검증 (계산)
저장 및 계산 요구 사항을 충족할 수 있다면, SPV 기반 브릿지는 라이트 클라이언트 대신 릴레이어 및 오라클을 사용할 수 있습니다. 예를 들어, 릴레이어는 대상 네트워크에서 빠르게 검색할 수 있도록 블록 헤더를 로컬에 저장할 수 있으며, 거래 유효성 검증은 스마트 계약에서 실행하거나 오라클로 외부로 아웃소싱할 수 있습니다.
SPV 기반 브릿지를 설계할 때는 비용 (스마트 계약 계산 대 클라이언트 계산), 복잡성, 보안 및 속도 요구 사항을 고려하여 특정 사용 사례에 대한 최적의 SPV 기반 브릿지 설계를 결정하는 데 도움이 될 것입니다.
원자 스왑 (Atomic Swaps)
원자 스왑은 서로 다른 블록체인 간에 두 당사자 간에 토큰의 개인간 전송을 용이하게 하는 데 사용됩니다. 이때, 블록체인들이 직접 상호 작용하지 않고, 토큰/네트워크 호환성 및 네트워크 상호 운용성이 필요하지 않습니다.
원자 스왑은 한 토큰을 다른 토큰과 교환하는 것이 "원자적"으로 발생하는 개념에서 이름을 얻었습니다. 이는 거래가 한 번에 발생한다는 것을 의미합니다. 일반적으로 스왑은 주문을 배치하고, 그 주문이 체결되기를 기다렸다가 최종적으로 자금을 수령하는 등 여러 단계로 이루어집니다. 그러나 원자 스왑에서는 신뢰할 수 있는 제삼자가 필요하지 않고 토큰 간의 교환이 한 번에 발생할 수 있습니다.
노터리 스킴 브리지 및 릴레이 체인 브리지와 달리, 원자 스왑은 네트워크 간에 직접 소통할 필요 없이 두 네트워크 간에 별도로 사용자가 자산을 교환할 수 있도록 합니다. 이는 두 네트워크에서 "해시 시간 잠금 계약" (HTLC)를 사용하여 달성됩니다.
해시 시간 잠금 계약 (HTLC)
HTLC는 처음에 비트코인 네트워크에 BIP-199로 소개되었으며, 해시 잠금 및 시간 잠금의 조합입니다. 해시 잠금은 지불 받는 측이 거래를 수락하려면 패스워드를 제공해야 한다는 것을 요구하며, 시간 잠금은 거래가 특정 시간 내에 실행되어야 함을 명시하며, 그렇지 않으면 대안적인 교환 조건이 활성화되어 자금이 반환되도록 허용합니다.
HTLC는 시간에 바인딩된 조건부 지불 계약입니다.
원자 스왑: 성공적인 스왑 시나리오
원자 스왑은 각 네트워크에서 각 당사자마다 한 개씩 HTLC를 배포함으로써 작동합니다. 즉, A 당사자는 네트워크 A에 HTLC를 배포하고, B 당사자는 네트워크 B에 HTLC를 배포합니다. 한 당사자는 먼저 비밀 암호를 결정하고 해싱합니다. 암호의 해시는 이후 HTLC의 해시락 기능의 입력 매개변수로 사용됩니다. 게다가, 양쪽 당사자는 자금이 잠긴 후에 잠금을 해제할 시간 한계를 설정해야 합니다. 이들은 단계적인 시간 간격으로 설정됩니다: 비밀 암호를 가지지 않은 당사자 (B 당사자)는 더 짧은 시간 한계를 설정합니다 (예: 24시간), 반면 비밀 암호를 가진 당사자는 더 긴 시간 한계를 설정합니다 (예: 48시간).
A 당사자가 암호를 설정하고 해시를 생성한 후 (단계 1), A 당사자는 B 당사자와 해시를 공유하고 양쪽 당사자는 합의된 자금을 각 네트워크에서 거래하기로 약속한 HTLC를 배포하고 잠근다 (단계 2 - A 당사자는 네트워크 A에서 HTLC를 배포하고, B 당사자는 네트워크 B에서 HTLC를 배포함). 양쪽 네트워크에서 HTLC가 모두 설정된 후, A 당사자는 B 당사자의 네트워크 B의 HTLC에서 자금을 교환하기 위해 암호를 사용할 수 있습니다. 이에 따라, 암호는 체인 상에서 B 당사자에게 공개되고 (단계 4), B 당사자는 A 당사자가 네트워크 A의 HTLC에 잠근 자금을 교환하기 위해 암호를 사용할 수 있습니다.

원자 스왑: 실패한 스왑 시나리오
그러나 Party A가 Network B에서 자금을 인출하지 않고 암호가 공개되지 않으면 어떻게 될까요? 여기서 타임락이 등장합니다.
타임락은 일정 시간이 경과한 후 거래를 환불할 수 있게 합니다. 기억하세요: 타임락은 단계적으로 나뉩니다:
- Party A의 타임락은 48시간입니다 (그들이 비밀 암호를 보유)
- Party B의 타임락은 24시간
Party A가 24시간 이내에 비밀 암호를 공개하지 않으면 Party B는 Network B의 HTLC에 잠긴 자금을 환불할 수 있습니다 (단계 3). 48시간 후, Party A는 Network A에서 동일한 작업을 수행할 수 있습니다.

이러한 타임락의 단계적인 설정은 매우 중요합니다: 두 가지 타임락이 동일한 지속 시간으로 설정된 경우 (예: 24시간), 비밀 암호를 가진 당사자 (Party A)는 시한이 지나기 직전 (예: 23시간 59분)에 자금을 인출하고 즉시 자신의 HTLC를 환불할 수 있습니다 (24시간). 타임락의 단계적 설정은 두 당사자가 교환을 완료하거나 자산을 환불할 충분한 시간을 제공합니다.
UTXO 기반 네트워크 간의 원자 스왑
HTLC에 관한 아래 섹션을 진행하기 전에 절대 “UTXO 대 Account 모델” 마스터 웹3 기초 섹션.
비트코인 네트워크의 HTLC 거래 (UTXO)
비트코인 네트워크에서 각 거래는 잠금 스크립트 및 잠금 스크립트를 포함하는 코드 블록입니다. 해제 스크립트는 사용되지 않은 거래 출력 (UTXO)가 유효하다고 확인하고 지출을 위해 자금을 해제하며, 잠금 스크립트는 지출 기준을 처리하고 특정 조건이 충족될 때에만 자금을 사용할 수 있도록 보장합니다(예: 새 거래에 사용 된 UTXO) (자세한 내용은 마스터 웹3 기초 섹션의 UTXO 내용 참조).
비트코인 네트워크에서 거래를 잠금 해제 할 수있는 기준 및 어떤 유형의 거래를 받을 수 있도록 특정 유형의 주소가 필요한지, 이 모든 것들은 주의 깊게 정의되어 있습니다. 비트코인에서 HTLC를 사용하려면 사용자는 P2SH 거래를 만들어야합니다.
일반적으로 비트코인 네트워크의 거래에는 잠금 해제 스크립트 및 잠금 스크립트가 모두 포함되어 있습니다. 해제 스크립트는 거래의 입력으로 사용되는 UTXO를 해제하고, 잠금 스크립트는 자금을 수신자의 공개 키를 사용하여 잠그어 수신자 주소의 서명으로만 회수 할 수 있도록 보장합니다. 이것은 Pay-to-Public-Key-Hash (P2PKH) 거래라고합니다.
Pay-to-Script-Hash (P2SH) 거래는 수신자의 공개 키를 사용하는 대신 해제 조건을 포함하는 스크립트를 해싱합니다. P2PKH 거래의 해제 조건은 잠금 스크립트에 포함 된 공개 키에 해당하는 개인 키를 사용해야 할 것이지만, P2SH 거래에서 이 스크립트에는 발신자가 정의 한 복잡한 로직이 포함될 수 있습니다. P2SH 거래는 해제 스크립트가 해싱 될 때 P2SH 거래의 해제 스크립트와 일치하는지 확인하는 경우 누구나 해제 할 수 있습니다.
이는 누구나 P2SH를 해제 할 수 있음을 의미합니다. 적절한 스크립트를 제시할 수 있다면 구입 시 적절한 조치입니다. 결과적으로 P2SH 해제 스크립트 대신 "적립 스크립트"라고합니다. 누구나 P2SH 거래를 해제하는 것을 방지하기 위해 추가 조건이 추가 될 수 있으며 특정 수신자의 서명이 필요합니다.
EVM 호환 네트워크의 HTLC
HTLC 거래는 소비되기 전에 충족해야하는 두 가지 조건이있는 거래일뿐입니다. 이것은 EVM 호환 네트워크의 스마트 계약을 사용하여 쉽게 복제 될 수 있습니다. UTXO 기반 네트워크에서 누구나 P2SH 거래를 보낼 수 있지만, EVM 호환 네트워크에서는 해당 로직이 먼저 스마트 계약으로 배포되어야합니다.
사용되기 전에 포맷해야 합니다.
원자 스왑 과정 (개요)
우리는 두 당사자 A와 B가 있다고 가정해 봅시다. 이 두 당사자는 두 개의 별도 네트워크에서 특정 시간 내에 상호 사전에 결정 된 비율로 토큰을 교환하려고 합니다. 간단함을 위해, 우리는 스왑이 두 개의 UTXO 기반 네트워크 간에(예: 비트코인과 카르다노) 이뤄진다고 가정할 것입니다.
아래 개요는 원자 스왑의 각 단계를 보여줍니다. 아래 섹션에서 이에 대해 자세히 설명될 것입니다.

원자 스왑 설정
이 원자 스왑이 작동하려면 두 HTLC를 사용해야 하며 (각 네트워크에 하나씩), 다음과 같은 조건이 해제 조건으로 설정되어야 합니다:
- 암호 (각 네트워크에서 동일한)
- 시간 초과 임계값
- 발신자와 수신자의 서명
두 네트워크가 UTXO 기반이기 때문에 P2SH 거래가 HTLC 기능을 활성화하는 데 사용될 수 있습니다.
원자 스왑 프로세스: 자산 전송 거래 준비
먼저, 당사자 A는 암호를 선택해야 합니다. 이 비밀번호는 해시 처리되고 해당 해시가 당사자 B에게 전송됩니다. 그런 다음 각 당사자는 자금을 송금 중인 네트워크에 대해 P2SH 거래를 준비하고 해시 처리된 암호를 입력 값 중 하나로 사용합니다:
당사자 A는 다음을 통해 교환될 수 있는 UTXO1을 가지고 P2SH1 거래를 준비합니다:
- 암호 및 당사자 B의 서명
- 당사자 A와 당사자 B의 서명
당사자 A는 이 거래에 서명하지만 아직 방송하지 않습니다.
당사자 B도 동일한 작업을 수행합니다. 그들은 UTXO2로 P2SH2 거래를 준비하고 다음을 통해 교환될 수 있습니다:
- 암호 및 당사자 A의 서명
- 당사자 A와 당사자 B의 서명
거래는 당사자 B도 서명하지만 당사자 A는 아직 서명하지 않습니다.
B는 아직 방송하지 않습니다. 양쪽 거래가 네트워크에 방송되지 않은 상태가 매우 중요합니다. B 당사자가 거래를 방송하면, A 당사자가 패스워드로 거래를 할 수 있기 때문입니다. 대신 다른 단계가 필요하며, 이는 보좌선으로 작용하여 다른 당사자가 의무를 이행하지 않을 경우 자금을 회수할 수 있도록 합니다.원자 스왑 프로세스: 자산 환불 거래 준비
각 당사자는 P2SH 거래의 UTXO에서 자금을 회수하는 시간 잠금이 걸린 두 번째 거래를 생성합니다. 각 당사자는 시간 잠금이 걸린 거래를 상대 당사자에게 전달하고, 서명 후 되돌려받습니다. 양쪽 거래도 방송되지 않습니다. 이 거래는 각 UTXO의 두 번째 구제 조건을 충족합니다(당사자 A와 당사자 B의 서명). 요약하면:
- 당사자 A는 UTXO1에서 자금을 돌려받는(예: 48시간) 시간 잠금 거래를 생성하고, B 당사자에게 서명하여 되돌려받습니다.
- 당사자 B는 UTXO2에서 자금을 돌려받는(예: 24시간) 시간 잠금 거래를 생성하고, A 당사자에게 서명하여 되돌려받습니다.
이제 각 당사자는 첫 번째 거래에서 자금을 되돌려받기 위해 자신의 서명만 필요로 하는 거래를 보유하게 됩니다. 이는 상대방이 거래 고정을 완료하지 않을 경우의 보험 역할을 합니다. 두 거래가 시간에 잠겨 있고 아직 방송되지 않았으므로, 시간 임계값이 지나지 않는 한 각 당사자는 초기 거래를 되돌릴 수 없습니다.
양쪽 거래의 시간 잠금 기간이 서로 다르다는 점에 유의하십시오. 이는 한 당사자가 상대방이 합의에 따라 움직이는지 여부를 먼저 확인할 수 있도록 하기 위함입니다. 시간 잠금이 동일하면 양쪽 당사자가 자산 이동 거래를 방송할 때까지 서로의 시간 만료를 기다릴 수 있습니다.
원자 스왑 프로세스: 스왑 실행
각 당사자는 자금을 보내는 네트워크에 자산 이동 P2SH 거래를 제출합니다:
- A 당사자가 네트워크 A에 P2SH1을 방송합니다
- B 당사자가 네트워크 B에 P2SH2을 방송합니다
이 단계에서 A 당사자가 B 당사자에게 패스워드를 공개합니다. 이제 A 당사자와 B 당사자는 자산 이동 P2SH 거래의 첫 번째 잠금 조건을 충족시킬 데 필요한 모든 것을 갖추고 있습니다(패스워드 및 상대방 서명).
만약 A 당사자가 악의적이며 B 당사자와 패스워드를 공유하지 않는다면, B 당사자는 자산 환불 거래에 서명하여 이전에 방송된 P2SH2 거래에서 자금을 되돌려받을 수 있습니다 (두 번째 구제 조건을 충족시켜서; A 당사자와 B 당사자의 서명).
원자 스왑에 대한 최종 노트
원자 스왑에서활성 참여와 양쪽 간의 의사 소통이 필요합니다. 위에서는 양쪽이 직접 소통하고 있다고 설명했지만, 이러한 소통은 오라클이나 릴레이를 통해 자동화될 수도 있습니다.
원자 스왑을 통해 믿을 수 있는 거래를 가능하게 합니다. 그러나 또 다른 도전 과제가 있습니다: 두 명의 개인이 서로 특정 양의 토큰을 두 개의 특정 네트워크 사이에서 거래하려는 경우 어떻게 서로 찾을 수 있을까요? 이것이 원자 교환의 역할입니다. 원자 교환은 사용자들이 원자 스왑을 제출하고 개인 간 거래의 시장 역할을 합니다. 인기 있는 원자 교환에는 Atomic DEX와 Atomex가 있습니다.
다른 상호 운용 기술
상호 블록체인 통신 (IBC) 프로토콜

상호 블록체인 통신 (IBC) 프로토콜은 코스모스 생태계 내에서 두 블록체인 간의 상호 연결을 가능하게 하는 통신 표준입니다. 기본적으로 IBC는 네트워크 간 메시지 전달을 위해 릴레이어를 필요로 하며, 송신 및 수신 네트워크의 노드에서 거주하는 라이트 클라이언트를 사용하여 들어오는 메시지를 확인합니다.
IBC 라이트 클라이언트는 SPV 라이트 클라이언트와 유사하게 작동하며, 블록체인의 전체 사본을 유지하지 않고 소스 네트워크 상의 거래를 확인하는 기능을 제공합니다. 실제로 IBC 라이트 클라이언트는 Merkle 프루프 이외의 암호학적 증명을 사용하여 보다 넓은 범위의 네트워크를 확인할 수 있어 더 유연합니다.
나머지 구성 요소 (IBC/TAO 및 IBC/APP)는 패킷의 전송, 인증 및 순서 매지에 관한 표준 및 사양과 관련된 표준입니다.데이터나 자산의 유형(예: COSMOS 생태계의 ERC-20 및 ERC-721과 동등한 ICS-20 및 ICS-721).
더 많은 정보를 원하는 사용자는 Cosmos 개발자 포털의 "IBC가 무엇인가?"를 읽어보십시오.
LayerZero

블록체인 네트워크 간 하부 통신 프로토콜로 지칭된 LayerZero (자세한 내용은 백서 참조)은 릴레이어(relayers)와 "울트라 라이트 노드(Ultra Light Nodes)"라는 용어를 사용하여 네트워크 간 메시지를 전송하고 들어오는 메시지를 검증합니다.
소스와 타겟 네트워크의 노드에 클라이언트를 실행해야 하는 라이트 노드와는 달리, 울트라 라이트 노드(ULN)는 양쪽 네트워크에 스마트 계약으로 존재합니다. 이로써 엔드포인트를 실행하는 데 들어가는 비용이 크게 줄어들며, 자체 노드를 실행할 필요성이 완전히 제거됩니다.
울트라 라이트 노드(ULN)의 작동 방식은 들어오는 거래의 검증을 담당하지만 블록 관련 데이터를 로컬에 저장하는 대신 요청 시 오라클로부터 가져옵니다.
이 설정에서 릴레이어는 메시지를 전달하는 책임을 지고, 오라클은 릴레이어가 전송한 데이터의 검증에 필요한 블록 관련 데이터를 가져오도록 사용됩니다. 이로써 보안은 엔드포인트에서 오라클 및 릴레이어로 아웃소싱됩니다. 이 구성에서, 릴레이어와 오라클이 음모를 꾸리는 경우에만 악성 거래가 두 네트워크 간 전달될 수 있습니다.
LayerZero를 사용하면 개발자가 사용할 오라클이나 릴레이어를 직접 설정할 수 있습니다. 개발자가 악의적인 경우, LayerZero 엔드포인트를 개인 오라클 및 릴레이어를 사용하도록 설정할 수 있습니다. 그러나 ChainLink와 같은 공개 오라클이 사용되면 악성 활동의 가능성이 크게 감소할 수 있습니다.
상호 운용성 확보
로이츠
이제 우리가 상호 운용성을 디자인하는 데 관여된 모든 구성 요소를 이해했으므로, 가장 유명한 다리 해킹 중 일부를 간단히 살펴보고 해당 보안 결함을 몇 가지 이전에 언급한 디자인 결정과 연결시켜 봅시다.
모든 다리는 자산이 소스 네트워크에서 수신되었음을 검증하는 형태의 확인이 필요합니다. 이를 통해 대상 네트워크 상에 자산을 이용할 수 있게 됩니다. 많은 다리 해킹에서 그러한 검증이 위조되어 자산이 소스 또는 대상 네트워크에 출시되도록 되어 있지만, 공격자가 해당 자산을 보유하고 있지 않은 경우도 있습니다.
2022년의 몇 가지 공격 벡터를 다루는 몇 가지 공격에 대해 알아봅시다.
$110m 바이낸스 브릿지 해킹
2022년 10월 6일 18:30 UTC에 공격자가 바이낸스 브릿지에서 2,000,000 BNB를 인출하여 6억 달러의 가치를 달성했습니다. 이를 위해서 가짜 검증을 제출하여 대상 네트워크인 Binance Smart Chain의 브릿지 계약에 받아들여 지게 하여 토큰을 출시했습니다.

바이낸스 브릿지는 바이낸스 체인과 바이낸스 스마트 체인 사이에서 자산 이체를 허용하는 상호 운용성 프로토콜입니다. 이 프로토콜은 락 앤 민트 메커니즘을 사용하며, 빈란스 스마트 체인에 래핑된 토큰이 1:1 비율로 발행됩니다 (예: 1 BNB = 1 wBNB). 바이낸스 스마트 체인은 이더리움 네트워크의 분기 버전이며 바이낸스 체인에서의 일반적인 BNB 토큰은 바이낸스 스마트 체인과 호환되지 않습니다. 그 결과, 바이낸스 체인의 BEP2 기반 BNB 토큰은 바이낸스 스마트 체인의 BEP20 BNB 토큰 (ERC20 동등)으로 래핑 됩니다. 그래서, Binance Smart Chain에서 토큰을 'BNB'이라고 부르는 동안, 사실은 래핑된 BNB 토큰입니다.
공격자는 바이낸스 스마트 체인에서 2,000,000 BNB를 발행하고 출시할 수 있었습니다.(target network)로 속이고 다듬어 다듬어 다른에서도 동등한 양을 넣었다고 생각하게 만들어 다른(Binance Chain 소스 네트워크)에 입금했다고 생각하게 하였다. 바이낸스팀은 빠르게 캐치하고 검증자들에게 네트워크 중단을 요청하여 공격이 발생하기 전의 네트워크 상태로 롤백할 수 있었다. 네트워크가 중단되기 전에 공격자는 대략 1억 달러 가치의 BNB 토큰을 다른 네트워크로 이동시킬 수 있었다.
8000만 달러 Qubit Finance 해킹
Qubit Finance는 Ethereum과 Binance Smart Chain 간의 브리지인 QBridge에서 유사한 운명을 겪었다. QBridge도 Binance Bridge와 유사한 락 앤 먼트 메커니즘을 사용한다. 공격자는 Ethereum 쪽 네트워크 (소스 네트워크)에 ETH를 예금한 척을 여러 번 반복했으며, 이로 인해 QBridge가 Binance Smart Chain에서 발행한 ETH 대표 자산 인 qXETH가 발행되었다. 마지막으로, 공격자는 모든 qXETH를 BNB로 거래하여 8000만 달러의 이윤을 걱정었다.

3억 2000만 달러 웜홀 해킹
웜홀 해킹은 바이낸스 브리지 해킹과 비슷한 운명을 따랐다. 웜홀은 자산을 잠그는 락 앤 먼트 메커니즘을 사용한다.소스 네트워크에서 얻은 것을 대상 네트워크에 공개합니다. 이 해킹에서 공격자는 다리가 브릿지의 이더리움 쪽에 이더리움이 입금되었다고 믿게 만들었습니다 (원본 네트워크) 가짜 확인을 제공하여 이로 인해 브릿지가 솔라나 (대상 네트워크)에서 120k whETH (Wormhole Ether)을 채굴했습니다. p>
$625m Ronin Network 해킹
Ronin Network 해킹은 Web3에서 본 적이없는 가장 큰 해킹 중 하나였습니다 . Ronin Network는 인기있는 Web3 플레이 투 어니언 게임 Axie Infinity을위한 맞춤형 네트워크로 이더리움 네트워크의 사이드 체인입니다. Ronin 네트워크는 이더리움과 비교했을 때 Axie Infinity를 플레이하는 더 저렴하고 효율적인 수단으로 작동하며 더 저렴한 거래 비용과 더 빠른 거래를 제공합니다. p> 

론인 사이드체인은 검증자 수가 9개인데, 트랜잭션을 확인합니다. 검증자 수가 적기 때문에 네트워크의 효율성이 증가하지만, 공격자가 9개 중 5개만 제어하면 51% 공격을 실행할 수 있다는 보안 우려도 있습니다. 공격자는 5개의 검증자를 제어하는 키를 손에 넣고 자신의 거래에 서명하여 자산을 건너뜁니다
$80m FEI 프로토콜 및 Rari Capital Pool 공격
FEI 프로토콜 및 Rari Capital에 대한 공격은 브릿지나 상호 운용성 해킹은 아니지만, 이는 유동성 풀이 공격 범위를 제한하는 방법을 보여줍니다. 이 공격에서 공격자는 $150m USDC를 플래시 대출을 통해 예치하여 1977ETH 대출을 받았습니다. 스마트 계약을 통한 공격으로 공격자는 초기 예치한 $150m USDC를 인출한 후에도 1977ETH 대출을 유지할 수 있었습니다. 이를 재진입 공격이라 합니다. 그 후 공격자는 이 과정을 여러 다른 유동성 풀에 반복해 한 풀씩 약탈했습니다.
이 경우 유동성 풀은 다른 풀을 약탈하는 것을 방지하지 않았지만, 공격자로 하여금 이 과정을 반복하도록 하여 팀이 작업을 중단하기 전에 손실을 줄일 수 있었습니다.
> FEI Protocol exploit 발송 주소 Tornado Cash. 출처: Etherscan$0.8m 루나 2.0 오라클 공격
이 공격은 브릿지 해킹이 아니지만 오라클 데이터가 항상 옳지 않을 수 있고 공격자에 의해 악용될 수 있다는 것을 보여준다.
루나 2.0이 출시되었을 때 수익 프로토콜 Anchor는 Luna 1.0과 Luna 2.0의 입금을 받았다. 그러나 Luna 1.0의 오라클 가격 피드는 부정확했습니다: 실제 가치가 미국 달러 0.001이었는데, 오라클은 대략 미국 달러 5의 값을 보고했습니다, 우연히도 이는 Luna 2.0의 가격과 동일했습니다. Anchor의 스마트 계약은 이 숫자가 정확한지 여부를 알 수 없으며, 대신 오라클이 제공하는 숫자를 진실의 근본으로 보고합니다.

공격자가 발견하고 거의 가치가 없는 Luna 1.0 토큰을 대규모로 입금했으며, Anchor는 실제보다 훨씬 가치가 있는 것으로 해석했습니다. 공격자는 이 토큰을 사용하여 UST 스테이블코인으로 대출을 받았으며, 이를 Anchor에서 추가적으로 활동에 사용했습니다. 공격자는 약 800,000 달러의 이익을 올렸습니다.
요약 - 상호 운용성
블록체인 트릴레마는 네트워크가 확장성, 보안 및 분산화 사이에서 절충해야 함을 설명하는 데 사용될 수 있으며, 서로 다른 네트워크들은 이러한 세 가지 속성 사이에서 특정 거래를 진행함으로써 특정 사용 사례에 적합하게 만듭니다(예: 확장성이 높은 네트워크에서 게임, 높은 분산화 네트워크에서 검열 저항). 다중 블록체인의 존재를 "멀티체인"이라고 합니다.
사용자들은 각 네트워크를 특정 우수한 사용 사례에 사용하기 위해 자산을 네트워크 간에 이동시킬 수 있습니다. 이를 위해 네트와작업은 상호 운용 가능해야 합니다. "크로스-체인" 통신은 소스 네트워크와 대상 네트워크 간에 메시지(트랜잭션 또는 자산을 포함)를 전달하는 것을 설명합니다. 여러 프로젝트 및 프로토콜에서 크로스-체인 통신을 가능하게하는 데 사용되는 원시들에는 오라클, 릴레이어, 경량 클라이언트 및 중앙 집단이 포함됩니다.
통신할 수 있을 뿐만 아니라 자산도 네트워크 간에 호환되어야 합니다. 또는 소스 자산의 호환되는 동등 표현이 대상 네트워크에 제공되어야 할 수도 있습니다. 호환되는 자산이 대상 네트워크에서 이용할 수 있는 메커니즘은 락 앤 민트 메커니즘, 번 앤 리딤 메커니즘 및 로컬 유동성 풀입니다.
상호 운용성 원시요소들을 크로스-체인 자산 동등성 보장 메커니즘과 결합하여, 우리는 한 네트워크에서 다른 네트워크로 메시지를 전송하고, 소스 네트워크의 자산과 동등한 대상 네트워크의 자산을 발행할 수 있는 자산 번역 프로세스를 설계할 수 있습니다. 결과물로 나오는 제품은 일반적으로 "브릿지"라고 불립니다. 이 글에서 설명된 브리지 디자인은 공증 체계, 사이드체인, 릴레이 네트워크 및 원자 스왑을 포함합니다.
이어, Cosmos Inter-Blockchain Communication (IBC) 프로토콜 및 LayerZero 프로토콜을 간단히 살펴보았습니다. 이들은 블록체인 간에 유연한 저수준 통신 인터페이스를 만들기 위해 상기 원시들을 사용합니다.
마지막으로, 본 글에서 다룬 상호 운용성의 다양한 측면을 기반으로 최근 몇 가지 주목할만한 브리지 악용 사례를 검토했습니다.
마무리
마스터 Web3 기초 시리즈의 두 번째 파트는 여기까지입니다. 읽어 주셔서 감사합니다! 만약 이 글이 마음에 드셨다면 공유해 주시기 바랍니다!
이 글에 대한 피드백이나 내용에 대해 토론하고 싶다면 Twitter에서 @0xPhillan에 연락하십시오.
만약 두 번째 파트가 공개되면 처음으로 읽고 싶으시거나 Web3의 최근 이벤트에 대한 철저한 관점을 원하신다면, Web3edge 뉴스레터를 구독하고 Twitter에서 @Web3edge_io를 팔로우하십시오.
DeFi
Cross-Chain

