Tokenbridge 가치 전송에 대한 분석

IOBC 캐피탈
2022-04-11 17:57:11
수집
tokenbridge는 메인 체인과 사이드 체인 간의 다리 역할을 하여 자산과 데이터의 전송에 결정적인 역할을 합니다.

저자: IOBC Capital

최근 Axie Infinity의 기본 블록체인 네트워크인 Ronin Network에서 6억 달러가 도난당했으며, 사용자가 크로스 체인 브리지인 Ronin Bridge에서 출금을 할 수 없게 된 후에야 이 도난 사건이 발견되었습니다. 크로스 체인 브리지의 자산 안전 문제는 다시 한번 뜨거운 논의의 주제가 되었습니다.

사건 이후 Sky Mavis COO Alexsander Larsen은 "Ronin Bridge가 공격당한 것은 스마트 계약의 취약점 때문이 아니라 사회 공학과 인적 오류와 관련이 있다"고 밝혔습니다. Axie Infinity의 투자사인 Animoca Brands의 공동 창립자 Yat Siu는 인터뷰에서 "만약 다리가 토큰을 발행할 수 있다면, 그것은 마치 주조기와 같다… 다리는 권위가 있지만, 만약 잘못 설계되거나 취약점이 있다면 생태계에 큰 위험을 초래할 수 있다"고 언급했습니다.

본 문서에서는 Tokenbridge의 작동 원리와 신뢰성 및 안전성을 보장하는 방법에 대해 구체적으로 이야기해 보겠습니다.

1. Tokenbridge의 특성 및 모델

이더리움 생태계에서 tokenbridge는 사용자가 두 개의 체인 간에 데이터를 전송할 수 있도록 하며, 빠르고 안전한 연결을 제공합니다. tokenbridge는 메인 체인과 사이드 체인 간의 다리 역할을 하여 자산과 데이터의 이동에 결정적인 역할을 합니다.

1. 체인 및 네트워크의 정의

Native(홈): 로컬 체인(사이드 체인)은 빠르고 저렴한 네트워크로, 모든 validator를 수집하는 bridge 작업이 native 측에서 실행됩니다.

Foregin(메인 체인): 이쪽은 어떤 체인일 수도 있지만, 일반적으로 이더리움의 메인넷을 의미합니다.

ERC20: ERC20-ERC20 bridge 모델에서 ERC667은 ERC20의 구현으로 NativeSide 측에서 생성 및 소멸될 수 있습니다.

2. Bridge Modes

bridge는 여러 네트워크 방식으로 구성될 수 있습니다. 현재 지원되는 방식에는 Native-to-ERC20 모드, ERC20-to-ERC20 모드, ERC20-to-Native 모드 및 AMB(임의 메시지 브리지) 모드가 포함됩니다.

ERC20 to ERC20: 호환 가능한 ERC20 토큰이 foreign network에 잠겨 있으며, 동시에 native 측에서 erc20token(erc677 토큰)이 생성됩니다. native에서 foreign으로 이동할 때 erc677token이 소멸되고, erc20token(foreign)이 잠금 해제됩니다.

ERC20 to Native: 코인이 foreign 측에 잠겨 있으며, 동시에 native 측에서 erc20token이 생성됩니다. xDai는 이 모드를 사용합니다.

AMB Bridge: 두 체인 간에 임의의 데이터를 전송할 수 있습니다. 예를 들어, nft 토큰 및 해당 메타데이터의 전송을 허용합니다.

3. Bridge Components

bridge에는 다음과 같은 몇 가지 구성 요소도 포함됩니다:

tokenbridge: 이벤트를 모니터링하고 자산 전송을 승인하기 위해 거래를 전송합니다;

bridge ui application: 체인 간에 토큰 및 코인을 전송하는 dapp gui 도구;

bridge monitor: 잔액 및 처리되지 않은 이벤트를 확인하는 도구;

bridge deployment playbooks: 선택적 playbook. 원격 배포를 위해 token bridge의 구성을 관리할 수 있습니다;

bridge smart contract: bridge의 validator를 관리하고, 서명을 수집하며 자산의 전달 및 폐기를 확인합니다.

이해를 돕기 위해 사용자 사례를 살펴보겠습니다:

image

이 ERC20-to-ERC20 모드의 token bridge는 사용자가 메인 체인과 사이드 체인 간에 직접 상호 송금하는 방법을 보여줍니다. 구체적인 과정은 다음과 같습니다:

  1. 사용자가 거래소에서 필요한 토큰을 구매합니다;

  2. 사용자가 구매한 토큰을 foreign bridge의 스마트 계약에 잠그고, 동시에 이 이벤트는 token bridge를 통해 전달되며, native bridge 계약에서 erc677 표준의 토큰이 생성되고 사용자 계정으로 전송됩니다;

  3. 사용자가 사이드 체인에서 제공하는 dapp을 사용합니다;

  4. 사용자가 사이드 체인의 자산을 메인 체인으로 이동하고자 할 때, erc677 토큰을 소각하여 token bridge가 foreign bridge 계약에 메시지를 전달하고, 스마트 계약이 토큰을 잠금 해제합니다;

  5. 사용자가 잠금 해제된 토큰을 거래소에서 판매합니다.

token bridge의 기본 정의, 개념 및 프로세스에 대한 설명이 완료되었으니, 이제 token bridge를 어떻게 관리할 것인지에 대해 이야기해 보겠습니다. 여기에는 token bridge의 업그레이드, 유지 관리, 구성 등이 포함됩니다. 여기서 token bridge의 역할에 대해 소개해야 합니다.

2. Token Bridge Roles

tokenbridge의 관리자는 bridge의 안전성, 업그레이드 및 스마트 계약의 배포를 책임집니다. 관리자의 작업은 모두 다중 서명을 통해 안전성을 보장합니다.

관리 그룹 및 역할

관리자는 bridge의 스마트 계약을 관리하고 validator를 관리하는 역할을 맡습니다. 관리자는 다음 세 가지 그룹으로 나뉩니다:

  1. Group A - validator 집합 관리
  • validator 추가 또는 삭제;

  • validator에 대한 최소 서명 수 설정.

  1. Group B - bridge 매개변수 관리
  • 사용자 및 validator에 대한 일일 제한 설정;

  • 각 거래의 최소 및 최대 제한 설정;

  • 가스 가격의 폴백 설정;

  • 종료 임계값 설정.

  1. Group C - 업그레이드 관리
  • 스마트 계약의 업그레이드;

  • 자금 잠금 해제.

Validator Roles

거래 전송을 위해 100% 정상 시간을 제공합니다;

  • native 측에서 UserRequestForSignatures 이벤트를 모니터링하고 foreign 측의 자산 전송을 승인하는 서명을 합니다;

  • native 측에서 CollectedSignatures를 모니터링합니다. 충분한 서명이 수집되면, 수집된 모든 서명을 foreign 측으로 전송합니다;

  • foreign 측에서 UserRequestForAffirmation or Transfer 이벤트를 모니터링하고, foreign에서 native로 자산을 전송할 때 native 측에 허가를 보냅니다.

validator의 주요 역할은 양쪽의 이벤트를 모니터링하고 거래의 전송을 검증하고 전달하는 것입니다.

Ronin 도난 사건에서 공격자는 검증 노드를 제어하여 자산을 도난당했습니다. Ronin 체인에는 9개의 검증 노드가 있으며, 암호 자산의 입출금에는 9명의 검증자 서명 중 5개가 필요합니다. 공격자는 Sky Mavis의 4개의 Ronin 검증자를 제어하는 데 성공했으며, 또 다른 하나는 Axie DAO가 운영하는 제3자 검증자였습니다. Sky Mavis는 Axie Infinity의 개발사입니다.

크로스 체인 브리지의 작동 메커니즘을 이해한 후, Ronin 사건과 유사한 크로스 체인 브리지의 안전 문제를 어떻게 회피할 수 있을지에 대해 사회 공학적 관점에서 다음과 같은 몇 가지 생각을 해보았습니다:

  1. 크로스 체인 브리지 프로젝트는 서명 검증 노드의 안전성에 주의를 기울여야 하며, 민감한 정보가 안전하게 저장되도록 해야 합니다;

  2. 만약 크로스 체인 브리지 프로젝트의 서명이 오프라인에서 이루어진다면, 네트워크는 서명의 안전 정책을 업데이트하고 관련 서비스 모델을 종료해야 하며, 서명 계정 주소가 유출될 위험을 고려해야 합니다;

  3. 서명 검증은 다중 서명 방식으로 수행해야 하며, 다중 서명이 실제로 실행 격리되어야 하고, 서명 내용의 검증 과정은 독립적으로 진행되어야 합니다.

User Roles

여기서는 과도한 설명을 하지 않겠습니다. 주로 메인 체인과 사이드 체인 간에 자산 전송 요청을 시작하는 역할입니다.

3. Component - Monitor

token bridge monitor의 주요 역할은 tokenbridge oracle 과정에서 발생하는 데이터 불일치 및 이상 상황을 식별하는 것입니다. monitor는 tokenbridge 계약에서 데이터를 가져오고 bridge 내의 거래를 분석하여 그들의 건강 상태를 분석하고, Json 데이터 형식으로 표시합니다.

4. 요약

우리는 다른 시각에서 사이드 체인과 메인 체인의 관계를 공유했으며, 두 체인 간의 자산 및 데이터 전송은 token bridge를 통해 보장됩니다:

  • tokenbridge는 권한 역할 모델을 통해 다중 서명을 활용하여 bridge의 역할과 구성을 관리합니다;

  • validators는 양쪽 거래의 확인 및 전송을 책임집니다;

  • monitor는 데이터의 일관성과 이상 상황을 모니터링합니다.

하지만 이것은 또한 하나의 문제를 드러냅니다. tokenbridge의 관리 권한은 admin에게 있으며, admin은 다중 서명을 통해 안전성을 보장하는 방식으로 관리합니다. 이는 약한 중앙 집중식 관리 방식입니다. 따라서 admin 개인 키의 안전성 관리는 전체 tokenbridge의 가장 핵심적인 안전 문제로 부각됩니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축