Homestead 하드포크

메인넷 2016-03-14

출범 뒤 첫 프로덕션 업그레이드입니다. 거래 서명 규칙과 가스 계산을 다듬었습니다.

무엇이 달라졌나

사용자
지갑에서 바로 느낄 변화는 거의 없었습니다. 다만 이 업그레이드로 이더리움은 시험 운영 단계였던 프론티어(Frontier)를 벗어나 정식 운영 네트워크로 자리 잡았습니다. 거래 서명에 허용되는 값의 범위를 절반으로 좁혀 같은 거래가 두 가지 서명으로 표현되는 여지를 없앴습니다. 블록 생성 간격이 지나치게 벌어지지 않도록 난이도 조정 공식도 손봤습니다. 거래가 더 고르게 처리되는 바탕이 됐습니다.
지갑·앱 개발자
가장 큰 변화는 DELEGATECALL 명령이 생긴 것입니다. 다른 컨트랙트의 코드를 불러오되 저장 공간과 호출자 정보는 자기 것을 그대로 쓰는 방식이라, 공용 라이브러리 컨트랙트를 여러 컨트랙트가 나눠 쓰는 길이 열렸습니다. 뒤에 나온 프록시와 업그레이드 가능한 컨트랙트 패턴이 모두 여기서 출발했습니다. 컨트랙트 배포 비용은 가스 21,000에서 53,000으로 올랐습니다. 배포 중 가스가 모자라면 빈 컨트랙트가 남는 대신 거래 자체가 실패하도록 바뀌었습니다. 서명 값 범위가 줄어 서명 라이브러리도 그에 맞춰야 했습니다.
노드 운영자
하드포크이므로 클라이언트를 새 버전으로 올려야 네트워크에 남을 수 있었습니다. 그와 함께 노드 간 통신 규약(devp2p)에 전방 호환성이 들어갔습니다. 접속 인사 단계에서 모르는 필드가 섞여 있어도 연결을 끊지 않고 무시하도록 바꿔, 이후 통신 규약이 바뀌어도 구버전 노드와 새 노드가 함께 돌 수 있게 됐습니다. 운영 중단 없이 네트워크를 업그레이드할 기반이 이때 마련됐습니다.

주요 EIP

← 하드포크 · 로드맵