어떻게 "가짜" 탈중앙화 크로스 체인 프로토콜을 구축할 수 있을까?
저자: 강수跃, Fox Tech 및 Way Network 창립자, 단양 투자 회장
Adam Back(비트코인 핵심 개발팀 리더, BlockStream CEO)의 말이 인상 깊었습니다. "위대한 디자인은 모두 매우 간단해 보이지만, 그것을 디자인하는 과정은 극히 복잡합니다." 그러나 모든 간단해 보이는 제품 디자인이 위대하다고 할 수는 없습니다. 예를 들어 LayerZero와 같은 경우입니다.
크로스 체인 프로토콜은 문제가 발생하기 전에는 모두 안전하다고 생각했지만, 문제가 발생하면 모두가 놀라게 됩니다. 지난 2년간 각 체인에서 발생한 보안 사건으로 인한 손실 금액을 보면, 크로스 체인 프로토콜에서 발생한 보안 사건의 손실이 가장 큽니다. 크로스 체인 프로토콜의 보안 문제를 해결하는 것의 중요성과 긴급성은 이더리움 확장 솔루션보다도 더 큽니다. 크로스 체인 프로토콜 간의 상호 운용성은 Web3가 연결되는 내재적 요구입니다. 이러한 프로토콜은 종종 막대한 자금을 조달하며, TVL과 거래 건수도 필수 수요에 의해 증가하고 있습니다. 그러나 대중의 인식도가 낮아 이러한 크로스 체인 프로토콜의 보안 수준을 인식하지 못합니다.
먼저 제품 디자인 아키텍처를 살펴보겠습니다. Chain A와 Chain B 간의 통신 과정은 Relayer가 수행하며, Oracle이 Relayer를 감독합니다. 먼저 이 아키텍처의 장점은 전통적인 Chain A와 Chain B 간의 통신이 제3의 체인(일반적으로 이 체인에 dApp이 배포되지 않음)에서 합의 알고리즘과 수십 개의 노드 검증을 통해 이루어지는 것을 면제해 주기 때문에 최종 사용자에게 "빠른 크로스 체인" 사용자 경험을 제공합니다. 아키텍처가 가벼워 코드 양이 적고, Oracle은 이미 존재하는 Chainlink가 있으므로 이러한 유형의 프로젝트는 쉽게 출시될 수 있지만, 모방되기 쉽고 기술 장벽이 사실상 제로에 가깝습니다.
그림 1: 가짜 탈중앙화 크로스 체인 프로토콜 기본 버전
위 아키텍처에는 최소한 2가지 문제가 존재합니다:
- LayerZero는 수십 개의 노드 검증을 단일 Oracle 검증으로 축소하여 보안 계수가 자연스럽게 크게 감소합니다.
- 단일 검증으로 단순화되면 Relayer와 Oracle이 독립적이라는 가정을 해야 하며, 이러한 신뢰 가정은 영원히 성립할 수 없고, 충분히 Crypto Native하지 않아서 두자가 공모하여 악행을 저지를 수 없음을 근본적으로 보장할 수 없습니다.
이것이 LayerZero가 채택한 기본 모델입니다. 독립 보안 유형의 "초경량" 크로스 체인 솔루션으로서, 메시지 전송만을 담당하며 애플리케이션의 보안에 대한 책임이 없고, 책임을 질 능력도 없습니다.
그렇다면 Relayer를 개방하여 모두가 중계기를 운영할 수 있게 하면 위 문제를 해결할 수 있을까요? 그림 2는 그림 1의 수를 늘린 것입니다. 우선 탈중앙화는 운영자 수가 많아지는 것을 의미하지 않으며, 누구나 접속할 수 있는 것은 Permissionless입니다. 수요 측은 항상 Permissionless였으며, 공급 측도 Permissionless로 만드는 것은 혁신적인 변화가 아니며, 이는 시장 측의 변화일 뿐 제품 자체의 보안성과는 큰 관계가 없습니다. LayerZero의 Relayer는 정보를 전달하는 중개자일 뿐이며 본질적으로 Oracle과 같고, 모두 Trusted Third Party입니다. 신뢰 주체를 1개에서 30개로 늘려 크로스 체인 보안을 높이려는 시도는 헛된 노력일 뿐이며, 제품 특성을 변화시키지 않을 뿐만 아니라 새로운 문제가 발생할 수 있습니다.
그림 2: 가짜 탈중앙화 크로스 체인 프로토콜 고급 버전
만약 크로스 체인 토큰 프로젝트가 구성 가능한 LayerZero 노드를 수정할 수 있도록 허용한다면, 공격자가 자신의 "LayerZero" 노드로 교체할 가능성이 있으며, 이를 통해 임의의 메시지를 위조할 수 있습니다. 결과적으로 LayerZero를 사용하는 프로젝트는 여전히 큰 보안 문제에 직면하게 되며, 이러한 문제는 더 복잡한 상황에서 더욱 심각해질 것입니다. 거대한 시스템에서 단 하나의环节이 교체되면 연쇄 반응을 일으킬 수 있습니다. LayerZero 자체는 이 문제를 해결할 수 있는 가능성이 없으며, 실제로 보안 사고가 발생하면 LayerZero는 자연스럽게 외부 애플리케이션에 책임을 전가할 것입니다. 최종 사용자는 LayerZero를 사용하는 각 프로젝트의 보안을 신중하게 판단해야 하므로, "사용자 지향" 프로젝트는 악의적인 애플리케이션으로부터 오염되지 않기 위해 LayerZero에 신중하게 접속하게 됩니다. 이로 인해 생태계 구축의 난이도가 높아집니다.
Layer0가 Layer1, Layer2와 같이 보안성을 공유할 수 없다면, 이 Layer0는 Infrastructure라고 할 수 없습니다. 왜냐하면 인프라가 "기초"라고 불리는 이유는 보안성을 공유할 수 있기 때문입니다. 만약 어떤 프로젝트가 스스로를 Infrastructure라고 주장한다면, 다른 인프라와 마찬가지로 자신의 모든 생태계 프로젝트에 일관된 보안성을 제공해야 하며, 즉 모든 생태계 프로젝트가 해당 인프라의 보안성을 공유해야 합니다. 따라서 정확히 말하면, LayerZero는 인프라 Infrastructure가 아니라 중간자 Middleware입니다. 이 Middleware SDK/API에 접속하는 애플리케이션 개발자는 실제로 자신의 보안 정책을 자유롭게 정의할 수 있습니다.
L2BEAT 팀은 2023년 1월 5일 Layer Zero 우회: 고립된 보안은 보안이 아니다라는 글을 발표하며, 애플리케이션 소유자(또는 개인 키를 가진 사람)가 악행을 저지르지 않을 것이라는 가정이 잘못되었다고 지적했습니다. 나쁜 사람 Bob은 LayerZero 구성에 대한 접근 권한을 얻었습니다. 나쁜 사람 Bob은 오라클과 중계기를 기본 구성 요소에서 그가 제어하는 구성 요소로 변경하고, 이더리움에서 LayerZero 메커니즘을 사용하는 스마트 계약을 설득하여 선량한 사람 Alice의 이더리움 토큰을 모두 인출하게 할 수 있습니다. 원문 링크: Nomad 팀은 2023년 1월 31일 발표에서 LayerZero 중계기에 두 가지 주요 취약점이 존재하며, 현재 양측 다중 서명 상태에 있기 때문에 이러한 취약점은 내부 직원이나 알려진 신원의 팀원만이 이용할 수 있다고 지적했습니다. 첫 번째 취약점은 LayerZero 다중 서명에서 사기 메시지를 전송할 수 있게 해주며, 두 번째 취약점은 오라클과 다중 서명이 메시지나 거래를 서명한 후 메시지를 수정할 수 있게 해주며, 이는 모든 사용자 자금이 도난당할 수 있습니다.
화려한 표면에 현혹될 때, 본질로 되돌아가 보십시오.
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 파워의 대다수가 네트워크를 공격하기 위해 협력하지 않는 노드에 의해 제어되는 한, 이들은 가장 긴 체인을 생성하고 공격자를 초월할 것입니다. 네트워크 자체는 최소한의 구조를 요구합니다. 메시지는 최선을 다해 방송되며, 노드는 언제든지 네트워크를 떠나고 다시 참여할 수 있으며, 떠나 있는 동안 발생한 사건의 증거로 가장 긴 작업 증명 체인을 수용합니다.
사람들은 이 후세에 중대한 영향을 미친 논문, 특히 이 요약에서 "사토시 합의"라는 널리 알려진 개념을 추출했습니다. 그 핵심 특징은 A Trusted Third Party의 출현을 방지하고, 신뢰를 없애는 Trustless, 탈중앙화 Decentralized를 실현하는 것입니다. 크로스 체인 통신 프로토콜은 본질적으로 비트코인과 같으며, 한 쪽에서 Chain A에서 Chain B의 다른 쪽으로 직접 전송되며, 어떤 신뢰할 수 있는 당사자도 필요하지 않습니다.
탈중앙화 및 신뢰가 없는 특성을 갖춘 "사토시 합의"는 이후 모든 인프라 개발자들이 공동으로 추구하는 목표가 되었습니다. "사토시 합의"를 충족하지 못하는 크로스 체인 프로토콜은 가짜 탈중앙화 크로스 체인 프로토콜이며, 자신의 제품 특성을 설명하기 위해 Decentralized, Trustless와 같은 고급 용어를 사용할 수 없습니다. LayerZero는 자신을 Omnichain communication, interoperability, decentralized infrastructure라고 소개합니다. LayerZero는 체인 간 경량 메시지 전송을 위해 설계된 옴니체인 상호 운용성 프로토콜입니다. LayerZero는 구성 가능한 신뢰성을 갖춘 진정한 메시지 전달을 제공합니다.
사실, LayerZero는 Relayer와 Oracle이라는 두 역할이 공모하여 악행을 저지르지 않을 것이라고 요구하면서도, 사용자가 LayerZero를 사용하여 애플리케이션을 구축하는 개발자를 신뢰할 수 있는 제3자로 신뢰해야 하며, "다중 서명"에 참여하는 신뢰 주체는 사전에 정해진 특권 역할입니다. 동시에, 전체 크로스 체인 과정에서 사기 증명이나 유효성 증명이 생성되지 않았으며, 이러한 증명을 블록체인에 올리고 체인 상 검증을 수행하는 것은 더더욱 없습니다. 따라서 LayerZero는 "사토시 합의"를 충족하지 않으며, 결코 탈중앙화 및 신뢰가 없는 것이 아닙니다.
L2BEAT 팀과 Nomad 팀이 문제 발견자의 관점에서 선의의 글을 발표한 후, LayerZero의 반응 태도는 "부인"과 "부인"이었습니다. 비트코인 이전에도 많은 전자 화폐가 있었지만 모두 실패했습니다. 왜냐하면 이들은 모두 탈중앙화, 공격 저항 및 내재 가치를 갖는 목표를 달성하지 못했기 때문입니다. 크로스 체인 프로토콜도 마찬가지입니다. 아무리 자금을 조달하고 유동성이 크고 "혈통이 순수하더라도", 제품이 진정한 탈중앙화 보안을 실현하지 못하면, 공격 저항성이 부족하여 종료될 가능성이 높습니다.
한때 LayerZero와 높은 일치를 유지해야 할 입장의 친구가 저에게 질문했습니다. "LayerZero가 Way Network처럼 제로 지식 증명을 사용하여 크로스 체인 프로토콜을 업그레이드하려고 한다면, 그 난이도는 얼마나 높고 어떤 장애물이 있을까요?" 이는 흥미로운 질문이며, 문제의 핵심은 그들이 자신에게 문제가 있다고 생각하지 않는 것입니다.
진정한 탈중앙화 크로스 체인 프로토콜을 구축하는 방법에 대해서는 제 이전 글 《왜 제로 지식 증명을 사용하여 크로스 체인 프로토콜을 개발해야 하는가?》를 참조하시기 바랍니다.