저자: 키아라 비커스
비트코인 코어의 보안 모델은 이러한 기본 게임 이론에 기초합니다. 채굴자는 전자 곡괭이를 사용하여 무자비하게 이익을 추구하며, 이것이 바로 네트워크를 안전하게 만드는 것입니다. 표준 채굴 작업에서는 블록 보상과 거래 수수료를 얻기 위해 블록을 생성해야 하지만, 채굴자가 블록체인에서 가치를 추출할 수 있는 다른 방법이 있을 수 있다고 상상해 본 적이 있습니까? 채굴자들이 자신의 유리한 위치를 기반으로 활용할 수 있는 온체인 다른 수익 기회가 있습니까?
"MEV"란 무엇입니까?
작업 증명 시스템 에서 "MEV(Miner Extractable Value)"는 채굴자가 채굴한 블록의 트랜잭션을 순서, 제외, 재구성 및 교체하여 얻을 수 있는 수익을 의미합니다. 그러나 이더' 이더 2.0'으로 업그레이드되고 네트워크가 '지분증명' 시스템으로 마이그레이션되면서 MEV라는 개념이 새로운 이름을 갖게 되었고, 현재 지분증명 시스템에서는 MEV를 지칭한다. "최대 추출 가능 값". 이러한 맥락에서, 채굴자를 대신하는 블록 제안자(“증인”)는 이 가치를 추출할 기회를 갖습니다.
이러한 네트워크에서 채굴자(또는 이더 2.0의 증인)는 블록 형태의 거래를 확인하는 데 특별한 역할을 합니다. 이들의 위치 덕분에 다른 사용자보다 앞서 나갈 수 있으며 온체인 거래의 최종 순서를 결정할 수 있습니다. 블록 내에서 거래는 일반적으로 높은 수수료에서 낮은 수수료로 순서 되지만, 채굴자가 거래 순서 전략적으로 변경하여 추가 이익을 얻을 수 있는 경우가 항상 있습니다.
이것이 해로움이 무엇인지 물을 수도 있습니다. 광부에게 약간의 추가 이익이 되는 것입니까? 문제는 일부 채굴자가 고급 분석 기능과 뛰어난 컴퓨팅 능력을 갖추고 MEV 수익 기회를 다른 채굴자보다 더 효율적으로 찾고 활용할 수 있는 경우에만 발생합니다.
이러한 기회를 항상 쉽게 이용할 수 있는 것은 아니지만, 블록체인을 분석하여 얻을 수 있는 이점이 클수록 로봇을 갖춘 연구팀이 그러한 분석을 수행해야 하는 인센티브가 더 커집니다. 시간이 지남에 따라 채굴자 수익성의 차이로 인해 네트워크가 중앙 집중화되는 경향이 생길 것입니다. 궁극적으로 블록체인의 핵심 원칙인 탈중앙화 침식합니다.
이것이 바로 비트코인 개발자 커뮤니티가 비트코인에서 더 큰 표현력을 발휘하는 방법을 생각할 때 피하고 싶어하는 것입니다.
우리는 왜 프로그래밍 가능한 돈을 원하는가?
역사적으로 비트코인은 상대적으로 간단한 스마트 계약으로 운영되었습니다. 그러나 이 모델은 약간 더 복잡한 트랜잭션을 처리하는 경우에도 제한적일 수 있습니다. 비트코인 스크립트는 인증 데이터만 확인할 수 있으며 거래에 대한 비율 제한을 부과하거나 자금의 최종 목적지를 정의하는 기능은 없습니다. 왜냐하면 비트코인 스크립트는 거래 데이터에 접근할 수 없기 때문입니다.
또 다른 다소 별개의 문제는 비트코인 스마트 계약을 개발하고 작성하는 것이 보안 요구 사항을 완전히 이해하지 못하는 사용자에게는 어려울 수 있다는 것입니다. "Vault"라는 제안된 기능은 시간 잠금 조건이 있는 트랜잭션을 도입하여 이러한 문제점을 해결하는 것을 목표로 합니다. 기본적으로 금고는 사용자가 개인 키를 도난당한 경우 자금을 복구할 수 있는 비상 "탈출구" 역할을 합니다. 그러나 그러한 기능은 우리의 프로그래밍 언어가 더 강력한 표현 능력을 가질 때만 달성될 수 있습니다.
이더 프로토콜은 매우 유연한 스크립팅 기능으로 유명하지만 분명히 MEV에도 묶여 있습니다. 대부분의 사용자는 일반적으로 비트코인에는 MEV가 없다고 가정합니다. 이는 이더 과 반대되는 의미입니다. 이더 야생 개척지로 간주됩니다. 하지만 이것이 정말 사실일까요?
더욱 표현력이 풍부한 스마트 계약이 더 많은 MEV 시나리오를 가져올 수 있을까요?
MEV를 발생시킨 요인은 다음과 같습니다: (1) 투명한 거래 풀, (2) 투명한 스마트 계약, (3) 스마트 계약의 표현 능력. 이러한 각 요소는 MEV에 대한 새로운 창을 열어서 하나씩 살펴보겠습니다.
나쁜 점: (1) 투명한 거래 풀
비트코인 네트워크의 " 트랜잭션 풀 "과 마찬가지로 대부분의 블록체인의 트랜잭션 풀은 완전히 투명하고 개방적이며 가시적이며 어떤 트랜잭션이 블록 확인을 기다리고 있는지 누구나 확인할 수 있습니다. 이론적으로 비트코인 블록을 채굴하는 데는 10분이 소요됩니다. 채굴자는 선행 실행(다른 사용자보다 앞서기)하는 데 동일한 시간을 갖습니다.
그러나 실제로 비트코인 블록체인에는 MEV 소스가 없습니다. (1) 비트코인 거래는 채굴자 간의 분석 능력에 큰 차이가 없을 정도로 간단합니다. (2) 비트코인 거래는 일반적으로 여러 자산의 거래가 실행되지 않습니다. 점프할 수 있는 자산 스왑 및 공개 거래 등이 있습니다.
반면에 이더 온체인 가장 복잡한 다중 자산 거래를 수행할 수 있는 공개 탈중앙화 거래소(DEX)를 보유하고 있습니다. 일반적으로 이더 의 블록타임은 15초이지만, 거래풀 트래픽이 높을 때 거래가 즉시 확정되기 위해 필요한 가스비(이더 형 시스템에서는 거래수수료)가 100달러를 쉽사리 넘길 수 있다. 결과적으로, 낮은 수수료 거래에 대한 대기 시간은 몇 분 또는 몇 시간 단위로 측정될 수 있습니다. 이로 인해 이러한 사악한 선행 활동에 오랜 시간이 걸리며, 이더 의 다양한 레이어 2 토큰에는 엄청난 가치가 포함되어 있기 때문에 이러한 활동이 매우 흔해졌습니다.
번역자 주: 이 기사에서 "토큰"과 관련하여 저자는 항상 "레이어-2 토큰"이라는 동일한 표현을 사용했습니다. 이 용어는 "레이어를 나타냄"보다는 "온체인 토큰 프로토콜"이라고 부르는 것을 의미하는 경향이 더 큽니다. ". -2 프로젝트 가치 토큰"(이더 과 같은 플랫폼에는 이러한 "레이어-2 프로젝트"가 많이 있습니다).
번역자 주: 여기서 저자의 주장은 거의 의미가 없습니다. 거래 풀이 투명한지 불투명한지는 MEV 기회가 나타날지 여부를 결정하지 않으며, 이러한 기회가 누구에게 열려 있는지만 결정합니다. 완전히 불투명한 트랜잭션 풀(예: 사이드체인 트랜잭션 풀)을 상상해 보세요. MEV 기회가 존재한다는 것은 완전히 상상할 수 있지만, 트랜잭션 풀을 볼 수 있는 블록 패키저만이 그러한 기회를 보고 활용할 수 있습니다.
나쁜 점: (2) 투명한 스마트 계약
비트코인의 "스마트 계약"은 비트코인 스크립트 에서 파생된 간단한 잠금 및 잠금 해제 메커니즘입니다. 거래 세부 사항(가치, 발신자, 수신자)은 온체인 공개적으로 볼 수 있습니다. 이러한 종류의 완전한 투명성은 개인 정보 보호 관점에서 이상적이지는 않지만 비트코인이 네트워크의 모든 참가자가 블록체인의 전체 상태를 확인할 수 있도록 허용하는 이유 중 하나입니다. 모든 관찰자는 이러한 계약 세부 사항을 분석할 수 있으며 이는 특정 MEV 전략에 대한 기회를 제공할 수 있습니다.
그러나 비트코인의 스크립팅 프로그래밍 언어는 의도적으로 매우 제한되어 있으며 주로 자금 보내기 및 받기, 서명 또는 해시 잠금을 통한 거래 확인과 같은 기본 기능에 중점을 둡니다. 이러한 단순성은 본질적으로 MEV의 범위를 제한하므로 그러한 기회는 (다른 블록체인)보다 훨씬 더 드물게 됩니다.
이더, Solana 및 Cardano와 같은 플랫폼은 모두 완전히 투명한 스마트 계약을 가지고 있지만 Bitcoin과 달리 모두 매우 복잡하고 표현력이 풍부한 스크립트 언어를 가지고 있습니다. 그들의 "Turing Complete" 시스템은 이론적으로 자체 실행 계약, 어설션 머신을 통한 실제 정보 통합, 탈중앙화 애플리케이션(dApp), 토큰 및 DEX의 자산 교환을 포함한 거의 모든 컴퓨팅 작업을 수행할 수 있습니다. 자동화된 MM (Market Making)(AMM). 함께, 그들은 MEV를 위한 비옥한 토양을 제공합니다. STARKex 와 같은 영지식 증거를 기반으로 하는 솔루션은 이론적으로 일부 문제를 피할 수 있지만 추가적인 복잡성이 희생됩니다.
추악한 점 (3): 스마트 계약 표현력
일부 블록체인 온체인 MEV 기회가 너무 풍부하여 일부 “MEV 거래 회사”가 월별 수익으로 “ 5~6자리 ”를 벌고 있습니다. 이러한 추세는 매우 중요하여 이더 및 솔라나 블록체인 온체인 수익 기회를 검색하기 위해 특별히 공개 데이터 웹사이트가 등장했습니다. 이들의 수익성은 선행 실행, 테일링, 샌드위치 공격(선행 및 테일 트레이딩 결합, 피해자 거래 샌드위치 포함), 토큰 차익거래, 청산 등 전체 MEV 전략을 실행하는 데서 비롯됩니다. 각 전략은 서로 다른 원칙을 활용합니다.
레이어 1과 레이어 2 모두에서 사용할 수 있는 일부 MEV 전략은 다음과 같습니다.
- 일반화된 선행 실행: 로봇은 거래 풀에서 수익성 있는 거래를 검색한 다음 원래 거래 이전에 거래를 실행하여 수익을 얻습니다.
- 샌드위치 공격(Sandwich Attack): 공격자가 자산 가격을 조작하여 이익을 얻기 위해 대규모 거래 전후에 거래를 주선합니다. 이 전략은 대규모 거래소 로 인한 예측 가능한 가격 변동을 활용합니다.
레이어 2 토큰 및 스마트 계약에만 유용한 특정 전략:
- 서로 다른 DEX 간의 차익 거래: 로봇은 동일한 자산에 대한 서로 다른 DEX 간의 가격 차이를 활용하여 이익을 얻습니다. 즉, 낮은 가격에 구매하고 높은 가격에 판매합니다.
- DeFi 적응형 가격 곡선 추적(본딩 곡선): MEV 로봇은 적응형 가격 곡선의 대규모 거래를 따라 수익을 얻습니다. 대규모 거래는 가격이 상승하는 동안 로봇이 구매할 수 있습니다. 추세를 파악하고 수익성이 있을 때 판매하세요.
- DeFi 청산: MEV 로봇은 DeFi 대출 프로토콜의 기회를 목표로 합니다. 이러한 대출 프로토콜에서 담보 가치가 특정 임계값 미만이면 다른 사람들이 더 낮은 가격에 담보를 청산하는 것을 피할 수 있습니다.
계약의 복잡성으로 인해 MEV와 관련된 어려움도 크게 발생합니다.
- 재진입 공격: 이 공격은 스마트 계약 계정의 논리 취약성을 악용하여 공격자가 스마트 계약 계정이 완료된 후 함수를 반복적으로 호출하여 자금을 여러 번 인출할 수 있도록 합니다. MEV의 맥락에서 숙련된 공격자는 특히 대량 자금을 보유하는 계약에서 막대한 이익을 얻을 수 있습니다.
- 상호 연결된 계약 및 전역 상태: 이더 과 같은 플랫폼에서는 스마트 계약 계정이 상호 작용할 수 있으므로 하나의 거래가 여러 계약 계정 간의 연쇄 반응을 유발할 수 있습니다. 이러한 상호 연결된 특성은 복잡한 MEV 전략을 가능하게 합니다. 하나의 계약 계정으로 전송된 거래가 다른 계약에 영향을 미쳐 이익 기회의 연쇄 반응을 생성할 수 있습니다.
여기서 문제의 일부는 이러한 토큰 위에 구축된 토큰과 dApp의 총 가치가 레이어 1에 있는 블록체인의 기본 자산 가치를 초과할 수 있으므로 수수료만을 기준으로 선택하고 확인하는 블록 생산자의 수가 줄어들 수 있다는 것입니다. 거래 인센티브.
설상가상으로 이러한 기회 중 다수는 엄밀히 말하면 블록 생산자에게만 속하지 않습니다. MEV 스캐닝 로봇을 사용하는 다른 플레이어도 동일한 기회를 놓고 경쟁할 수 있으며, 이로 인해 네트워크 정체와 가스 비용이 급등하게 됩니다. 이러한 상황은 네트워크와 사용자에게 부정적인 외부 효과를 발생시킵니다. 블록체인의 효율성이 떨어지고 사용 비용이 높아지기 때문에 모든 사람이 더 높은 거래 수수료의 영향을 받습니다. DeFi의 MEV 기회는 매우 일반적이어서 사용자는 이를 모든 사람에게 숨겨진 세금으로 거의 받아들였습니다.
그렇다면 이러한 MEV 기회는 표현력이 뛰어난 스마트 계약의 자연스러운 부산물입니까, 아니면 완전히 프로그래밍 가능한 통화라는 꿈을 향한 다른 길이 있습니까?
표현력이 뛰어난 스마트 계약 및 레이어 2 토큰 프로토콜에서 벗어나는 것 외에도 사용자는 " 기밀 거래 "를 지원하는 프로토콜(예: Liquid)을 사용하여 일부 리스크 피할 수 있습니다. 그러나 보다 표현력이 풍부한 프로그래밍 언어를 사용하는 이러한 플랫폼과 달리 비트코인은 우리가 기대하는 프로그래밍 가능한 화폐를 구현하는 능력이 여전히 부족합니다.
좋은 점: 프로그래밍 가능한 통화의 상충관계
비트코인의 스마트 계약의 발전을 고려할 때 우리가 선택할 수 있는 옵션은 다음과 같습니다: (1) 복잡성을 오프체인으로 옮기는 것, (2) 좁거나 제한된 "계약" 기능을 신중하게 통합하는 것, (3) 표현력을 극대화하는 경로를 수용하는 것, . 하나씩 분석해 보겠습니다.
(1) 오프체인 계약의 새로운 구조: ANYPREVOUT
라이트닝 네트워크와 같은 오프체인 솔루션은 메인체인에 부담을 주지 않고 비트코인의 확장성과 기능성을 향상시켜 온체인 거래를 빠르고 저렴하게 유지하는 것을 목표로 합니다. 이러한 목표는 모두 좋은 것 같습니다.
SIGHASH_ANYPREVOUT(APO)은 서명이 서명된 후(서명을 무효화하지 않고) 트랜잭션에 대한 특정 조정이 발생할 수 있도록 하는 새로운 유형의 공개 키에 대한 제안입니다. 이 제안은 거래가 업데이트되는 방식을 단순화하여 거래가 선주문 UTXO를 더 쉽게 색인화할 수 있게 하여 라이트닝 네트워크 채널을 더 빠르고, 저렴하고, 더 안전하고, 더 간단하게 만듭니다(특히 채널 참가자 간의 차이를 해결할 때).
결국 APO는 새로운 한숨 레이블입니다. 모든 비트코인 거래에는 적법성을 증명하기 위해 디지털 서명이 있어야 합니다. 서명을 생성할 때 "sighash 태그"를 사용하여 서명하려는 거래 부분을 나타냅니다. APO를 사용하면 보낸 사람은 거래 입력에 서명하지 않고 거래의 모든 출력에만 서명할 수 있으므로 거래 출력만 수정할 수 있으며 자금이 어느 이전 거래에서 왔는지는 확인할 수 없습니다.
APO는 사용자가 사전 서명된 거래를 오프체인으로 교환할 수 있도록 하는 Eltoo를 제공합니다. 그러나 APO에서는 트랜잭션의 순서 허용하므로 예기치 않게 MEV가 발생할 수 있습니다. 서명이 트랜잭션 그래프에 바인딩되도록 허용하는 한 트랜잭션을 전환할 수 있습니다. 새 입력이 여전히 서명과 호환되는 한 입력을 전환할 수 있습니다.
(2) 제한사항: CAT + CSFS 및 CTV
제한을 통해 사용자는 인출 비율 제한을 부과하거나 거래에서 자금의 특정 목적지를 설정하여 자금이 이체되는 위치를 제어할 수 있습니다. 제약조건에는 재귀적 및 비재귀적이라는 두 가지 유형이 있습니다.
- 재귀적 제한을 통해 자금이 동일한 유형의 제한으로 반환될 수 있습니다.
- 비재귀적 제한은 이러한 통제 능력을 제한하므로 향후 자금 이체 경로를 미리 완전히 정의해야 합니다.
CAT + CSFS 는 스크립트가 향후 트랜잭션의 특정 부분을 구성(또는 정의)할 수 있도록 하는 제약 조건 제안입니다. CHECKSIGFROMSTACK(CSFS)은 데이터의 서명을 확인하고 OP_CAT은 이러한 데이터를 구성할 수 있습니다. CSFS를 사용하여 OP_CAT에 의해 동적으로 생성된 데이터와 일치하는 서명을 요구함으로써 향후 이러한 UTXO를 사용할 수 있는 방법을 정의하고 재귀적(비록 서툴기는 하지만) 제약 조건을 생성할 수 있습니다.
OP_CHECKTEMPLATEVERIFY(CTV)는 비재귀적 제한을 생성하는 방법입니다. 이는 거래의 특정 부분을 정의하고 검증하지 않으며 자금 사용 방법만 제한합니다. 이는 다음 거래가 준수해야 하는 "템플릿"을 정의합니다.
반복적 제한의 한 가지 리스크 은 자금이 일련의 규칙을 준수해야 하고 반복되어 탈출할 수 없는 루프에 갇히게 되는 상황을 만들 수 있다는 것입니다. 또 다른 리스크 은 제한 사항이 투명하고 자체 시행되기 때문에 온체인 볼 수 있었던 일부 MEV 기회가 비트코인에서 열릴 수 있다는 것입니다.
그럼 좋은 소식은 무엇입니까?
좋은 소식은 이러한 제안이 새로운 표현력을 가져올 것이라는 것입니다!
그렇다면 우리가 얻을 수 있는 표현력의 한계는 어디일까요?
(3) 종합적인 표현력 : 단순성
Simplicity 는 블록체인 기반 프로그래밍 언어로, 매우 낮은 수준이라는 점에서 다른 스크립트 프로그래밍 언어와 다릅니다. 이는 비트코인 스크립트를 기반으로 구축된 언어도 아니고 비트코인 스크립트의 새로운 opcode도 아니며 비트코인 스크립트를 대체하는 것입니다. 이론적으로 Simplicity는 제안된 모든 제약 조건을 내부적으로 구현하고 사이퍼펑크가 프로그래밍 가능한 통화에 갖고 싶어하는 다른 많은 계약을 구현할 수 있지만 이더 보다 부정적인 외부 효과가 적습니다.
영상: https://youtu.be/n4iLNNF3sU0
단순성은 비트코인의 독립적인 거래 설계 철학을 유지합니다. 즉, 프로그램은 거래 외부의 어떤 정보에도 접근할 수 없습니다. 표현력과 보안을 극대화한다는 설계 목표에 따라 Simplicity는 형식 검증과 정적 분석을 지원하여 사용자에게 보다 안정적인 스마트 계약을 제공합니다.
단순성(심포니) | 고양이+CSFS | CTV | 이더 | 솔라나 | 카르다노 | |
---|---|---|---|---|---|---|
모델 | UTXO | UTXO | UTXO | 계정 | 계정 | EUTXO |
튜링 완전성 | 아니요 | 아니요 | 아니요 | 예 | 예 | 예 |
재귀 계약 지원 | 예 | 예 | 아니요 | 예 | 예 | 예 |
정적 분석 허용 | 예 | 부분 | 부분 | 아니요 | 아니요 | 부분 |
공식 검증 허용 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | 예 |
비트코인 스크립트의 제약 제안은 단순성보다 간단하지만 비트코인에는 산술 기능이 없기 때문에 스크립트에서 수수료 추정을 처리하기 위한 표현력도 부족합니다. 비트코인 스크립트에는 곱셈이나 나눗셈, 조건부 또는 스택 조작 opcode가 없으며 특정 계약(또는 제약)에 대한 합리적인 수수료를 추정하는 것도 매우 어렵습니다. 사용자는 합리적인 수수료가 무엇인지 추측하는 데 로직의 80%가 사용되는 스파게티 코드를 갖게 됩니다. 이로 인해 제한적인 계약 계약이 매우 복잡해지고 분석이 어려워질 수 있습니다.
이더 Virtual Machine은 가스 사용량에 대한 정적 분석을 매우 어렵게 만드는 루프 구조를 가지고 있습니다. 그러나 Script and Simplicity에서는 opcode의 수를 계산하거나 각 함수의 비용을 재귀적으로 합산하기만 하면 됩니다. 단순성에는 형식적인 모델이 있으므로 프로그램의 동작을 형식적으로 분석할 수 있습니다. 하지만 스크립트에서는 리소스 사용량을 정적으로 분석할 수 있지만 이는 불가능합니다.
단순성은 사용자에게 최대의 표현력은 물론 정적 분석 및 형식 검증과 같은 기타 중요한 기능을 제공합니다. 사용자는 MEV 방지 스마트 계약을 개발하도록 권장됩니다(제한되지 않음). 더욱이, 서로 다른 계약의 조합은 비록 그 자체로는 MEV가 발생하지 않더라도 MEV를 가져올 수 있습니다. 이는 근본적인 절충안을 나타냅니다.
영상: https://youtu.be/rv1YNI-0BXk
비트코인의 스마트 계약 기능을 강화한다는 아이디어는 확실히 유망하고 흥미롭습니다. 그러나 이러한 모든 제안이 다른 블록체인과 같은 정도는 아니지만 일정 수준의 MEV 리스크 가져올 것이라는 점을 아는 것이 중요합니다. 비트코인에 더 많은 프로그래밍 가능한 기능을 추가하는 방법을 생각하면서 다음 질문에 답하고 싶습니다.
- MEV 리스크 없이 프로토콜을 개발할 수 있습니까? 아니면 달성할 수 없는 이상입니까?
- 많은 제안에 내재된 MEV 리스크 고려할 때 허용 가능한 수준은 어느 정도입니까?
- 마지막으로, 가장 표현력을 발휘하는 가장 단순한 제안은 무엇입니까?
각 제안에는 고유한 장단점이 있습니다. 그러나 우리가 어떤 방향을 취하든 우리의 분석은 보안을 우선시하고 탈중앙화 원칙을 뒷받침해야 합니다.
참고: 이 기사는 원래 Bitcoin Magazine 에 게재되었습니다.
(위에)