원래 제목: "MEV 및 Flashbots: The Uniquely DeFi Tale"
소개
원본 편집: Kxp, BlockBeats
소개
MEV는 블록체인 설계의 부산물이자 DeFi 고유의 제품입니다. 본질적으로 MEV는 블록체인을 운영하는 검증인이 트랜잭션을 검증하는 작업에서 이익을 극대화하려는 이익 극대화 행위일 뿐입니다. MEV가 자본 효율성 증가를 통해 이점을 제공한다고 주장할 수 있지만, MEV는 더 높은 가스 수수료, 미끄러짐, 유효성 검사기 담합 및 중앙화 위험을 포함하여 탈중앙화 애플리케이션을 사용하는 사용자 경험에 상당한 영향을 미칠 수 있습니다. 이 기사에서는 먼저 이론적인 개념적 관점에서 MEV와 그것이 생태계에 미치는 시스템적 위험을 검토합니다. 다음으로 Flashbots를 사례 연구로 사용하여 DeFi 커뮤니티가 MEV의 이러한 모든 부정적인 외부 효과를 해결하기 위해 어떻게 노력하고 있는지 살펴보고 MEV 이야기가 대표적인 DeFi 이야기인 이유를 설명합니다. , 도전, 원칙 및 중앙 집중식 금융 시스템의 장단점.
플래시 보이즈 클럽
MEV는 결함이 아니라 블록체인 기술의 특징입니다. 특정 블록체인 네트워크에서 검증자(또는 기존 PoW 모델의 채굴자)는 어떤 데이터를 체인에 넣을지 결정해야 합니다. 특히 데이터의 입력 및 제거와 해당 데이터의 온체인 순서를 제어할 수 있습니다. 합리적인 경제 대리인과 마찬가지로 유효성 검사기는 거래 수수료의 이익을 극대화하기 위해 거래를 조정합니다.
MEV의 개념은 "Flash Boys 2.0"이라는 중요한 논문에서 스마트 컨트랙트 연구원인 Phil Dainan이 처음으로 자세히 설명했습니다. 이 논문에서 연구원들은 전통적인 금융 초단타 거래자들이 거래 지연을 적극적으로 최적화하는 것과 유사하게 일반 사용자 DEX 거래를 "예측하고 악용"하기 위해 다수의 로봇과 차익 거래 에이전트를 사용하는 것이 드문 일이 아니라고 강조했습니다. 이 기사를 작성하는 지난 24시간 동안 이들 기업은 MEV 운영을 통해 2,578 ETH 또는 약 490만 달러를 실현했습니다.
MEV는 다양한 차익 거래 방법과 시나리오를 포괄하는 일반적인 포괄적 용어이지만 DeFi에서 많은 MEV 기회의 기반을 형성하는 몇 가지 주요 특성이 있습니다. 첫째, 대부분의 MEV는 사용자가 트랜잭션을 먼저 실행하기 위해 더 높은 트랜잭션(가스) 수수료를 지불하는 PGA(Priority Gas Auction)라는 프로세스를 통해 구현됩니다. 많은 차익 거래 봇이 이익을 위해 거래의 우선 순위에 의존하기 때문에 이러한 봇은 가스 입찰 전쟁에 참여하고 검증자가 거래를 실행하기 위해 순차적으로 가격을 인상하여 높은 네트워크 혼잡과 일반 사용자 입찰 수수료를 초과하게 됩니다. 엄청난 거래 수수료도 지불하지 않는 한.
반면 검증자는 이 관행의 주요 수혜자 중 하나입니다. 사실, 힘은 이익과 직접적으로 관련이 있습니다. 유효성 검사기는 (적어도 이론적으로는) 실행할 트랜잭션을 결정할 수 있는 권한이 있기 때문에 수수료를 기준으로 처리되는 트랜잭션의 우선 순위를 지정할 수 있으므로 "주문 최적화" "수입"을 얻을 수 있습니다. 실제로 유효성 검사기는 MEV 검색, 패키징 및 실행 파이프라인과 같은 많은 작업을 담당하므로 대부분의 "주문 최적화"는 전용 검색기, 빌더 및 릴레이에 아웃소싱됩니다. 이러한 중간 엔터티는 유효성 검사기로 상상할 수 있습니다. "비서" MEV 프로세스를 단순화하여 수익의 일부를 받는 사람. 특히, 검색자는 MEV 기회를 발견하고 빌더는 이러한 기회를 완전한 "블록"으로 패키징하며 릴레이어는 이러한 완전한 "블록"을 유효성 검사기 또는 실제 블록 빌더에게 보냅니다. 따라서 현재 MEV 생태계의 개요는 다음과 같습니다.
MEV 생태계, 출처:https://chain.link/education-hub/maximal-extractable-value-mev
이전에 암시한 바와 같이 MEV 지원 차익 거래는 자본 효율성 향상 및 거래소 간 가격 일관성 보장과 같은 몇 가지 이점이 있을 수 있지만 최종 사용자에게는 더 높은 거래 수수료, 더 느린 실행 및 더 높은 슬리피지와 같은 막대한 외부 효과가 있습니다. 예를 들어 샌드위치 공격). 그러나 이것이 블록체인에 대한 MEV의 가장 큰 위험은 아닙니다. 유효성 검사기가 서로 공모하는 경우 MEV 작업이 실제로 블록체인 합의 계층의 보안 보장을 약화시킬 수 있습니다.
이 보안 문제는 인센티브의 잘못된 조정에서 비롯됩니다. 이러한 모든 수익성 있는 MEV 기회에서 채굴자는 일정한 블록 보상에 의존하기보다 거래 수수료를 최적화하여 더 많은 수익을 올릴 수 있습니다. Dainan이 쓴 것처럼 이것은 다음을 의미합니다.
"따라서 채굴자들은 수수료가 높은 블록을 포크할 수 있으며 수수료의 일부를 유지하여 다른 채굴자들이 포크를 기반으로 구축하도록 유도할 수 있습니다. 극단적인 경우 프로토콜에서 벗어나는 인센티브로 인해 경제적으로 합리적인 채굴자들이 전략을 약화시켜 블록 확인을 줄일 수 있습니다. .” 보안 제공."
"가격 전쟁" 공격으로 알려진 이것은 MEV가 블록체인의 기본 보안 보장을 약화시킬 수 있는 여러 가지 방법 중 하나입니다. 다른 알려진 공격으로는 현재 블록에서 수익성 있는 거래를 훔치는 대신 과거 기록을 다시 작성하여 과거 블록에서 MEV 기회를 훔치고 악용하기 위해 결탁하는 "Time Thief Attack"이 있습니다. 게다가 MEV 인출은 온체인에서 일어날 필요조차 없습니다. 이 모든 것이 대형 트레이더와 검증인 사이와 같은 오프-익스체인지 거래를 통해 이루어질 수 있기 때문입니다.
따라서 우리가 볼 수 있듯이 많은 것이 위태로워졌습니다(원본 텍스트는 "stake"에 대한 말장난을 의도한 "at stake"입니다).
Flashbots: MEV의 부정적인 영향 완화
제한되지 않은 MEV의 잠재적으로 심각한 결과를 감안할 때 여러 프로젝트와 그룹이 이 관행의 부정적인 외부 효과를 완화하기 위해 노력했습니다. 이 공간에서 가장 중요한 그룹 중 하나는 일반 사용자에게 미치는 최악의 영향을 완화하면서 정직한 검증자에게 보상하기 위해 MEV의 인센티브를 재조정하는 데 전념하는 프로젝트인 Flashbots입니다.
이를 위해 Flashbots는 (1) MEV "어두운 숲" 공개, (2) MEV 추출 민주화, (3) 혜택을 다시 생태계에 재분배하는 세 가지 단계를 시도했습니다. 첫 번째 목표를 달성하기 위해 Flashbots는 MEV-inspect라는 전용 제품을 보유하고 있습니다. 이 제품은 MEV의 "어두운 숲"을 "공개"하고 MEV로 인한 부정적인 외부 효과를 정량화하며 문제의 규모를 시각화하는 것을 목표로 합니다.
"MEV 추출 민주화" 및 "혜택 재분배"라는 다른 두 가지 목표는 더 복잡하며 전체 제품군을 포함하고 문제 변화의 범위와 초점에 따라 진화합니다. 어느 정도 우리는 지난 2년 동안의 Flashbots의 제품 개발 역사를 Ethereum의 성장과 발전의 축소판으로 생각할 수 있습니다.
Flashbots에서 출시한 첫 번째 주요 제품 라인은 MEV-Geth 클라이언트 또는 개인 트랜잭션 풀로 라우팅하여 MEV 조작으로부터 더 잘 보호되는 Ethereum Golang 구현의 개선된 버전입니다. 이 새로운 클라이언트를 기반으로 MEV 경매 시장은 각 참가자가 하나의 가격만 제출할 수 있고 경매 참가자 중 누구도 알지 못하는 "단일 가격 격리 입찰" 방식("블라인드 입찰"이라고도 함)을 사용하여 구축됩니다. 다른 참가자가 입찰한 가격. 이러한 설계로 인해 Flashbot은 이전에 논의된 네트워크 정체로 이어지는 "가격 입찰" 전쟁을 완화합니다.
MEV-Geth 및 MEV 시장 생성의 기본 원칙은 "블록 생산자-빌더 분리"라는 인센티브 재정렬 프로세스를 통해 블록을 구축하기 위한 유효성 검사기의 권한과 책임을 분산시키는 것입니다. MEV 경매를 사용하는 검증인은 복잡한 MEV 검색 및 거래 패키징 과정을 거치는 대신 MEV 시장을 보고 가장 높은 MEV를 제공하는 거래를 찾아 실제 선호도를 반영한 단일 입찰을 제출할 수 있습니다. 또한 검증자가 자신의 트랜잭션을 포함하고 트랜잭션에 선행하는 사용자 트랜잭션에서 이익을 얻는 것을 방지하기 위해 실제 트랜잭션 세부 정보(매수 주문, 매도 주문, 청산 등)는 블록이 구축될 때까지 공개되지 않습니다.
그렇다면 유효성 검사기는 앞서 언급한 수익성 있는 MEV 기회를 포기하면서 이 알고리즘을 사용하는 이유는 무엇입니까? 이는 검증자가 이 Flashbots 알고리즘을 위해 시장에서 MEV 트랜잭션만 선택하는 것이 더 쉽고 저렴하기 때문입니다. 점점 더 많은 고품질 MEV 트랜잭션이 온체인이 아닌 시장을 통과함에 따라 유효성 검사기는 Flashbot을 고수함으로써 더 높은 보상을 얻을 수 있습니다. 결과는 매우 인상적입니다. MEV-Geth가 출시된 지 얼마 되지 않아 이더리움 유효성 검사기의 90% 이상이 프로젝트를 사용하기 시작하여 잠재적인 문제를 해결하는 데 있어 인센티브 재조정의 중요성과 효과를 보여주었습니다. 이더리움 생태계의 발전과 2022년 9월 작업 증명 모델(PoW)에서 지분 증명 모델(PoS)로의 전환과 함께 이더리움의 기본 합의 구조의 이러한 변화로 인해 우리는 " 블록 프로듀서-빌더 "분리" 개념이 업데이트되었습니다.
PoS가 PoW보다 효율적인 주된 이유는 PoW에서는 각 노드가 처음부터 블록을 만들고 생성해야 하는 반면 PoS에서는 소수의 검증자만이 기본 블록의 블록 생산자 역할을 하여 데이터를 블록체인에 추가하기 때문입니다. 이는 환경과 계산 효율성에 좋지만, 특히 유효성 검사기("블록 생산자")가 시장 판매자와 주요 "구성"을 공유하는 경우 매우 매력적인 MEV 수율로 인해 추가적인 중앙 집중화 위험이 발생할 수 있습니다. 개인 트랜잭션 풀을 운영하는 Flashbot도 이에 유혹을 받을 수 있지만 Flashbot과 같은 단일 주체를 신뢰한다는 사실 자체가 탈중앙화 정신에 위배됩니다.
MEV 부스트 시스템 다이어그램, 출처:https://github.com/flashbots/mev-boost
그래서 Flashbots는 이 MEV 시장의 "공급 측면"을 분산시키는 소프트웨어인 MEV-boost를 출시했습니다. MEV-boost는 Flashbots 개인 트랜잭션 풀(실제로는 독점)의 트랜잭션을 포함할 뿐만 아니라 이 소프트웨어를 실행하는 빌더가 모든 참여 검증자에게 트랜잭션을 제출할 수 있도록 합니다. 유효성 검사기의 경우 더 많은 빌더가 이러한 다양한 블록을 모두 구축하는 데 참여함에 따라 더 많은 수익을 얻고 유효성 검사기의 경쟁 환경을 평준화하여 더 강력하고 안전한 생태계를 구축할 수 있습니다. MEV-Geth와 마찬가지로 이 참신한 디자인은 여러 당사자가 중앙 집중화 위험을 피하기 위해 인센티브를 재정렬했으며 Flashbots가 트랜잭션의 34%만 전달한 85% 이상의 네트워크 채택으로 큰 성공을 거두었습니다.
Flashbots SUAVE
지금까지 중앙 집중화의 모든 위험을 완화하고 MEV의 가장 치명적인 영향으로부터 분산된 금융을 보호하려는 노력은 아직 끝나지 않았습니다. 블록 생산자-빌더 분리를 구현할 때 Flashbots의 솔루션은 유효성 검사기의 주요 권한과 책임을 유효성 검사기와 독립적인 유효성 검사기 역할을 하는 "빌더"로 분산하거나 리디렉션하는 것입니다. 막대한 규모의 경제가 있다는 것이 밝혀졌고, 이는 건축업자의 역할에서 중앙 집중화 위험으로 이어집니다.
그렇다면 이러한 규모의 경제가 빌더 역할에 의미하는 바는 무엇일까요? 이전에 Seeker, Builder 및 Relay가 모두 다른 역할을 수행한다고 언급한 것을 기억하십시오. Seeker는 MEV 기회를 검색한 다음 해당 기회를 Builder에게 보내고, Builder는 완전한 블록을 Relay로 보냅니다. 이는 검색자가 결과를 보낼 대상을 선택해야 함을 의미합니다. 보상을 극대화하기 위해 검증자가 자주 선택하는 최고 품질의 빌더를 선택합니다. 이것은 더 높은 품질의 거래가 최고의 빌더에게 흘러감에 따라 중앙 집중화 효과를 만듭니다. 최고의 빌더는 항상 Seekers로부터 가장 높은 MEV 거래를 받아 위치를 강화합니다.
빌더 중앙 집중화 효과, 출처:https://simbro.medium.com/mev-driven-centralization-in-ethereum-ec 829 a 214 f 18
이 빌더 중앙 집중화 효과는 실제로 입증되었습니다. 지난 24시간의 작성 시간 동안 상위 5명의 빌더가 전체 MEV-Boost 블록의 약 90%를 제안했습니다. 이러한 수준의 중앙 집중화가 증가함에 따라 이러한 과점 기업은 특정 트랜잭션의 담합 및 검열을 포함하여 트랜잭션을 조작하기 위해 지배력을 사용하기 시작할 수 있으며, 이는 기본 블록체인의 보안을 손상시킬 수 있습니다. 이것이 바로 Flashbots의 최신 프로젝트의 목표입니다. 블록 구축 프로세스를 단일 탈중앙화 프로세스와 분리하는 것을 목표로 하는 가치 표현의 단일 통합 경매입니다.
SUAVE 및 L1 블록체인 스택, 출처:https://writings.flashbots.net/the-future-of-mev-is-suave/
SUAVE는 실제로 독립적이고 전용 블록 정렬 체인으로 트랜잭션 mempool 및 빌더 책임 관련 문제를 주로 담당하고 Ethereum과 같은 프로토체인의 검증자는 블록 생성 및 증명 역할을 담당합니다. 보시다시피 SUAVE는 "블록 생산자-빌더 분리" 원칙의 자연스러운 확장으로, 블록 생산자와 빌더를 두 개의 완전히 분리된 체인에 배치하여 둘 다 충분히 분산되고 서로 분리되도록 합니다. 또한 SUAVE의 비전은 다양한 체인에 대한 공통 주문 레이어 역할을 하여 Ethereum, Arbitrum, Polygon 또는 기타 EVM 체인의 유효성 검사자이든 상관없이 SUAVE를 사용하여 최고의 MEV 기회를 찾을 수 있다는 것입니다. . 이것은 당신이 속해 있는 오리지널 체인뿐만 아니라 크로스 체인 트랜잭션을 위한 크로스 도메인 MEV에도 적용되기 때문에 오리지널 체인의 트랜잭션 메모리 풀에만 집중할 수는 없습니다.
SUAVE 크로스체인 상황, 출처:https://writings.flashbots.net/the-future-of-mev-is-suave/
SUAVE는 궁극적으로 관련된 모든 당사자에게 이익이 되고 이더리움 생태계를 보다 분산화하는 야심찬 목표를 가지고 있지만, 2022년 11월에 시작된 이후 6개월 동안 몇 가지 핵심 설계 문제를 여전히 해결해야 합니다. 예를 들어, 중앙 질문 중 하나는 SUAVE를 별도의 L1 체인(Chainlink와 유사)으로 구축할지, Rollup 솔루션을 사용할지, 아니면 Eigenlayer와 같은 이더리움 검증자를 "차용"하는 재가설 서비스를 사용할지 여부입니다. 이러한 각 솔루션에는 구현 용이성, 유효성 검사기 유지, 보안 및 유연성 측면에서 고유한 장단점이 있으므로 여기에서 자세히 논의하지 않습니다.
또 다른 핵심 질문은 SUAVE가 자체 토큰을 발행할지 여부입니다. 현재 SUAVE 포럼은 자체 토큰 출시를 거부하고 있지만 Flashbot이 이를 고수할지 여부에 대해서는 여전히 몇 가지 질문이 있습니다. 특히 SUAVE Token을 런칭하는 것이 민간 기업으로서 장기적으로 많은 경제적 의미가 있는 것 같다는 점을 고려하면 더욱 그렇습니다. 또한 Flashbots가 미래의 SUAVE 토큰 제공에 대한 힌트 때문에 약세장에서 10억 달러의 유니콘 가치를 올릴 수 있다고 생각한다는 그럴듯한 주장을 할 수 있습니다.
그렇다면 Flashbots가 SUAVE Token을 출시하지 않기로 선택한 이유는 무엇입니까? 밝혀진 바와 같이 토큰 출시에는 몇 가지 골치 아픈 디자인 결정이 수반되었습니다. 예를 들어, 이 토큰은 특정 트랜잭션에 유용합니까, 아니면 "또 다른 거버넌스 전용 토큰"입니까? 이 토큰이 유용하다면 그 용도는 어떻게 될까요? Flashbots를 사용하는 다양한 이해관계자(예: 다양한 체인, 최종 사용자, Flashbots의 빌더 등)가 ETH와 같은 보다 성숙한 토큰 또는 ARB와 같은 L2 토큰 대신 이 새로운 토큰을 사용하고 신뢰하도록 장려하는 방법은 무엇입니까? 어쨌든 그들은 복잡하고 노동 집약적인 인센티브 조정 프로세스에 직면하게 될 것이므로 Flashbots 팀이 당분간 토큰 출시를 피하는 것이 완벽합니다.
DeFi의 미래에 대한 더 큰 그림
SUAVE가 궁극적으로 어떤 형태를 취할 것인지, 그리고 이 새로운 주문 체인이 목표에 성공하고 MEV의 부정적인 외부 효과를 진정으로 완화하는 방식으로 인센티브를 조정할지 여부를 말하기는 어렵지만, 저는 MEV와 Flashbot이 디자인에서 진정한 진전을 나타낸다고 믿습니다. 중앙 집중식 금융 시스템에서 이루어져야 하는 장단점, 문제 및 원칙에 대한 전형적인 이미지입니다.
첫째, 앞서 언급한 바와 같이 MEV는 버그가 아니라 블록체인 설계의 특징입니다. 유효성 검사기에 대한 이러한 차익 거래 기회 및 이익 인센티브는 블록체인의 즉각적인 접근성에서 비롯되며 DeFi의 자본 효율성을 보장합니다. 혼잡, 가스 전쟁 및 최종 사용자 미끄러짐을 포함한 MEV의 부정적인 피해는 단순히 이 프로세스의 부산물이자 부정적인 외부 효과입니다.
정의에 따르면 부정적인 외부 효과는 부정적인 행동에 관여하는 개체에 영향을 미치지 않습니다. 이 경우 최종 사용자에게 네트워크 정체 및 미끄러짐을 유발해도 이 수익성 있는 활동에 참여하는 유효성 검사기 또는 차익 거래 봇에 해를 끼치지 않습니다. 전통적인 경제학을 통해 이러한 모든 외부 효과는 순전히 시장 기반 시스템으로 잘 다룰 수 없다는 것이 널리 인식되었습니다. 전통적인 시장에서는 정부 또는 기타 규제 기관이 개입하여 시장 변동성을 수정하고 부정적인 외부 효과(예: 담배 및 주류에 대한 세금)의 영향을 최소화합니다.
반면에 DeFi는 본질적으로 신뢰할 수 없으며 모든 형태의 정부 집행에 반대합니다. "법 집행 기관"에 가장 가까운 것은 확실성과 투명성을 달성하기 위해 코드에 규칙과 규정을 인코딩하는 것(예: 스마트 계약을 통해)일 것입니다. 따라서 Flashbots 사례에서 알 수 있듯이 MEV 현상의 부정적인 외부 효과를 줄이기 위해서는 항상 복잡한 인센티브 재설계 및 정렬에 의존해 왔습니다. 결국 월스트리트의 퀀트 트레이더처럼 DeFi 차익 거래 봇은 높은 윤리적 기준과 선의로 유명하지 않습니다.
MEV의 부정적인 외부 효과를 줄이기 위해 인센티브 재설계를 활용하는 것은 단순히 Flashbots 고유의 접근 방식이 아닙니다. Flashbot 외에도 MEV의 영향을 줄이기 위해 프로토콜을 개발하기 위해 인센티브를 재정렬하려는 다른 많은 팀이 있습니다. 예를 들어 Chainlink의 FSS(Fair Sequencing Service)는 분산형 오라클 네트워크를 활용하여 "거래 주문" 프로세스를 검증자에게 아웃소싱하여 SUAVE 네트워크가 추구하는 것과 유사한 목표를 달성합니다. 또 다른 예는 CoW 프로토콜의 "Coincidence of Will"(CoW) 메커니즘(이전에는 Gnosis 체인으로 알려짐)으로, 의지 여부에 따라 서로를 보완합니다(예: 1 ETH에 대해 1500 USDC를 원하고 귀하는 1 ETH를 원합니다). 1500 USDC ) 자동으로 거래를 연결하고 솔버 알고리즘을 사용하여 모든 사람이 최상의 가격으로 거래할 수 있도록 합니다.
그러나 특히 단일 당사자를 신뢰하지 않는 분산 환경에서 리팩토링을 장려하는 것은 기본적으로 규모의 경제를 상쇄하려고 하기 때문에 미친 수수께끼가 될 수 있습니다. Flashbots의 빌더 중앙 집중화를 예로 들면, "자신의 가치를 입증한" 빌더는 검색자에게 "신뢰"될 가능성이 더 높으며, 이는 차례로 더 높은 품질의 거래로 이어지고 시장 리더로서의 지위를 공고히 할 것입니다. 인센티브 재정렬을 통해 분산된 대안을 식별, 해결 및 구현하는 것은 기본적으로 두더지 잡기 게임입니다. 새로 도입된 인센티브 시스템에 어떤 중앙 집중화 취약점이 포함될 수 있는지, 암시적인 규모의 경제는 결코 알 수 없습니다. 뒤늦게 알려진.
또한 다양한 이해 관계자와 에이전트가 있는 복잡한 시스템(예: 블록체인)에서는 이해 관계자의 다른 행동에 영향을 미치는 한 이해 관계자의 행동이 거의 확실하기 때문에 외부 효과를 피하는 것이 거의 불가능합니다. Dainan이 "Flash Boys v2.0"에서 보여주듯이 이러한 외부 요인 중 다수는 전체 시스템을 불안정하게 만드는 실질적인 위협이 될 수 있습니다. 따라서 잘 설계된 게임 이론 원칙을 가진 분산형 시스템을 포함하여 모든 분산형 시스템에는 항상 내재된 복잡성, 정교함 및 취약성이 있으며, 그 중 하나는 예측하지 못한 취약성이 시스템의 존재를 위협할 수 있습니다.
침해에 취약한 중앙 집중식 시스템(필요한 대응책을 만들 수 있는 경우)과 비교할 때 분산형 시스템에는 명백한 "단일 실패 지점"이 없지만 이것이 바로 분산형 시스템이 때때로 중앙 집중식 시스템보다 더 강력하게 만드는 이유입니다. - 각 노드는 시스템 설계에 허점이 있는 경우 "단일 장애 지점"이 될 가능성이 있습니다.
원본 링크


