섀도우 포크(shadow fork)란?
작성자 Alchemy
shadow fork이란 무엇인가?
Shadow fork는 devnet과 유사하지만, 자체 상태를 갖는 대신 다른 네트워크(devnet 또는 mainnet)의 상태를 복사한다는 점이 다릅니다.
예를 들어, Ethereum 메인 네트워크의 shadow fork는 mainnet으로 전송되는 모든 트랜잭션을 그대로 수락합니다.
이 브랜치는 Proof-of-Stake로 전환할 수 있지만, mainnet의 트랜잭션과 기타 상태/히스토리 데이터는 그대로 유지합니다.
shadow fork에서 merge가 성공적으로 완료되면 Proof-of-Stake 체인으로 넘어가고, mainnet에 추가된 Proof-of-Work 블록은 모두 무시합니다.
shadow fork는 일반 fork와 어떻게 다른가?
shadow fork가 원본 체인의 기존 상태 데이터를 사용해 네트워크 업그레이드를 테스트하기 위해 의도적으로 만들어지는 것과 달리, 일반 fork는 개발 커뮤니티가 프로토콜을 수정하거나 해킹의 영향을 받을 때 발생합니다. fork가 발생하면 블록체인이 분리되어, 첫 번째 체인과 동일한 히스토리를 갖지만 경로가 다른 두 번째(새로운) 블록체인이 만들어집니다.
핵심 개발자들의 블록체인 업그레이드가 fork를 유발하는 예로는, Ethereum의 트랜잭션 수수료 구조를 최적화하기 위해 EIP-1559를 도입한 London Hard Fork가 있습니다.
Bitcoin과 Ethereum은 모두 블록체인 기술을 기반으로 하며 오픈소스 소프트웨어로 운영됩니다. 이들을 "블록체인"이라고 부르는 이유는 네트워크의 첫 번째 트랜잭션까지 거슬러 연결될 수 있는 데이터 블록들로 구성되어 있기 때문입니다.
오픈소스이기 때문에, 소스 코드의 유지·개선은 커뮤니티가 담당합니다. 그 결과 블록체인을 더 안전하게 만들거나, 새로운 기능을 추가하거나, 2016년 The DAO 해킹 사건처럼 해킹의 영향을 완화하기 위해 fork가 발생하기도 합니다.
2016년 Ethereum 블록체인은 도난당한 360만 ETH를 정확히 반영한 원장을 유지한 Ethereum Classic과, 해킹을 되돌리기 위해 fork된 Ethereum으로 분리되었습니다.
soft fork와 hard fork의 차이는 무엇인가?
soft fork와 hard fork의 차이는, soft fork는 기존 블록체인의 코드를 변경하는 반면 hard fork는 블록체인을 서로 다른 두 개의 블록체인으로 분리한다는 점입니다.
Soft fork
soft fork는 블록체인을 운영하는 소프트웨어에 대한 업데이트라고 볼 수 있습니다. 모두가 이를 사용하는 한, 이는 네트워크의 새로운 규칙 집합이 됩니다.
soft fork는 보통 코드베이스와 클라이언트 소프트웨어를 변경하는 방식으로 Ethereum에 새로운 기능이나 함수를 추가하는 데 사용되어 왔습니다. 최종 결과가 단일 블록체인이기 때문에, 이러한 변경 사항은 fork 이전에 생성된 블록과도 호환됩니다.
Hard fork
코드가 크게 변경되어 새 버전을 기존 블록과 함께 사용할 수 없게 되는 경우, 이를 "hard fork"라고 합니다. 이 경우 블록체인은 두 부분으로 분리됩니다:
- 기존 규칙을 따르는 이전 블록체인
- 새로운 규칙을 따르는 새 블록체인
이는 완전히 새로운 암호화폐를 만들어내며, 여러 유명 암호화폐들이 이런 방식으로 시작되었습니다. hard fork를 통해 원래의 Bitcoin 블록체인에서 Bitcoin Cash가 만들어졌고, Ethereum(ETH)에서 Ethereum Classic(ETC)이 만들어졌습니다.
shadow fork가 중요한 이유는 무엇인가?
shadow fork는 web3 개발자들이 mainnet 프로덕션 환경의 최신 상태를 기준으로 다가오는 네트워크 업그레이드에 대한 가정을 테스트할 수 있게 해주는 중요한 도구이기 때문에 중요합니다.
Kiln 테스트넷은 Ethereum의 Execution Layer를 Proof-of-Work에서 Proof-of-Stake로 변경하는 The Merge에 대비해 개발자들이 테스트할 수 있는 마지막 테스트넷입니다.
shadow fork는 Merge가 네트워크에서 운영 중인 기존 앱들에 악영향을 주지 않고 실현될 것임을 보여주는 데 중요합니다.
이러한 shadow fork를 사용하는 테스트넷은 원활한 merge 전환이 이루어지도록 하는 테스트 환경이 되며, 노드 운영자와 빌더들의 신뢰를 형성하는 데 도움이 됩니다.
shadow fork는 어떻게 작동하는가?

위 그림에서 상단의 Goerli 블록 행은 shadow fork에 대해 알지 못하는 canonical(즉, 원본) 블록체인상의 노드를 나타냅니다.
중간의 Goerli 블록 행은 terminal total difficulty(TTD, 클라이언트가 채굴을 중단하고 PoS로 전환하도록 트리거하는 데 사용되는 총 채굴 난이도)에 도달하면 분리되도록 설정된, 구성이 다른 shadow-fork 체인상의 노드를 나타냅니다. 마지막 행에는 shadow fork를 위해 새로 만들어진 Beacon Chain이 표시되어 있습니다. TTD에 도달하면 canonical 체인의 노드들은 아무 일도 없었던 것처럼 계속 블록을 생성하고, 구성이 변경된 노드들은 분리되어 Merge를 거치게 됩니다.
그런 다음, 다음 validator가 Merge 이후의 Beacon Chain의 첫 번째 블록을 생성합니다.
shadow forking은 공개 테스트넷이나 mainnet에 영향을 주지 않으면서 fork 및 merge 프로세스가 얼마나 잘 작동하는지 개발자가 테스트할 수 있게 해주므로, 이를 수행하는 가장 좋은 방법입니다.
이러한 shadow fork 작업을 반복적으로 수행함으로써, 개발자들은 다양한 상황에서 merge 전환을 테스트할 수 있습니다.
잘 알려진 shadow fork에는 어떤 것들이 있는가?
가장 잘 알려진 shadow fork를 가진 두 테스트넷으로는 Goerli와 mainnet이 있으며, Goerli는 세 번, mainnet은 여섯 번의 shadow fork를 거쳤습니다. 두 mainnet shadow fork의 주요 차이점은, 모든 클라이언트 조합이 shadow fork 전환을 통과하여 동기화 상태를 유지했다는 것입니다.
이 shadow fork는 각 클라이언트에 대해 develop/unstable 브랜치를 사용합니다. 이는 개발자들이 더 이상 브랜치를 병합할 필요가 없다는 것을 의미합니다. mainnet에서는 예치 계약(deposit contract)이 다시 사용되었지만, 다른 fork ID를 사용했습니다.
이는 shadow fork에서 모든 mainnet 예치(deposit)가 처리되어 무효로 표시되어야 함을 의미합니다. 이 리소스 집약적인 연산으로 인해 일부 클라이언트에서 몇 가지 edge case가 발생했지만, 네트워크는 여전히 정상적으로 작동했습니다.
Ethereum을 shadow fork하는 방법
Ethereum을 fork하는 데 관심이 있다면, 무료 Alchemy 계정, HardHat, 그리고 커맨드라인 인터페이스(CLI)를 사용해 Ethereum mainnet을 fork하는 방법을 다룬 Alchemy의 단계별 가이드를 따라 해보시기 바랍니다.
shadow fork는 Ethereum 개발자에게 필수적인 도구다
shadow fork는 Ethereum 블록체인의 지속적인 개발과 확장성 개선에 중요한 역할을 합니다. shadow fork를 통해 Ethereum 핵심 개발자, 노드 제공업체, 독립 스테이커들은 다가오는 네트워크 전반의 변경 사항에 대비할 수 있으며, 이를 통해 Ethereum 애플리케이션 생태계가 중단 없이 유지될 수 있습니다.
관련 개요
Ethereum2026년 7월 28일
Robinhood Chain에서 밈코인 출시하기
Foundry와 Alchemy RPC로 Robinhood Chain 메인넷에 고정 공급량 ERC20을 작성하고 배포하거나, Alchemy CLI를 사용해 코딩 에이전트에게 출시 전체를 맡기세요.
Ethereum2025년 11월 18일
Ethereum Fusaka 업그레이드란? 12개 EIP 개발자 가이드
Fusaka 업그레이드에 대한 실용적인 분석으로, 핵심 EIP 12개와 이들이 Ethereum 스택 전반의 데이터 가용성, 암호화, 가스 비용, 검증자 운영을 어떻게 변화시키는지 설명합니다.
Ethereum2025년 5월 19일
EIP-7702: Pectra 이후 Ethereum 개발자를 위한 빠른 통합 가이드
Ethereum이 EIP-7702라는 중요한 업그레이드를 앞두고 있습니다. 모든 개발자를 위한 통합 시 고려사항을 빠르게 정리한 가이드입니다.

블록체인 매직을 만드세요
Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.