
탈중앙화된 척하는 크로스체인 프로토콜을 구축하는 방법
글: 강수열, Fox Tech 및 Way Network 창립자, 단양투자 이사장
애덤 백(비트코인 코어 개발팀 리더이자 BlockStream CEO)의 말 중 인상 깊었던 구절이 있다. "위대한 설계는 매우 간단해 보이지만, 그 설계 과정은 극도로 복잡하다." 그러나 단순해 보이는 모든 제품 설계가 위대하다고 할 수는 없으며, 예를 들어 LayerZero가 그러하다.
크로스체인 프로토콜은 문제가 발생하기 전까지는 모두 안전해 보이고 별 문제가 없는 것처럼 느껴진다. 하지만 한 번 사고가 나면 대형 사건으로 이어진다. 지난 2년간 각 블록체인에서 발생한 보안 사고로 인한 손실 금액을 살펴보면, 크로스체인 프로토콜 관련 사고가 가장 큰 손실을 기록하고 있다.
크로스체인 프로토콜의 보안 문제 해결은 이더리움 확장성 방안보다도 더 중요하고 시급하다. 체인 간 상호운용성은 Web3가 하나의 네트워크로 연결되는 데 있어 본질적인 요구사항이다. 이러한 프로토콜은 종종 거액의 펀딩을 유치하며 TVL과 트랜잭션 건수도 필수적 수요에 의해 지속적으로 증가한다. 그러나 일반 대중의 인식 수준이 낮아 이러한 크로스체인 프로토콜의 보안 등급을 제대로 식별하지 못하고 있다.
먼저 하나의 제품 설계 아키텍처를 살펴보자: 체인 A와 체인 B 간의 통신은 Relayer가 수행하고, Oracle이 Relayer를 감시한다.
이 아키텍처의 장점은 전통적으로 체인 A와 체인 B 사이의 통신을 제3의 체인(일반적으로 dApp이 배포되지 않는 체인)이 합의 알고리즘을 통해 수십 개의 노드로 검증하는 방식을 생략했다는 점이다. 따라서 사용자에게 "빠른 크로스체인" 경험을 제공할 수 있다. 또한 가벼운 아키텍처와 적은 코드량, 그리고 기존에 존재하는 Chainlink 같은 Oracle 활용이 가능하므로 이 유형의 프로젝트는 출시가 쉬우나 모방 또한 용이하며, 기술적 진입 장벽은 사실상 제로라고 볼 수 있다.

그림1: 가짜 탈중앙화 크로스체인 프로토콜 기본판
위 아키텍처는 최소한 두 가지 문제점을 가지고 있다:
1. LayerZero는 수십 개의 노드 검증을 단일 Oracle 검증으로 줄였기 때문에 보안 수준이 자연스럽게 크게 낮아진다.
2. 단일 검증으로 단순화한 이후에는 Relayer와 Oracle이 독립적이라고 가정해야 하는데, 이러한 신뢰 가정은 영원히 성립할 수 없으며, 크립토 네이티브(Crypto Native) 관점에서도 부족하며, 결국 두 주체가 공모하여 악행을 저지를 가능성을 근본적으로 차단할 수 없다.
이것이 바로 LayerZero가 채택한 기본 모델이다.독립된 보안 유형의 '초경량' 크로스체인 솔루션으로서, LayerZero는 메시지 전달만 담당할 뿐 애플리케이션의 보안에는 책임을 지지 않으며, 책임을 질 능력도 없다.
그렇다면 Relayer를 오픈하여 누구나 중계기를 운영할 수 있게 한다면 위 문제들을 해결할 수 있을까?
그림 2는 그림 1의 구성 요소 수를 늘린 것이다. 먼저 Decentralized란 실행 주체의 수가 많아지는 것을 의미하지 않는다. 누구나 접속할 수 있다는 것은 Permissionless를 의미한다. 수요 측면에서는 항상 Permissionless가 원칙이며, 공급 측면도 Permissionless로 만드는 것은 획기적인 변화라기보다는 시장 측면의 변화일 뿐이며, 제품 자체의 보안성과는 큰 관련이 없다.LayerZero의 Relayer는 정보를 전달하는 매개체에 불과하며, 본질적으로 Oracle과 마찬가지로 Trusted Third Party(신뢰할 수 있는 제3자)에 해당한다. 신뢰 주체를 1명에서 30명으로 늘려 크로스체인 보안성을 높이려는 시도는 헛된 노력일 뿐 아니라, 제품 특성을 바꾸지도 못할 뿐만 아니라 새로운 문제를 동반하게 된다.

그림2: 가짜 탈중앙화 크로스체인 프로토콜 고급판
만약 어떤 크로스체인 토큰 프로젝트가 설정을 수정할 수 있는 LayerZero 노드를 허용한다면, 공격자가 이를 자신의 'LayerZero' 노드로 교체하여 임의의 메시지를 위조할 수 있다. 결과적으로 LayerZero를 사용하는 프로젝트들이 중대한 보안 문제에 직면하게 되며, 더욱 복잡한 시나리오에서는 이러한 문제가 더욱 심각해질 수 있다. 거대한 시스템 내에서 단 하나의 구성 요소라도 교체되면 연쇄 반응이 일어날 수 있다.
LayerZero 자체는 이러한 문제를 해결할 능력이 없다. 만약 실제로 보안 사고가 발생하면, LayerZero는 당연히 책임을 외부 애플리케이션에 전가할 것이다. 최종 사용자는 LayerZero를 사용하는 각 프로젝트의 보안성을 스스로 신중하게 판단해야 하며, 따라서 '사용자 중심'의 프로젝트들은 이 생태계 내 악성 애플리케이션에 오염되는 것을 방지하기 위해 LayerZero 도입을 신중하게 고려하게 될 것이다. 이렇게 되면 생태계 구축의 난이도가 작지 않게 된다.
만약 Layer0이 Layer1, Layer2처럼 보안성을 공유할 수 없다면, 이 Layer0은 인프라스트럭처(Infrastructure)라고 부를 수 없다. 인프라가 '기초'라는 이유는 보안성을 공유할 수 있기 때문이다. 어떤 프로젝트가 자신을 인프라스트럭처라고 주장한다면, 다른 인프라와 마찬가지로 자사 생태계 내 모든 프로젝트에 일관된 보안성을 제공해야 하며, 즉 모든 생태계 프로젝트가 해당 인프라의 보안성을 공유해야 한다.
따라서 정확히 말하자면, LayerZero는 인프라스트럭처가 아닌 미들웨어(Middleware)에 해당한다. 이 미들웨어 SDK/API를 사용하는 애플리케이션 개발자들은 실제로 자신의 보안 전략을 자유롭게 정의할 수 있다.
L2BEAT 팀은 2023년 1월 5일 "Circumventing Layer Zero: Why Isolated Security is No Security"라는 글을 발표하며, 어플리케이션 소유자(또는 비밀키를 소유한 자)가 악의를 갖지 않을 것이라는 가정은 잘못되었다고 지적했다. 악의적인 사용자 Bob이 LayerZero 설정에 접근 권한을 얻으면, 기본 구성 요소인 Oracle과 Relayer를 자신이 통제하는 구성 요소로 변경할 수 있으며, 이를 통해 이더리움 상에서 LayerZero 메커니즘을 사용하는 스마트 계약을 설득해, 선량한 사용자 Alice의 이더리움 상 토큰을 모두 인출할 수 있다. 원문 링크
Nomad 팀은 2023년 1월 31일 발표한 글에서, LayerZero Relayer에는 두 가지 주요 취약점이 있다고 지적했다. 현재 두 당사자 다중 서명 상태이기 때문에 이러한 취약점은 내부 인원이나 신원이 알려진 팀 구성원만이 이용할 수 있다. 첫 번째 취약점은 LayerZero 다중 서명을 통해 사기성 메시지를 전송할 수 있으며, 두 번째 취약점은 Oracle과 다중 서명이 메시지 또는 트랜잭션에 서명한 후 메시지를 수정할 수 있어, 모든 사용자의 자금이 도난될 수 있다고 설명했다. 원문 링크
화려한 표면에 현혹될 때는 본질로 돌아가 보는 것이 좋다.
2008년 10월 31일, 비트코인 백서가 발표되었다. 2009년 1월 3일, BTC 제네시스 블록이 생성되었다. 백서 『비트코인: 피어 투 피어 전자 화폐 시스템』의 초록은 다음과 같다:
Abstract. A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.
초록의 한국어 번역:
완전한 피어 투 피어 전자 화폐 시스템은 온라인 결제를 금융기관을 거치지 않고 한 당사자로부터 다른 당사자에게 직접 송금할 수 있게 해준다. 디지털 서명은 부분적인 해결책을 제공하지만, 여전히 신뢰할 수 있는 제3자가 중복 지불을 방지해야 한다면 전자 화폐의 주요 장점이 사라진다. 우리는 피어 투 피어 네트워크를 이용해 중복 지불 문제를 해결하는 방법을 제안한다. 이 네트워크는 트랜잭션을 계속 확장되는 해시 기반 작업증명 체인에 해싱함으로써 타임스탬프를 찍어, 작업증명을 다시 수행하지 않는 한 변경할 수 없는 기록을 형성한다. 가장 긴 체인은 겪은 사건들의 순서를 입증할 뿐 아니라, 가장 큰 CPU 파워 풀에서 생성되었음을 입증한다. 네트워크를 공격하려는 의도를 가진 노드들이 다수의 CPU 파워를 장악하지 않는 한, 정직한 노드들이 가장 긴 체인을 생성하며 공격자를 능가할 것이다. 이 네트워크 자체는 최소한의 구조만 필요하다. 메시지는 최선의 노력 기반으로 방송되며, 노드는 언제든지 네트워크를 떠났다가 재접속할 수 있고, 그 사이에 발생한 일을 증명하기 위해 가장 긴 작업증명 체인을 받아들인다.
사람들은 이 후세에 커다란 영향을 끼친 논문, 특히 이 초록 문단에서 나온 '나카모토 컨센서스(Nakamoto Consensus)'라는 개념을 추출하였다. 그 핵심은 A Trusted Third Party(신뢰할 수 있는 제3자)의 등장을 배제하고, 신뢰 없이(Ttrustless) 운용되며, 탈중앙화(Decentralized)된 시스템을 실현하는 것이다. 여기서 '중심(center)'이란 바로 A Trusted Third Party를 의미한다. 크로스체인 통신 프로토콜은 본질적으로 비트코인과 동일하게, 한쪽 당사자가 체인 A에서 직접 체인 B의 다른 당사자에게 전송하는 피어 투 피어 시스템이며, 어떠한 신뢰 당사자(trusted party)도 거치지 않아야 한다.
탈중앙화(Decentralized)와 신뢰 없음(Trustless) 특성을 갖춘 '나카모토 컨센서스'는 이후 모든 인프라스트럭처 개발자들이 공통적으로 추구하는 목표가 되었다. 즉, '나카모토 컨센서스'를 충족하지 못하는 크로스체인 프로토콜은 가짜 탈중앙화 크로스체인 프로토콜이며, Decentralized, Trustless와 같은 고등한 표현을 자사 제품 특성 설명에 사용해서는 안 된다. 반면 LayerZero는 자신을 Omnichain communication, interoperability, decentralized infrastructure라고 소개하며, "LayerZero는 경량 메시지 전달을 위해 설계된 옴니체인 상호운용성 프로토콜입니다. LayerZero는 구성 가능한 신뢰 없음(trustlessness)을 통해 진위 확인 및 메시지 전달 보장을 제공합니다."
사실상 LayerZero는 Relayer와 Oracle이 공모하여 악행을 저을 수 없다고 가정해야 하며, 동시에 사용자들은 LayerZero를 기반으로 애플리케이션을 구축하는 개발자를 신뢰할 수 있는 제3자로 믿어야 한다. 또한 '다중 서명(multi-sig)'에 참여하는 신뢰 주체들은 미리 정해진 특권층에 의해 결정된다. 게다가 전체 크로스체인 과정에서 어떠한 부정 증명(fraud proof)이나 유효성 증명(validity proof)도 생성되지 않으며, 이런 증명을 체인에 올려 체인상에서 검증하는 것도 없다. 따라서 LayerZero는 근본적으로 '나카모토 컨센서스'를 충족하지 못하며, 전혀 Decentralized하거나 Trustless하지 않다.
L2BEAT 팀과 Nomad 팀이 문제 발견자의 입장에서 선의의 글을 발표한 후, LayerZero의 반응은 '부정'에서 또 '부정'이었다. 비트코인 이전에도 많은 전자화폐가 있었지만 모두 실패했다. 그 이유는 탈중앙화, 공격 저항성, 내재적 가치 창출이라는 목표를 달성하지 못했기 때문이다. 크로스체인 프로토콜 역시 마찬가지로, 펀딩이 아무리 많고 트래픽이 크며 '혈통이 순수'하더라도, 제품이 실질적인 탈중앙화 보안(Real Decentralized Security)을 달성하지 못한다면, 공격 저항성이 부족하여 결국 종말을 맞이할 가능성이 크다.
예전에 LayerZero와 입장이 거의 일치해야 할 친구가 나에게 이런 질문을 한 적이 있다. "LayerZero가 Way Network처럼 제로지식 증명을 사용해 자사의 크로스체인 프로토콜을 업그레이드하고자 한다면, 그 난이도는 얼마나 높으며 어떤 장애물이 있을까?" 이는 흥미로운 질문이지만, 핵심은 그들이 자신들에게 문제가 없다고 생각한다는 점이다.
그러면 어떻게 진정한 탈중앙화 크로스체인 프로토콜을 구축할 수 있을까? 필자의 이전 글 『왜 제로지식 증명을 사용해 크로스체인 프로토콜을 개발해야 하는가?』를 참고하시기 바란다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














