이더리움 인프라 반복의 관점에서 본 공공재의 과제와 혁신

  • 이더리움 테스트넷의 역사와 발전 과정을 다룬 글입니다. 주요 테스트넷으로는 올림픽, 모던, Ropsten, Rinkeby, Goerli, Sepolia, Holešky, Hoodi 등이 있으며, 각각의 특징과 문제점, 개선 사항을 설명합니다.
  • 이더리움 테스트넷은 기술적 문제로 인해 지속적으로 업그레이드되어 왔으며, 최근에는 PoA(권한 증명)에서 PoS(지분 증명)로 전환되는 등 혁신이 이루어졌습니다.
  • 비트코인 테스트넷의 경우, 테스트넷3에서 발생한 문제와 이를 해결하기 위한 테스트넷4의 등장을 소개하며, 테스트넷 토큰의 가치 문제에 대한 논의를 포함합니다.
  • 공공재로서의 테스트넷의 경제적 특성을 분석하며, 분리 이론을 통해 공공재의 적절한 사용을 보장하는 방법을 제시합니다.
  • 이더리움과 비트코인 테스트넷의 비교를 통해 각 플랫폼의 접근 방식과 철학을 설명합니다.
요약

작성자: shew

개요

공공재 기금인 GCC는 이더리움 인프라 연구 발전에 전념하고 있습니다. 이더리움 인프라에서 가장 일반적으로 사용되고 공개적인 구성 요소는 이더리움 테스트넷입니다. 테스트넷은 이더리움 메인넷과 유사한 테스트 환경으로, 메인넷과 동일한 핵심 인프라를 제공합니다. 테스트넷 내 거래는 사실상 수수료가 없기 때문에 모든 개발자, 연구자, 사용자에게 도움이 됩니다.

이 보고서는 테스트넷의 역사와 현재 상황에 중점을 둡니다. 이 연구는 테스트넷의 공개적 특성에 대한 더 폭넓은 이해를 돕고, 협업 테스트 인프라가 전체 커뮤니티가 접근 가능한 동시에 혁신을 지원하는 방식을 강조합니다. 이러한 네트워크의 발전 과정과 기능을 기록함으로써 향후 테스트넷 계획에 대한 정보를 제공하고 커뮤니티 지원 인프라의 가치를 입증하고자 합니다.

공개 테스트넷 및 DevNet

공개 테스트넷은 개발자와 사용자가 가장 일반적으로 사용하는 테스트넷입니다. 이 테스트넷은 스마트 컨트랙트를 배포하는 데 사용할 수 있으며, 사용자는 Faucets에서 ETH를 획득하여 테스트넷 내의 컨트랙트와 상호 작용할 수도 있습니다. 공개 테스트넷 배포 타임라인은 다음과 같습니다.

위 차트에는 최신 이더리움 테스트넷 계획이 없습니다. 최신 테스트넷 계획은 다음과 같습니다.

이러한 테스트넷의 이름은 특히 흥미로운데, 모두 지하철역이나 기차역의 이름을 따서 지어졌습니다. Ropsten과 Rinkeby는 모두 스웨덴 스톡홀름의 지하철역이고, Goerli는 베를린의 기차역이며, Sepolia는 그리스 아테네의 지하철역입니다. 최신 Hoodi 테스트넷은 인도 방갈로르의 기차역을 기반으로 합니다.

위에서 언급한 공개 테스트넷 외에도 이더리움에는 특수 테스트를 위한 일련의 내부 테스트넷이 있습니다. 예를 들어, YOLO 테스트넷은 베를린 하드포크 업그레이드에 필요한 BLS 시그니처 및 기타 기능을 테스트하는 데 사용됩니다. 이러한 테스트넷은 일반적으로 DevNet이라고 합니다. 클라이언트 통합 테스트넷이라고도 합니다. 이러한 테스트넷은 일반적으로 공개되지 않으며, 클라이언트 개발자와 감사 담당자가 내부 테스트를 수행하는 데만 사용됩니다. 이러한 테스트는 다양한 클라이언트 구현이 제대로 작동하는지 확인하고 서로 다른 클라이언트 간의 상호 운용성을 검증하는 것을 목표로 합니다.

All Core Devs Meeting 109에서 코어 개발자들은 하드포크 테스트넷의 명명 규칙으로 지질 단층선을 사용하는 것에 대해 논의했습니다. 이 원칙에 따라 코어 개발자들은 런던 업그레이드 테스트를 위해 알류트(알류산 해구)와 바이칼(바이칼 호) 테스트넷을 출시했습니다. 그러나 이후 테스트넷 명명 규칙은 이 규칙에서 벗어났습니다. 예를 들어, 바이칼 테스트넷 이후 런던 업그레이드 테스트에 사용된 또 다른 테스트넷은 칼라베라스 테스트넷으로 명명되었습니다. 하지만 핵심 개발자들이 항상 이러한 명명 규칙을 고수한 것은 아닙니다. 예를 들어, 최근 후사카(Fusaka) 하드포크 업그레이드는 devnet-1 및 devnet-2와 같이 간단하고 명확한 명명 방식을 채택했습니다.

공개 테스트넷의 역사

개척 시대: 올림픽과 모던(Morden)

올림픽 테스트넷은 2015년 초 이더리움 최초의 공개 테스트베드로 출시되었습니다. 이더리움 메인넷 공식 출시 이전에 출시된 이 획기적인 네트워크는 프로토콜의 기능을 최종적으로 검증하는 역할을 했습니다. 체인 ID는 0으로, 오랜 기간 유지되어 온 네트워크임을 나타냅니다.

이더리움 개발팀은 네트워크 스트레스 테스트를 성공적으로 수행하고 여러 포크를 생성하는 사람에게 25,000 ETH의 보상을 제공하는 바운티 시스템을 구축했습니다. 이 바운티는 높은 거래량과 극단적인 사용 패턴을 통해 이더리움의 한계를 시험하는 것을 목표로 했습니다. 아래 차트는 올림픽 테스트넷 행사 종료 후 테스트넷 참가자들에게 지급된 EF 에어드랍을 보여줍니다.

올림픽 테스트넷은 이더리움 초기 개발에 매우 중요한 역할을 했기 때문에 이더리움 메인넷의 제네시스 블록은 올림픽 테스트넷의 블록 1028201을 템플릿으로 사용했습니다. 그러나 테스트넷은 지나치게 큰 상태 집합과 잠재적인 개인 키 취약점을 포함한 여러 문제를 겪었고, 결국 2015년 7월 이더리움 메인넷의 성공적인 출시 이후 지원 중단되었습니다. 대규모 상태 집합 문제는 올림픽 테스트넷이 스팸 거래를 유도하는 데 내재된 인센티브에서 비롯되었는데, 사용자들이 보상을 받기 위해 대량의 정크 트랜잭션을 전송하면서 테스트넷의 규모가 엄청나게 커졌습니다. 잠재적인 개인 키 취약점 문제는 주로 리플레이 공격을 가능하게 할 수 있는 초기 올림픽 테스트넷 코드의 취약점에서 비롯되었습니다.

모든(Morden) 테스트넷은 올림픽 테스트넷이 종료된 직후 출시되었으며, 2015년 7월 이더리움 메인넷과 동시에 출시되었습니다. 이더리움 메인넷의 체인 ID가 1이기 때문에 모든 테스트넷은 체인 ID 2를 선택했습니다. 출시 후 1년 넘게 모든(Morden)은 유일한 테스트 환경 역할을 하며 초기 이더리움 애플리케이션의 주요 개발 플랫폼으로 자리매김했습니다. 그러나 네트워크는 심각한 합의 문제를 야기했습니다. 잠재적인 리플레이 공격을 완화하기 위해 모든(Morden) 내의 모든 트랜잭션은 2^20부터 시작하는 논스 값으로 시작되었습니다. EIP-161은 일부 논스 규칙을 수정하여 모든(Morden)의 기존 논스 규칙과 EIP-161에 명시된 규칙 간에 충돌을 일으켰습니다. 이로 인해 Geth와 Parity가 1885074 블록에서 호환되지 않는 블록을 생성했고, 이로 인해 모든 테스트넷은 지원 중단되었습니다. 특히, ETC 커뮤니티는 이 버려진 네트워크를 수용하여 "모든 클래식(Morden Classic)"으로 이름을 바꾸고 생태계 내에서 계속 유지했습니다. 그러나 2019년, ETC 커뮤니티는 최신 테스트넷으로 Morden Classic을 Mordor 테스트넷으로 대체했습니다.

Ropsten 시대와 보안 과제

이더리움 테스트넷의 세 번째 버전인 Ropsten은 2016년 11월에 출시되었습니다. 스톡홀름 지하철역의 이름을 따서 명명되고 체인 ID 3이 할당된 이 작업 증명 네트워크는 이전 버전보다 더욱 견고한 설계를 자랑했으며 모든 주요 이더리움 클라이언트를 성공적으로 지원하여 이더리움 테스트 인프라의 핵심으로 자리매김했습니다.

Ropsten의 가장 흥미로운 순간은 2017년 2월, 파괴적인 서비스 거부 공격을 받았을 때였습니다. 악의적인 공격자가 네트워크의 작업 증명 메커니즘을 악용하여 블록 가스 한도를 적정 수준인 470만에서 천문학적인 90억으로 점진적으로 증가시켰습니다. 이 공격으로 인해 수많은 쓰레기 블록이 생성되고, 상당한 디스크 공간이 소모되었으며, 클라이언트 동기화가 거의 불가능해지고, etherscan에서 데이터가 잘못 표시되었습니다.

하지만 이더리움 커뮤니티는 Ropsten 테스트넷을 완전히 포기할 준비가 되어 있지 않았습니다. 커뮤니티가 기부한 GPU 컴퓨팅 파워의 지원을 받아 Ropsten 팀은 2017년 3월 네트워크를 성공적으로 복구하여 누적된 쓰레기 블록을 제거하고 정상적인 운영을 복구했습니다. 복구 과정은 간단했습니다. 이더리움 개발자들은 커뮤니티가 기부한 GPU 컴퓨팅 파워를 사용하여 공격 이전 기간의 블록을 채굴했고, 그 결과 공격받은 체인을 대체하는 더 무거운 체인이 생성되었습니다. 이더리움 개발자들이 이 컴퓨팅 파워를 사용하여 51% 공격을 감행하여 체인의 기록을 조작하고 쓰레기 거래를 삭제하는 데 성공했다고 추정할 수 있습니다.

이 사건은 네트워크 개발에 있어 중요한 전환점이 되었으며, 대체 합의 메커니즘과 더욱 강력한 테스트 환경의 개발을 촉진했습니다. 2022년 6월 8일, Ropsten은 주요 테스트넷 중 최초로 성공적으로 병합을 완료하여 이더리움 테스트넷이 작업증명(PoW)에서 지분증명(PoS)으로 성공적으로 진화했음을 보여주었습니다.

Ropsten 병합 과정에서도 몇 가지 문제가 발생했습니다. 간단히 말해, Ropsten은 블록 난이도가 43531756765713534(TTD, Terminal Total Difficulty)에 도달하면 병합 프로세스를 시작할 예정이었습니다. 그러나 PoS 합의에 사용되는 비콘 체인이 출시되기 전에 악의적인 공격으로 인해 Ropsten의 TTD가 조기에 도달했습니다. 추가 문제를 방지하기 위해 코어 개발자들은 Ropsten 노드에 TTD를 1000000000000000000000000으로 수동으로 설정하도록 지시했으며, 코어 개발자들의 추가 수정이 있을 때까지 기다리도록 했습니다. 이 사건에 대한 자세한 내용은 Ropsten TTD 사후 분석 및 Ropsten 테스트넷 병합에서 확인할 수 있습니다. 궁극적으로 이더리움 코어 개발자들은 TTD 문제를 해결했고, Ropsten은 병합을 성공적으로 완료했습니다.

권한 증명(PoA) 혁명

2017년 2월 Ropsten 공격은 권한 증명(PoA) 테스트넷 개발을 촉진했고, 이는 2017년 3월 Kovan 테스트넷으로 이어졌습니다. Parity 팀이 개발한 Kovan은 테스트넷 철학에 근본적인 변화를 가져왔으며, 보안과 안정성을 위해 순수한 탈중앙화를 희생했습니다. 싱가포르 지하철역의 이름을 딴 이 네트워크는 체인 ID 42를 채택하고 4초의 블록 생성 시간을 유지했습니다.

특히 Kovan은 Aura 알고리즘을 사용했습니다. 이 알고리즘은 블록을 생성할 수 있는 여러 신뢰할 수 있는 블록 생성자를 정의하고 시간에 따라 순환시키는 간단한 알고리즘으로, 각 기간 동안 단 하나의 블록 생성자만 블록을 생성합니다. PoA 알고리즘에서는 공격자가 임의의 DDoS 공격을 실행할 수 없습니다. 극단적인 경우, PoA 블록 생성자는 공격자의 모든 거래를 거부할 수 있습니다.

Kovan은 혁신적인 기술에도 불구하고 클라이언트 지원이 제한되어 Parity와만 호환되고 더 광범위한 이더리움 클라이언트 생태계와는 호환되지 않습니다. 이러한 제한으로 인해 Geth와 같은 다른 클라이언트를 사용하는 개발자는 테스트에 Kovan을 충분히 활용할 수 없었고, 결과적으로 테스트 환경이 단편화되었습니다.

Rinkeby는 이더리움 팀의 보다 일반적인 권한 증명(PoA) 솔루션에 대한 요구에 따라 2017년 4월에 출시되었습니다. 스톡홀름의 다른 지하철역 이름을 딴 Rinkeby는 기존 클라이언트 코드베이스의 중단을 최소화하도록 설계된 Clique 권한 증명(PoA) 합의 엔진을 구현합니다. 체인 ID가 4이고 블록 생성 시간이 15초인 Rinkeby는 안정적인 테스트 환경을 제공하여 다양한 이더리움 클라이언트에서 쉽게 구현할 수 있도록 합니다.

Clique 합의 알고리즘은 범용 솔루션이기 때문에 이더리움 개발자들은 EIP-225에서 합의 알고리즘을 구체적으로 설명했습니다. 이 합의 알고리즘은 기존 블록 헤더 필드를 재사용하고 혁신적인 거버넌스 메커니즘을 도입합니다. extra-data 필드는 secp256k1 서명을 수용할 수 있도록 확장되었으며, miner 필드와 nonce 필드는 승인된 블록 생성자 목록을 관리하는 투표 프로토콜로 변환되었습니다. 이 세련된 솔루션은 기존 기술과의 호환성을 유지하면서 국민투표를 통한 동적 검증자 관리를 가능하게 합니다.

Rinkeby는 운영 기간 동안 1,100만 개의 블록에 걸쳐 약 1억 6,400만 건의 트랜잭션을 처리하며 놀라운 안정성을 달성했습니다. Rinkeby 체인의 최종 결과는 Rinkeby 유지 관리 팀이 더 이상 병합을 통해 Rinkeby로 마이그레이션하지 않기로 결정한 것입니다. 그 이유는 이 트윗에서 확인할 수 있습니다. 간단히 말해, Rinkeby는 주로 Geth 개발자들이 유지 관리했으며, 네트워크의 오랜 운영으로 인해 많은 양의 데이터가 축적되어 병합이 어려웠습니다.

멀티 클라이언트 혁신: Goerli

Goerli는 2018년 9월 ETHBerlin 해커톤에서 처음 시작되었습니다. 당시 ChainSafe 팀은 Geth와의 호환성을 위해 Parity의 Aura 권한 증명(PoA) 합의 메커니즘을 Go 언어로 구현하는 흥미로운 프로젝트를 시작했습니다. Afri Schoedon이 ChainSafe와 협력하여 구상 중인 "차세대" 공개 PoA 테스트넷을 구축하면서 이 프로젝트는 점차 공식적인 이니셔티브로 발전했습니다.

Goerli의 핵심 목표는 멀티 클라이언트 지원입니다. 이를 위해 개발팀은 먼저 Geth에 Parity의 Aura 알고리즘을 구현하려고 시도했습니다. 이는 ETHBerlin 해커톤에서 달성되었지만, 기존 코드베이스를 너무 많이 침범하는 것으로 판명되었습니다. 결국 Goerli 팀은 Rinkeby 테스트넷에서 그 가치를 입증한 후, 멀티 클라이언트 호환성을 위해 Clique 합의 엔진을 선택했습니다. 그러나 Goerli 개발팀은 모든 주요 이더리움 클라이언트에서 합의 프로토콜을 지원하기 위해 상당한 양의 코드를 작성했습니다.

Goerli는 2019년 1월 31일 체인 ID 5와 블록 생성 시간 15초로 공식 출시되었습니다. 이 네트워크는 Geth, Parity, Nethermind와 같은 주류 플랫폼을 지원하며 놀라운 클라이언트 다양성을 달성했습니다. 이러한 광범위한 호환성 덕분에 Goerli는 이전 네트워크에서 문제가 되었던 단편화 문제를 해결하는 최초의 진정한 범용 PoA 테스트넷이 되었습니다.

이 네트워크의 안정성과 신뢰성은 애플리케이션 개발자, 인프라 제공업체, 프로토콜 연구자들에게 최고의 선택이었습니다. 이더리움이 합병을 준비하는 과정에서 Goerli는 2022년 8월 11일 Prater 비콘 체인 테스트넷과 합병하여 PoA에서 PoS 합의로 성공적으로 전환했습니다.

Goerli의 가장 심각한 문제는 제한된 ETH 공급량이었고, 이로 인해 서비스 종료 시점에 심각한 ETH 공급 문제가 발생했습니다. Goerli에서 개발하는 대부분의 개발자와 사용자는 여러 faucets에서 테스트 토큰을 획득하거나, 유료로 구매해야 합니다.

최신 테스트넷: Sepolia/Holešky 및 Hoodi

Sepolia는 PoA 테스트넷으로, 주로 ETHPandaOps에서 관리합니다. ETHPandaOps는 이더리움 인프라 모니터링 및 최적화에 중점을 둔 팀입니다. 현재 이더리움 인프라의 핵심 유지 관리 팀으로서 다음과 같은 기능을 주로 제공합니다.

  1. 이더리움 네트워크의 상태, 성능 및 동작에 대한 데이터를 제공하는 네트워크 모니터링 도구입니다. 또한 이 그룹은 이더리움 네트워크 성능 데이터 세트인 Xatu를 관리합니다.
  2. 주로 이더리움 코어 개발자를 위한 테스트 도구는 여러 클라이언트가 포함된 DevNet을 신속하게 구축하여 노드 소프트웨어 내에서 특정 EIP의 올바른 구현을 테스트하는 데 도움을 줍니다. 이 도구의 대표적인 예로 ethereum-package가 있습니다.
  3. 기타 도구. 예를 들어, ETHPandaOps는 Funding-vault 테스트넷 토큰 배포 도구와 Snapshotter 노드 스냅샷 도구도 개발했습니다.

Sepolia는 PoA 테스트넷이기 때문에 PoS(지분증명) 레벨의 전체 테스트를 수행할 수 없습니다. 따라서 실행 계층 테스트에 중점을 둡니다. 간단히 말해, 스마트 컨트랙트 엔지니어와 사용자를 위해 설계되었습니다. Goerli 테스트넷과 비교했을 때, Sepolia의 가장 큰 장점은 테스트 ETH 공급에 제한이 없어 개발자가 숏 포지션이나 숏 포지션에서 테스트 토큰을 비교적 쉽게 확보할 수 있다는 것입니다.

Sepolia와 달리 Holešky와 Hoodi는 모두 프로토콜 계층 테스트에 중점을 둔 공개 테스트넷입니다. 프로토콜 계층 테스트는 주로 ETH 스테이커가 정상적으로 종료될 수 있는지 여부와 같은 PoS 기능 테스트를 포함합니다. Holešky는 한때 프로토콜 계층 테스트에 선호되는 테스트넷이었지만, Pectra 업그레이드 과정에서 심각한 손상을 입었습니다. 간단히 말해, Pectra 업그레이드 중에 Holešky 테스트넷이 잘못 구성되어 세 개의 노드 클라이언트가 합의에 참여하지 못했습니다. 이 합의 문제로 인해 다수의 스테이커가 슬래시되었고, PoS 스테이커의 종료 대기열이 극도로 혼잡해졌습니다. 이더리움 코어 개발자들은 클라이언트 소프트웨어 업데이트를 포함한 일련의 복구 계획을 시행했습니다. 이와 함께 약 2주 동안 대규모 슬래싱 캠페인이 진행되었고, 그 결과 수많은 결함 있는 노드가 모든 자금을 잃고 PoS 합의에 참여할 수 없게 되었습니다. 올바른 노드 소프트웨어와 결함 있는 스테이커가 제거된 후, Holešky 테스트넷은 결국 정상 운영으로 돌아왔습니다. 그러나 Holešky 테스트넷 사고로 인해 2025년 2월 말까지 Pectra 업그레이드의 다른 테스트에 참여할 수 없었습니다. 가장 큰 영향은 다음과 같습니다.

  • 이전 합의 문제로 인해 Holešky 테스트넷은 혼란에 빠졌습니다. 테스터들은 이전의 잘못된 설정으로 인해 발생한 합의 문제를 해결해야 했고, 이는 테스트의 어려움을 더욱 가중시켰습니다.
  • 과징금을 부과받고 퇴장당한 스테이커가 너무 많아 퇴장 대기열이 매우 커져 테스터들이 스테이킹 퇴장 테스트에 어려움을 겪었습니다. 스테이킹 퇴장은 Pectra 업그레이드의 일부입니다.

Pectra 업그레이드의 원활한 출시를 방해하지 않기 위해 ETHPanOps는 Hoodi 테스트넷을 출시했습니다. Hoodi 테스트넷과 Holešky 테스트넷은 기본적으로 PoS와 같은 프로토콜 계층의 정상 작동을 검증하는 동일한 역할을 합니다. 하지만 Hoodi 테스트넷은 Holešky 테스트넷보다 더 깔끔합니다.

이더리움 인프라 반복 관점에서 본 공공재의 과제와 혁신

현재 스마트 컨트랙트 엔지니어에게는 관련 테스트를 위해 세폴리아 테스트넷이 최선의 선택입니다. 프로토콜 수준 테스트에는 후디 테스트넷이 최선의 선택이지만, 홀레슈키 테스트넷은 대부분 사용되지 않습니다. 최근 ETHPanOps는 세폴리아와 후디 테스트넷만을 사용하여 60MB 블록 가스 제한이 이더리움에 미치는 영향을 검증했습니다.

비트코인 테스트넷의 가치 지향

위에서 이더리움 테스트넷의 기본적인 역사를 소개했습니다. 이더리움 테스트넷의 모든 변경은 기술적인 이유로 이루어졌습니다. 올림픽에서 모든(Morden)으로의 전환은 올림픽 내 과도한 스팸 거래로 인한 것이었고, 모든(Morden)에서 롭스텐(Ropsten)으로의 전환은 모든(Morden) 내 합의 분열 문제로 인한 것이었습니다. 롭스텐에서 린케비(Rinkeby)로의 전환은 공개 테스트넷으로서 롭스텐이 서비스 거부(DoS) 공격에 취약했기 때문입니다. 린케비에서 괴를리(Goerli)로의 전환은 병합(Merge) 업그레이드 이후 롭스텐이 기존 임무를 완료하여 추가 운영에 적합하지 않을 정도로 많은 데이터가 축적되었기 때문입니다. 괴를리에서 세폴리아(Sepolia)로의 전환은 ETH 공급 문제와 괴를리의 운영 수명 주기 문제 때문이었습니다.

반면 비트코인 테스트넷의 전환은 매우 불안정합니다. 비트코인은 역사적으로 네 개의 주요 테스트넷을 운영해 왔으며, 각각 테스트넷1 또는 테스트넷2로 명명되었습니다. 테스트넷1과 테스트넷2의 관련 이력을 찾기는 어렵지만, 테스트넷3과 테스트넷4 사이의 업데이트는 여러 가지 흥미로운 세부 정보를 제공합니다.

비트코인 코어 v0.7에 도입된 Testnet3는 Testnet2의 높은 난이도와 장기적인 거래 확인 지연 문제를 주로 해결했습니다. 그러나 Testnet3 코드에는 문제가 있습니다. 이러한 문제에 대한 자세한 설명은 2024년 4월에 게시된 lopp의 "비트코인 테스트넷 블록 스톰" 글을 참조하십시오. 간단히 말해, Testnet3 테스트넷에는 블록 난이도 재설정을 유발하는 취약점이 있습니다. 아래 이미지는 블록 난이도 재설정을 보여줍니다.

이더리움 인프라 반복 관점에서 본 공공재의 과제와 혁신

테스트넷3 난이도가 크게 변동하는 것을 볼 수 있으며, 때때로 블록 난이도가 재설정되어 난이도가 일곱 자릿수까지 떨어지는 현상이 발생합니다. 이러한 비정상적인 난이도 하락이 발생하면 테스트넷3 채굴자는 이론적으로 ASIC이나 GPU를 사용하여 단시간에 많은 블록을 채굴할 수 있습니다.

2024년 4월, 롭(Lopp)은 "비트코인 테스트넷의 슬픔(Griefing Bitcoin's Testnet)"이라는 제목의 새로운 글을 발표했습니다. 이 글에서는 롭이 테스트넷3에서 이전에 발견된 취약점을 악용하여 네트워크에 치명적인 공격을 감행한 방법을 설명합니다. 기사에서 롭은 자신의 의도를 구체적으로 다음과 같이 밝혔습니다.

  1. 테스트넷 3은 폐기되어야 합니다.
  2. 테스트넷 네트워크 내의 비트코인은 가치가 없어야 합니다.

물론, 롭이 테스트넷 3을 공격한 직접적인 원인은 비트코인 ZK 롤업을 구축하고 있던 SatoshiVM 프로젝트가 테스트에 광범위한 사용자 참여를 원한다는 그의 주장이었습니다. 이러한 사용자들은 가스비 및 기타 용도로 테스트넷 비트코인을 획득해야 했습니다. 이는 테스트넷 3에서 비트코인 판매로 이어졌습니다.

롭은 테스트넷 비트코인은 가치가 없어야 하며, 모든 개발자는 테스트넷 비트코인을 무료로 획득할 수 있고, 테스트넷 비트코인은 개발 목적으로만 사용되어야 한다고 생각합니다. SatoshiVM 프로젝트는 롭의 가치와 명백히 일치하지 않습니다. 롭은 불만을 표출하고 BTC 테스트넷 업데이트를 홍보하기 위해 대량의 테스트넷3 블록을 채굴하는 공격을 감행했습니다.

이더리움 인프라 반복 관점에서 본 공공재의 과제와 혁신

위 차트에서 볼 수 있듯이, 롭이 채굴에 참여한 후 테스트넷3 블록 수는 하루 평균 300% 증가했습니다. 이 작업이 시작된 후, 롭은 테스트넷 토큰을 판매하는 일부 프로젝트와 모토스왑(Motoswap) 프로젝트의 항의를 목격했습니다. 조사 후, 롭은 Motoswap이 BSV 커뮤니티에 의해 운영된다는 사실을 발견했습니다. 롭은 이러한 사용자들의 의견에 완전히 만족하지 못했고, 테스트넷3 블록 채굴의 해시레이트를 높여 아래 이미지에서 볼 수 있듯이 놀라운 블록 생성 속도를 달성했습니다.

이더리움 인프라 반복 관점에서 본 공공재의 도전과 혁신

즉, 테스트넷3는 이전보다 150~200배 빠른 속도로 블록을 생성하고 있으며, 이는 테스트넷3에 크게 의존하는 인프라에 상당한 영향을 미치고 있습니다. 예를 들어, 롭(Lopp)이 테스트넷3 공격을 시작한 후, 테스트넷3에 의존했던 유명 비트코인 사이드체인 프로젝트 스택(Stack)의 테스트넷이 제대로 작동하지 않게 되었습니다. "비트코인 테스트넷 구축의 과제"라는 글에서 스택은 엔지니어들이 테스트넷3에서 스택 테스트넷의 기능을 유지하기 위해 현재 테스트넷 코드를 수정하는 데 상당한 시간을 투자했지만, 여전히 스택 테스트넷이 제대로 작동하지 않았다고 밝혔습니다. 결국 스택은 테스트넷3에서의 테스트넷을 폐기하고, 스택 팀이 관리하는 자체 테스트넷인 비트코인 레그테스트(Bitcoin Regtest)를 사용하기로 결정했습니다.

롭은 자신의 글에서 다음과 같이 썼습니다.

테스트넷을 실질적인 가치 있는 용도로 사용하는 것은 매우 잘못된 생각이라는 점만 말해두겠습니다. 테스트넷은 안전하지 않으며, 저는 이를 믿지 않는 사람들에게 기꺼이 증명해 보이겠습니다. 다시 한번 강조합니다. 사람들이 테스트넷을 사용하여 비문, 룬, 서수, 거래소 등 논란의 여지가 있는 것들을 테스트하는 것은 상관없습니다. 하지만 실제 가치를 위해 그런 것들을 한다면 도지코인이나 라이트코인 같은 것을 사용하는 것이 훨씬 낫습니다. 의도적으로 방해받지 않는 프로덕션 네트워크 말입니다.

간단히 말해서, 롭이 테스트넷3을 공격한 근본적인 이유는 테스트넷3 내의 비트코인이 가치를 갖기 시작했기 때문입니다. 물론 비트코인 코어 개발자인 롭은 테스트넷3 공격에 자신의 GPU와 로컬에 배포된 노드만 사용했다고 밝혔습니다. 동시에 롭은 테스트넷4 코드가 점차 완성되고 있다고 덧붙였습니다.

기사 말미에서 롭은 테스트넷 토큰 가치의 누적을 막는 유일한 방법은 정기적인 리셋 문화를 장려하는 것일 수 있다고 언급했습니다. 이상적으로 테스트넷은 정기적으로 재설정되어야 합니다. 이렇게 하면 테스트넷 상태 점유율을 줄이고 테스트넷 내 BTC 가치 축적을 방지할 수 있습니다. 이러한 관점에서, 이더리움이 각 테스트넷에 미리 계획한 수명 주기는 테스트넷의 수명 주기가 만료될 때까지 기다렸다가 자동으로 지원 중단되므로 미래 지향적이고 효과적인 설계입니다.

마지막으로, 2024년 10월에 출시된 비트코인 코어 버전 28.0에서 코어 개발자들은 testnet4에 대한 지원을 추가했습니다.

이더리움과 마찬가지로 비트코인에도 여러 가지 테스트넷 유형이 있습니다. 위에서 언급한 비트코인 코어, testnet3, testnet4에서 지원하는 퍼블릭 테스트넷 외에도 비트코인에는 다음과 같은 테스트넷 유형이 있습니다.

  1. Bitcoin Regtest 역시 비트코인 코어에서 제공하는 테스트넷이지만, 로컬 테스트넷입니다. 테스트넷 소유자는 RPC를 사용하여 직접 블록을 생성할 수 있습니다.
  2. Bitcoin Signet은 하이브리드 테스트넷입니다. 이 테스트넷은 공개되어 있지만, 권한 증명(PoA)과 유사하게 블록에 특정 서명이 필요합니다. 모든 블록은 관리자의 승인을 받아야만 승인될 수 있습니다.

앞서 언급했듯이, 비트코인 테스트넷 업그레이드는 어떤 면에서 "무차별 대입 공격"이었습니다. 롭은 테스트넷3 블록을 채굴하는 가장 극단적인 공격을 통해 비트코인 테스트넷 업그레이드를 강제하고 자신의 의견을 피력했습니다.

만약 이더리움 내에서 테스트넷3에서 발생한 것과 유사한 문제가 발생한다면, 핵심 개발자들은 핵심 개발자 회의에서 이해관계자들을 초대하여 논의하고 해결할 가능성이 높습니다. 어떤 관점에서는 이러한 접근 방식이 더 우아하고 테스트넷에서 테스트를 진행하는 프로젝트에 영향을 미치지 않습니다. 그러나 다른 관점에서는 이 접근 방식이 덜 탈중앙화될 수 있습니다. 그러나 롭이 테스트넷3에 직접 공격한 것은 가능한 가장 탈중앙화된 방식으로 자신의 의지를 표현한 것입니다. 물론, 이로 인한 혼란은 일시적인 고통일 뿐입니다.

공공재와 고립 이론

이더리움과 비트코인 테스트넷은 모두 공공재입니다. 이 섹션에서는 공공재의 경제적 특성에 대해 간략하게 살펴보고 일부 테스트넷 동작에 대한 경제적 설명을 제공합니다. 먼저, 공공재의 본질을 정의해야 합니다. 공공재는 다른 사람들의 향유를 방해하지 않고 여러 사람이 공유할 수 있는 것입니다. 공공재의 정의는 간단하지만, 어떤 제품이 공공재인지 파악하려면 구체적인 관점이 필요합니다. 많은 경우 공공재는 공적 속성과 사적 속성을 모두 가지고 있습니다. 예를 들어, NFT는 예술적 가치로 인해 모든 사람이 감상할 수 있으며, 일부 사용자의 감상이 다른 사용자의 감상에 영향을 미치지 않습니다. 이러한 관점에서 NFT는 공공재로 간주될 수 있습니다. 그러나 NFT 소유권은 단일 온체인 주소에 귀속되므로, 이러한 관점에서 NFT는 공공재가 아닙니다.

공공재는 왜 종종 공공 수수료를 부과받지 않을까요? 이 질문에 대한 답은 일반적인 인식과 일치하지 않을 수 있습니다. 이더리움 테스트넷을 예로 들어 보겠습니다. 앨리스에게 주는 가치는 10이고, 밥에게 주는 가치는 1일 수 있습니다. 이더리움 테스트넷은 공공재이므로 앨리스와 밥이 공유할 수 있습니다. 따라서 이더리움 테스트넷에서 수수료를 부과하지 않는다면 앨리스는 10의 혜택을 받고 밥은 1의 혜택을 받아 총 11의 혜택을 얻습니다. 그러나 테스트넷에서 수수료를 2로 부과한다면, 원래 테스트넷을 사용했을 밥은 수수료가 가치보다 크기 때문에 테스트를 포기할 것입니다. 따라서 앨리스만 총 10의 혜택을 받게 됩니다. 위에서 설명한 간단한 예시에서, 테스트넷에서 수수료를 부과하면 공공재의 혜택을 받을 수 있었던 일부 사용자가 테스트를 중단하여 전체적인 혜택이 감소하는 것을 확인했습니다.

한 가지 가능한 해결책은 가격 차별로, 앨리스에게는 10달러, 밥에게는 1달러를 부과하는 것입니다. 그러나 대규모 네트워크에서 사용자별로 다른 수수료를 부과하려면 상당한 비용이 발생합니다. 따라서 경제적 최적성을 달성하려면 공공재는 무료여야 합니다. 따라서 공공재는 본질적으로 무료가 아닙니다. 차등 가격 책정이 세계 경제 최적성을 달성하는 데 비용이 많이 들기 때문에 공공재는 무료여야 합니다. 여기서 핵심 쟁점은 공공재의 가격 차별 비용입니다. 비용이 충분히 낮으면 공공재의 가격을 책정할 수 있습니다.

경제학에는 분리 이론이라는 개념이 있는데, 이는 공공재의 공공성을 유지하면서 수수료를 부과하는 방법을 다룹니다. 분리 이론은 공공재의 일부 사용자를 비용을 지불하고 다른 사용자로부터 분리한 후 해당 사용자에게 수수료를 부과하는 것을 포함합니다. 첫째, 격리되지 않은 사용자는 공공재를 자유롭게 사용할 수 있습니다. 그러나 격리된 사용자는 비용을 지불해야 합니다. 이러한 지불은 반드시 직접적인 금전적 비용을 의미하는 것은 아니며, 시간과 같은 간접적인 비용을 의미할 수도 있습니다.

예를 들어 테스트넷을 살펴보겠습니다. 이더리움 테스트넷은 격리를 구현합니다. 일반 사용자는 공개 수도꼭지(public faucet)에서 테스트 토큰을 얻을 수 있습니다. 그러나 대량의 테스트 토큰을 사용해야 하는 사용자의 경우, 이더리움 테스트넷은 해당 사용자를 격리하여 추가 수수료를 지불하고 대량의 테스트 토큰을 한 번에 획득하도록 요구합니다. 현재 이더리움은 ethpandaops가 관리하는 저장소인 Funding Vault를 사용합니다. 프로젝트 테스트를 위해 대량의 테스트 토큰을 획득하려는 사용자는 토큰 필요성을 입증하는 증빙 서류를 제출하면 ethpandaops에서 직접 토큰을 받을 수 있습니다.

BTC 테스트넷 시리즈 또한 격리 방식을 활용합니다. 사용자는 퍼블릭 수도꼭지(공공 수도꼭지)에서 소량의 테스트 BTC를 직접 획득할 수 있지만, 대량의 테스트 토큰이 필요한 사용자는 격리됩니다. 이러한 사용자는 테스트넷 노드를 실행하고 채굴 자원을 소모해야만 상당한 양의 테스트 토큰을 획득할 수 있습니다.

저희는 공공재 제공자가 공공재의 적절한 사용을 보장하기 위해 의식적 또는 무의식적으로 분리 이론을 활용할 수 있다고 생각합니다. 분리 이론은 때때로 "공공재의 남용 방지"라는 명목으로 위장하지만, 본질적으로는 별도의 격리 메커니즘을 구축합니다. 물론, 격리된 특정 사용자와 사용된 방법은 각 테스트넷의 가치를 반영합니다. 현재 BTC와 Ethereum 테스트넷 모두 테스트 토큰에는 가치가 없어야 한다는 데 대체로 동의합니다.

요약

이 글에서는 모든 Ethereum 공개 테스트넷의 발전 과정을 요약하고 BTC 테스트넷 3의 극적인 사건들을 소개합니다. 마지막으로, 공공재의 경제학을 논하며, 공공재에 공적 부담이 부과되지 않는 근본적인 이유는 그러한 부담이 전반적인 사회적 이익에 부정적인 영향을 미치기 때문이라는 점을 강조합니다. 마지막으로 분리 이론을 소개합니다.

공유하기:

작성자: GCC Research

이 글은 PANews 입주 칼럼니스트의 관점으로, PANews의 입장을 대표하지 않으며 법적 책임을 지지 않습니다.

글 및 관점은 투자 조언을 구성하지 않습니다

이미지 출처: GCC Research 침해가 있는 경우 저자에게 삭제를 요청하세요.

PANews 공식 계정을 팔로우하고 함께 상승장과 하락장을 헤쳐나가세요
추천 읽기
1시간 전
1시간 전
2시간 전
2시간 전
8시간 전
8시간 전

인기 기사

업계 뉴스
시장 핫스팟
엄선된 읽을거리

엄선 특집

App内阅读