대화 Orbiter Finance: 크로스 체인 공격 사건이 빈발하는데, 다양한 브릿지 솔루션을 어떻게 평가할 것인가?
출처:ETH 중국어
이번 인터뷰 내용은 크로스 체인 관련 주제를 중심으로 진행됩니다. 크로스 체인 보안은 사실 커뮤니티에서 항상 주목받아 왔으며, 크로스 체인 공격 사건이 빈번하게 발생하고 있어 크로스 체인 보안에 대한 의구심의 목소리도 점점 더 많아지고 있습니다. 물론, 서로 다른 크로스 체인 솔루션이 사용하는 기술이 다르기 때문에 그들의 보안 수준도 차이가 있습니다.
다중 체인 생태계와 이더리움 L2가 점차 성숙해짐에 따라, L1과 L2 간의 거래 수요도 점점 더 커지고 있습니다. 사용자와 개발자에게는 크로스 체인 솔루션의 보안성을 평가하는 방법을 이해하는 것이 매우 중요합니다. 이는 자신의 자산 안전과 관련이 있기 때문입니다.
이번 프로그램에서는 Orbiter Finance 기술 팀의 Eric을 초대하여 크로스 체인과 Orbiter Finance에 대해 소개해 주셨습니다. Orbiter Finance는 이더리움 크로스 롤업에 집중하는 탈중앙화 브리징 솔루션으로, "사전 신뢰 + 분쟁 중재"라는 해결책을 기반으로 하며, 이더리움 네트워크 자체의 보안성을 의존합니다. Orbiter Finance는 곧 유동성 제공 메커니즘과 Maker 계약의 테스트를 출시할 예정입니다.
다루는 주제는 다음과 같습니다:
크로스 체인 공격 사건 및 그 근본적인 보안 제한에 대한 논의
크로스 체인의 기본 원리 및 다양한 크로스 체인 유형
Orbiter Finance의 구현 방식 및 프로젝트 소개
Orbiter Finance의 중재 메커니즘은 어떻게 사용자 자산의 안전을 보호하나요?
Maker 유동성 제공 계약의 소개 및 개방 계획
데이터 서비스 L2 data의 소개
크로스 체인 생태계의 미래 전망
왜 크로스 체인이 근본적인 보안 제한을 가지고 있다고 말할까요?
Franci: 크로스 체인에 대해 이야기하자면, 많은 사람들이 크로스 체인 프로토콜을 겨냥한 해킹 공격이 많고, 도난된 금액이 매우 크다는 나쁜 인상을 가질 수 있습니다. 예를 들어, 작년 ChainSwap과 Poly Network 공격 사건, 그리고 올해의 Multichain, Wormhole, Ronin Network, Nomad 등 여러 사건이 있습니다. 이들 공격 사건에서 손실은 수백만 달러, 심지어 수억 달러에 달합니다.
또한 크로스 체인 거래는 반네트워크 효과를 가지는데, 거래 활동이 적을 때 네트워크는 매우 안전합니다. 왜냐하면 해커 공격의 유인이 공격 비용을 초과하지 않기 때문입니다. 그러나 거래가 많아지면 공격 위험이 커집니다. 즉, 크로스 체인 생태계가 번창할수록 공격을 받을 가능성이 높아집니다. 이는 자산이 많은 사용자와 크로스 체인 애플리케이션에 치명적인 위험이 됩니다. 왜 이런 일이 발생할까요? 크로스 체인 브리지가 왜 그렇게 쉽게 해킹당할까요?
Vitalik은 이더리움 재단의 일곱 번째 Reddit AMA에서 그가 다중 체인 블록체인 생태계에 대해 긍정적인 태도를 유지하고 크로스 체인 애플리케이션에 대해 부정적인 태도를 가지는 주요 이유 중 하나가 브리징이 근본적인 보안 제한을 가지고 있기 때문이라고 언급했습니다. 당신은 이 점에 대해 어떻게 생각하나요?
Eric: 사실 이 예시에서 많은 문제는 계약 내의 논리 코드와 검증 증명상의 결함에서 발생합니다. 하지만 이러한 문제들은 기술의 발전과 성장에 따라 해결될 것이라고 생각합니다.
그러나 크로스 체인 프로토콜에는 가장 근본적인 보안 제한이 존재합니다. 저는 그것이 체인의 보안성이라고 생각합니다. 크로스 체인 프로토콜의 보안 제한은 수조 이론에 부합한다고 생각합니다. 즉, 크로스 체인은 여러 체인과 관련이 있습니다. 이 크로스 체인 프로토콜의 보안성의 한계는 특정 체인의 보안성의 하한선에 의해 결정됩니다. 만약 크로스 체인 프로토콜에 포함된 특정 체인의 보안성이 좋지 않다면, 쉽게 공격을 받을 수 있습니다. 그러면 이 크로스 체인 프로토콜의 보안성은 보장받을 수 없고, 사용자는 크로스 체인 과정에서 자산을 쉽게 잃게 됩니다.
예를 들어, 두 개의 체인이 있다고 가정해 봅시다. 이 두 체인은 이종 체인입니다. 그 중 하나의 체인의 보안성이 낮다면, A 체인에서 B 체인으로 자금을 이동하거나 크로스 체인 프로토콜을 실행할 때, 나중에 B 체인에서 어떤 보안 문제로 인해 롤백이 필요할 경우 A 체인에서는 처리할 수 없습니다. 이러한 경우, B 체인의 보안성의 병목 현상 때문에 전체 크로스 체인 프로토콜의 보안성이 보장되지 않을 수 있습니다.
Franci: 당신이 말한 주제를 이어서, Vitalik은 이 주제를 바탕으로 후에 한 편의 글을 썼습니다. 그는 공유 보안성이라는 개념을 제안했습니다. 제가 이 글을 읽고 대략적으로 이해한 것은, 공유 보안 영역은 내가 A 체인에서 B 체인으로 넘어갈 때, 해당 체인의 자산을 사용할 때, 출처 체인의 보안성을 공유할 수 있는지를 의미합니다. 이 구분 방식에 따르면, cross-L1s와 cross-L2s는 두 가지 다른 상황입니다. 크로스 L2는 크로스 L1보다 훨씬 안전합니다. 왜냐하면 그들의 보안성은 롤업처럼 이더리움이 제공하는 보안에 의존하기 때문입니다. Orbiter는 사실 크로스 L2 솔루션에 집중하고 있으며, Vitalik이 말한 공유 보안성에 대해 Eric은 어떻게 이해하고 있나요? 크로스 L2가 크로스 L1보다 안전하다고 생각하면서도, 명백한 보안 취약점이 있을까요?
Eric: 저는 크로스 L2가 L1의 보안 메커니즘을 공유하고 L1 네트워크의 보안성을 상속받기 때문에 명백한 보안 취약점은 없다고 생각합니다. 그러나 분명하고 명확한 단점이 있습니다. 롤업은 출금 시간 문제를 가지고 있습니다. 우리가 일반적으로 인출 시간이라고 부르는 것입니다. 이는 롤업의 기술적 특성에 의해 결정되며, 유효성 증명은 약 4시간이 필요하고, 사기 증명은 7일이 필요합니다. 이렇게 되면 자산의 유동성이 크게 제한되고 롤업의 발전이 제한됩니다.
크로스 체인의 기본 논리
Franci: 크로스 체인의 기본 논리는 무엇인가요? 일반적으로 사용자는 두 개의 다른 체인 간에 크로스 체인 활동을 어떻게 실현하나요?
Eric: 이더리움과 블록체인 생태계를 이해하는 사람들은 현재 블록체인 시스템에 많은 이종 체인이 존재하여 서로 연결될 수 없다는 것을 알 것입니다. 일부 체인 간에는 가치와 정보의 직접적인 교환이 불가능합니다. 이는 블록체인 기능 발전에 큰 제약을 가합니다.
우리가 일반적으로 말하는 크로스 체인은 사실 이러한 서로 다른 블록체인 네트워크 간의 정보 교환을 의미합니다. 그리고 이러한 교환된 정보를 활용하여 서로 다른 블록체인 간의 상호 연결과 가치 이전을 실현합니다.
사용자가 크로스 체인을 사용할 경우, 그 기본 논리는 다음과 같습니다: 현재 A와 B 두 개의 체인이 있습니다. A 체인에서 출발하여 크로스 체인 정보를 발신하고, 이 정보는 신뢰할 수 있는 안전한 방법을 통해 B 체인으로 전송됩니다. 이 과정에서 이 정보의 유효성을 검증해야 할 수도 있습니다. 즉, 이 크로스 체인 정보가 진짜임을 보장해야 하며, 이 메시지가 B 체인에 도착할 때 B 체인에서도 이 메시지의 유효성을 확인할 수 있습니다. 그런 다음 B 체인에서는 A 체인에서의 이 메시지에 따라 특정 처리를 수행합니다. 처리가 완료되면 A 체인에서 처리 결과를 얻을 수 있습니다. 이것이 사실 크로스 체인의 기본 논리입니다.
다양한 크로스 체인 유형 소개
Franci: 당신이 방금 언급한 몇 가지 점을 주목했습니다. 사용자가 크로스 체인을 수행할 때, 목표 체인은 출처 체인의 거래 유효성을 검증해야 합니다. 검증 기술 선택에서 다양한 방식이 있을 수 있습니다. 몇 가지 주요 방식을 나열해 주실 수 있나요? 이러한 방식을 통해 크로스 체인의 다양한 솔루션의 기본 구조를 이해할 수 있을까요?
메시지 전달자의 유형
Eric: 크로스 체인의 기본 논리에서 우리는 비교적 중요한 역할이 있다는 것을 발견할 수 있습니다. 이 역할은 발신 체인에서의 거래 정보를 목표 네트워크로 전송하는 것입니다. 이 역할은 신뢰할 수 있어야 합니다. 왜냐하면 올바른 거래를 전송해야 하기 때문입니다. 이 역할은 메시지 전달자에 해당합니다. 기본적으로 크로스 체인 프로토콜 내에서 이 역할은 오프체인 역할입니다. 그리고 이 리레이터는 다양한 구현 방식을 통해 단일 노드일 수도 있고, 다중 노드일 수도 있으며, 체인링크와 같은 제3자 기관일 수도 있습니다.
가장 기본적인 것은 완전히 신뢰할 수 있는 리레이터 모델입니다. 우리는 일반적인 메시지 전달에서 크로스 체인 프로토콜 내에서 오프체인에서 리레이터 역할이 있습니다. 이 역할은 다양한 방식으로 선택됩니다. 어떤 것은 투표를 통해, 어떤 것은 자금의 스테이킹을 통해 선택됩니다. 그리고 이 역할은 하나일 수도 있고 여러 개일 수도 있습니다. 그런 다음 이 역할은 오프체인에서 발신 체인上的 크로스 체인 정보를 검증하고 패키징합니다. 이 검증 과정은 다중 서명일 수도 있고 분산 서명 방식일 수도 있으며, 보안을 보장합니다. 그러나 이 방식은 대다수 서명자의 구성원이 정직해야 한다는 문제가 있습니다.
두 번째 방법은 Layer Zero에 대해 강조할 수 있습니다. 이는 신뢰할 수 있는 중계자 모델을 기반으로 추가된 역할로, 오라클 역할을 추가합니다. 오라클은 발신 체인의 블록 헤더 정보를 제출하는 역할을 하며, 리레이터는 거래 검증 증명을 전송하는 역할을 합니다. 그런 다음 오프체인에서 이 두 가지를 매칭하고 알고리즘을 통해 증명하여 블록 헤더 검증을 수행합니다.
마지막 방법은 낙관적 검증 모델입니다. 이 모델에도 오프체인 리레이터 역할이 있으며, 감시자와 업데이트 역할이 있습니다. 업데이트 역할은 자금을 스테이킹해야 하며, 스테이킹을 통해 발신 체인上的 크로스 체인 정보 패키징 권한을 가집니다. 그런 다음 리레이터는 단순히 업데이트의 서명 정보를 목표 체인에 전송합니다. 여기에는 감시자 역할도 있으며, 그는 서명 거래 정보를 책임지는 업데이트를 감독합니다. 만약 업데이트가 악의적일 경우, 감시자는 즉시 반응하여 다른 증명 방식을 사용하여 업데이트의 악행을 방지할 수 있습니다. 이 방식은 보안성 측면에서 가장 높습니다. 왜냐하면 정직한 업데이트가 하나만 존재하면 된다고 가정하기 때문입니다. 그러나 사기 증명 방식을 사용하기 때문에 시간 비용이 다소 높을 수 있으며, 앞의 두 가지와 비교할 때 그렇습니다.
메시지 유효성 검증 방식
Eric: 그런 다음 이러한 메시지가 목표 네트워크에 도착했을 때, 그 유효성은 어떻게 검증되며, 유효성 검증 방식도 다릅니다.
첫 번째 방법은 목표 네트워크의 계약 검증입니다. 이 계약 검증은 두 가지 측면으로 나눌 수 있습니다. 하나는 합의 검증이고, 다른 하나는 유효성 검증입니다. 유효성 검증은 이해하기 쉽습니다. 현재의 롤업은 모두 이러한 방식으로 검증합니다. 이는 사기 증명과 유효성 증명을 통해 L1의 롤업 계약에서 L2의 상태를 검증합니다. 합의 검증은 목표 체인에서 출처 체인의 합의를 검증하는 기능을 수행해야 하며, 이 검증 기능은 출처 체인이 사용하는 합의 메커니즘에 따라 달라질 수 있습니다. 예를 들어, Pow 또는 PoS 프로토콜과 같은 방식입니다. 두 번째 방법은 오프체인에서 작동하는 외부 검증입니다. 우리는 이러한 외부 검증자가 특정 방식으로 신뢰할 수 있는 검증자를 선출하여, 이 신뢰할 수 있는 검증자가 다중 서명 또는 합의 알고리즘을 통해 통일된 방식으로 검증한 후, 이를 목표 네트워크에 제출합니다. 세 번째 방법은 앞서 언급한 낙관적 검증 모델입니다. 악의적일 경우에만 감시자가 목표 네트워크에 사기 증명을 제출합니다. 따라서 이는 세 가지 가능한 다른 검증 방식입니다.
Orbiter는 현재의 사전 신뢰와 분쟁 중재를 결합한 해결책을 사용하여 우리의 보안을 완전히 이더리움 네트워크 자체의 보안성에 의존합니다. 그리고 우리는 이 보안성을 보장하는 전제 하에 크로스 L2 개발에 집중합니다.
Orbiter Finance의 구현 방식
Orbiter의 구조 소개
Eric: 역할 측면에서 두 가지로 나눌 수 있습니다. 하나는 발신자 역할이고, 다른 하나는 메이커 역할입니다. 즉, 크로스 체인 서비스를 사용하는 역할과 크로스를 돕기 위해 유동 자금을 제공하는 역할입니다.
먼저 사용자가 Orbiter Finance를 통해 크로스 체인을 사용할 때의 프로세스를 간단히 설명하겠습니다. 예를 들어 사용자가 zkSync 네트워크에서 자신의 이더리움 자금을 이더리움 네트워크로 이동하고 싶다면, 그는 Orbiter 웹사이트의 프론트엔드에서 작업을 수행하고, 자신의 EOA 주소에서 우리가 제공하는 서비스의 메이커 주소로 자금을 전송합니다.
그런 다음 메이커는 자금을 받은 후 목표 네트워크에서 계산된 토큰을 사용자 주소로 전송합니다. 여기에는 EOA 간의 전송 논리가 포함됩니다. 이 과정에서 메이커를 위해 Orbiter는 클라이언트를 제공합니다. 메이커는 또한 클라이언트를 직접 배포하여 자동화된 백엔드, 즉 자금 회수 프로세스를 구현할 수 있습니다. 이 클라이언트는 사용자의 크로스 체인 금액, 통화, 네트워크 상태 등의 데이터를 모니터링합니다. 이는 정상적인 프로세스이지만, 악의적인 행동이 발생할 경우에는 다른 논리가 있습니다.
Orbiter는 사전 신뢰 모델을 채택하여, 우리는 이러한 메이커가 자산을 올바르게 처리하고 사용자에게 자금을 올바르게 반환할 것이라고 가정합니다. 그러나 전체 과정에서 메이커는 악의적인 행동을 할 가능성이 있으며, 사용자의 자산을 수취한 후 이 자산을 가로챌 수 있습니다.
이미지 출처: Orbiter Finance
우리는 악의적인 행동을 방지하기 위해 탈중앙화된 메커니즘을 채택했습니다. 이는 주로 세 가지 계약, MDC, EBC 및 SPV를 통해 이 기능을 구현합니다.
그 중 MDC 계약은 메이커 등록 계약입니다. 이 계약은 크로스 체인 규칙 서비스를 생성하고, 메이커 보증금을 저장하며, 후속적으로 발신자와 메이커를 위한 중재 처리 규칙을 제공합니다.
EBC 계약은 이벤트 바인딩 계약입니다. 현재 우리는 주로 자산 이동 측면에서만 사용하고 있으며, 이 EBC 계약은 발신 체인에서 메이커에게 제공한 거래를 통해 출처 체인 거래를 기반으로 목표 체인 거래를 추론합니다.
SPV 계약은 간단한 거래 검증 계약으로, 사용자가 제공한 특정 체인上的 거래가 실제로 이 체인에서 존재하는지를 증명하는 데 사용됩니다.
이 세 가지 계약을 통해 우리는 메이커가 악의적인 행동을 할 경우 사용자가 자산 손실을 겪지 않도록 보장하는 메커니즘을 운영할 수 있습니다. 우리는 전체 청구 중재 프로세스를 통해 최종적으로 자산 보상을 받을 수 있으며, 심지어 초과 보상도 받을 수 있습니다.
에피소드
Franci: Orbiter Finance가 설립된 이후에 흥미로운 이야기가 있었나요?
Eric: 흥미로운 이야기는 작년 연말에 Vitalik이 Gitcoin에서 크로스 롤업 바운티를 발표했을 때입니다. 그때 이게 꽤 흥미롭다고 생각했고, 몇 가지 아이디어가 떠올랐습니다. 그래서 저와 제 동료 두 사람이 20일 넘게 피자 계약을 만들었습니다. 그때 참가했고, 결국 승리하여 Vitalik의 16 ETH 보상을 받았습니다. 이는 우리에게 큰 격려가 되었습니다.