---
title: "Ethereum의 Berlin 하드포크 준비하기"
description: "Alchemy가 Berlin 하드포크를 어떻게 준비하고 있는지 알아보세요. 그리고 Alchemy 사용자로서 Berlin 하드포크에 대비하기 위해 무엇을 해야 하는지 이해하세요."
---

# Ethereum의 Berlin 하드포크 준비하기

이번 주 수요일인 2021년 4월 14일, Ethereum Foundation의 [Berlin 하드포크](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) 업그레이드가 Mainnet 블록 12,244,000에서 시행될 예정입니다.

이번 시스템 전반의 업그레이드는 네 가지 Ethereum Improvement Proposals \(EIP\), 즉 [2565](https://eips.ethereum.org/EIPS/eip-2565), [2718](https://eips.ethereum.org/EIPS/eip-2718), [2929](https://eips.ethereum.org/EIPS/eip-2929), [2930](https://eips.ethereum.org/EIPS/eip-2930)을 도입하며, 이는 Ethereum 2.0을 향한 더 큰 로드맵의 일부입니다.

### 그래서 저에게는 어떤 의미인가요?

Ethereum 노드 제공업체로 [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31)를 사용 중이시라면, 별도로 하실 일은 없습니다!

선도적인 블록체인 개발자 플랫폼으로서, 저희의 역할은 복잡한 Ethereum 인프라를 전부 처리하는 것입니다. 그래야 여러분은 노드를 운영, 유지보수, 업그레이드하는 대신 애플리케이션 구축에 집중할 수 있습니다.

저희 팀은 이번 업그레이드를 몇 달 전부터 준비해 왔습니다 — 릴리스 노트 감사, 회귀 테스트, blue green 배포 [등](https://medium.com/alchemy-api/dont-get-forked-best-practices-for-handling-constantinople-and-ethereum-client-upgrades-e0d6b5dd8e9c) — 이번 업그레이드가 발생할 때 여러분이 매끄러운 전환을 경험할 수 있도록 말이죠.

Alchemy를 사용하고 있지 _않다면_, 노드를 Berlin 호환 버전으로 업데이트하는 것이 매우 중요합니다. 그렇지 않으면 블록 12,244,000 이후 나머지 네트워크와 호환되지 않게 됩니다.

Ethereum Foundation의 [업그레이드 발표](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)에서는 Berlin 업데이트와 호환되는 클라이언트 버전을 나열하고 있습니다. 편의를 위해 아래에 정리해 두었습니다.

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "Client", dataType: "object" },
      { key: "2", width: 200, title: "Version Number", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>go-ethereum (geth)</p>", tooltip: "", icon: "" },
        "2": { title: "<p>1.10.1</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>OpenEthereum (f.k.a. Parity)</p>", tooltip: "", icon: "" },
        "2": { title: "<p>3.2.0</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>Nethermind</p>", tooltip: "", icon: "" },
        "2": { title: "<p>1.10.31</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>Besu</p>", tooltip: "", icon: "" },
        "2": { title: "<p>21.1.1 21.1.2</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p>EthereumJS VM</p>", tooltip: "", icon: "" },
        "2": { title: "<p>v5.2.0</p>", tooltip: "", icon: "" },
        id: 4,
      },
    ],
  }}
/>

‍

### 고려해야 할 모범 사례가 있나요?

좋은 질문입니다. Constantinople 하드포크 당시 저희가 작성한 모범 사례 관련 [블로그 게시물](https://medium.com/alchemy-api/dont-get-forked-best-practices-for-handling-constantinople-and-ethereum-client-upgrades-e0d6b5dd8e9c)을 확인해 보시길 권장합니다.

Berlin 하드포크와 관련해서는, 리플레이 공격을 방지하기 위해 트랜잭션이 [EIP-155](https://eips.ethereum.org/EIPS/eip-155)와 호환되는지 확인하는 것이 중요합니다. Berlin 업그레이드 이후, [geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) 클라이언트는 기본적으로 EIP-155 호환성을 강제하게 되며, 이는 EIP를 준수하지 않는 트랜잭션은 실패하게 된다는 의미입니다.

이 글을 작성하는 시점 기준으로, Alchemy는 여전히 EIP-155 이전의 보호되지 않은 트랜잭션을 지원합니다 \(필수 요건이 되기 전에 사용자들에게 충분한 사전 공지를 드릴 예정입니다\). 하지만 EIP-155 호환 요청 형식을 사용하는 습관을 들이시는 것이 좋습니다.

### 업그레이드에 참여하지 않으면 어떻게 되나요?

좋지 않은 생각입니다. 업데이트가 발생한 후에도 여러분의 클라이언트는 포크 이전 블록체인에 동기화된 상태로 남아있게 됩니다. 따라서 더 이상 사용되지 않는 체인에 머물게 되어 ether를 전송하거나 업그레이드 이후의 Ethereum 네트워크와 상호작용할 수 없게 됩니다.

### 이번 업그레이드에 포함된 새로운 EIP는 무엇인가요?

Ethereum Foundation에서 제공한 각 EIP에 대한 간단한 설명은 다음과 같습니다:

- [EIP-2565: ModExp Gas Cost](https://eips.ethereum.org/EIPS/eip-2565)는 [modular exponentiation](https://eips.ethereum.org/EIPS/eip-198) \(ModExp 0x00..05\) 프리컴파일의 비용을 낮춰 다른 연산과 비슷한 수준의 비용이 되도록 합니다.
- [EIP-2718: Typed Transaction Envelope](https://eips.ethereum.org/EIPS/eip-2718)는 여러 트랜잭션 유형을 더 쉽게 지원할 수 있도록 envelope 역할을 하는 새로운 트랜잭션 유형을 도입합니다.
- [EIP-2929: Gas cost increases for state access opcodes](https://eips.ethereum.org/EIPS/eip-2929)는 트랜잭션 내에서 처음 사용될 때 SLOAD, CALL, BALANCE, EXT, SELFEDESTRUCT의 가스 비용을 인상하며, 첫 호출 이후에는 가스 비용이 고정됩니다.
- [EIP-2930: Optional access lists](https://eips.ethereum.org/EIPS/eip-2930)는 트랜잭션이 접근할 계획인 주소 및 스토리지 키 목록인 access list를 포함하는 트랜잭션 유형을 추가합니다. 이는 EIP-2929로 인해 발생하는 일부 가스 비용 인상을 완화합니다.

### 더 이상 하드포크를 걱정하지 마세요…

Ethereum 프로젝트를 진행 중이시면서 노드 유지보수의 부담을 떠안고 싶지 않으시다면, [Alchemy에 무료로 가입하세요](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31)! Alchemy는 가장 빠르고, 가장 확장성이 뛰어나며, 가장 신뢰할 수 있는 Ethereum 인프라를 서비스 형태로 제공하여 여러분이 제품 구축에 집중할 수 있도록 합니다. 내부적으로 저희는 모든 선도적인 NFT 개발자 플랫폼, DeFi의 대부분 등을 지원하는 혁신적인 새로운 인프라를 구축했습니다! 자세한 내용은 [alchemy.com](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31)에서 확인하세요.
