알아두면 쓸모있는 신나는 블록체인

[알쓸신블] 제6장 Ethereum HardFork History & Constantinople

RyuK-H 2019. 1. 15. 20:55

2019년 1월 17일 오후 1시경 7,080,000번째 블록에서 이더리움의 콘스탄티노플 업데이트가 진행된다.


이더리움의 하드포크 역사와 이번 '콘스탄티노플'에서는 무엇이 적용 되는 지 알아보도록 하자.







이더리움 로드맵



초기 이더리움은 총 4번의 하드포크를 발표했다.


(1) 황무지 이더리움에서 코인이 채굴 되며 이더리움 네트워크가 형성 되는 단계 프론티어 (Frontier)

- 2015년 7월 30일 이더리움 Genesis Block 채굴 시점



(2) 사람들이 하나 둘 모여 마을을 만들어가는 단계 홈스테드 (HomeStead)

- (#1,150,000 Block) 2016년 3월 14일


* EIP-2

- Smart Contract 생성 비용 조절 ( 21,000 -> 53,000 )

- 가스 비용이 부족해도, 빈 Contract Address가 생성되는 문제 변경

- 난이도 조절식 변경


* EIP-7

- EVM Delegate Call 적용


* EIP-8

- 네트워크 파트 개선 / 프로토콜 정의



(3) 마을이 하나의 거대한 도시가 되는 단계 메트로폴리스 (Metropolis) - 현재 단계

- 메트로폴리스 1단계 비잔티움 (Byzantium) (#4,370,000 Block) 2017년 10월 16일


* 프라이버시 보호

- 스마트컨트랙트에서 영지식 증명 사용 가능하도록 도입


* EVM 업데이트

- EVM 병렬 처리 가능

- 성능개선 & 호환성 향상


* 난이도 폭탄 연기 및 채굴 보상 변경

- 난이도 폭탄 (ICE AGE)을 1년 연기시키고, 채굴 보상을 5 ETH -> 3 ETH로 변경



(4) 변화가 완료 되고 평온이 오는 단계 세레니티 (Serenity)




이더리움 하드포크 역사


각 하드포크 마다, 의미 있는 기능 추가 및 정책 변경이 있었다.


이더리움 역사상 총 7번의 하드포크가 있었는데. 그 중 4번의 하드포크를 제외한 3번은 로드맵에 없던 하드 포크였다.



Frontier Thawing의 날짜는 2015년 8월 4일


Frontier Thawing (On Roadmap 'YES' 라고 되어있음) 

- 블록 당 가스리밋 조정, 마이너에 관련한 문제 개선

(링크 : Frontier Thawing 설명)


DAO Fork

THE DAO Smart Contract 취약점을 이용하여 이더리움 탈취

 (링크 : DAO 해킹 사건 정리 글)


EIP - 150

-  DOS 공격 대응 하드포크 (가스비 인상, EIP-2 이전 빈 Account 삭제 코드 도입)

(링크 : https://github.com/ethereum/EIPs/issues/150)


Spurious Dragon

- DOS 공격을 당하여 실시한 하드 포크 스마트컨트랙트 안에 특정 연산 부호를 넣어 공격하여, 트랜잭션 지연

(링크 : Spurious Dragon 설명)




콘스탄티노플(#7,080,000) 내용


- 이더리움 3번째 로드맵인 메트로폴리스가 비잔티움 & 콘스탄티노플로 나누어졌다.

즉, 이번 콘스탄티노플 하드포크가 완료 되면 이더리움은 3번째 로드맵인 메트로폴리스 단계를 완성하고,

세레니티에 도입할 준비를 하는 것이다. 콘스탄티노플 하드포크는 2018년 11월에 진행 될 것이라고 했지만

테스트 넷에서 몇몇 버그가 발견되서 올해로 연기된 상황이다.


- 세레니티로 넘어가기 전 확정성 관련 문제로 로드맵에 없던 '이스탄불(Istanbul)'이 추가될 수 있다.

이스탄불의 하드포크 예상시기는 2019년 10월 경이고, 

Programmatic POW로 Mining의 해싱 알고리즘을 바꾸는 기술이 주된 업데이트 항목 (EIP-1057)



콘스탄티노플 업데이트 내용 (Onter 정순형 대표님 영상 참조)



EIP-145 (링크)

- OPCODE 비트 연산자 추가. (기존 35 -> 3 GAS)

- 금융 관련 SmartContract 연산 비용 감소


EIP-1014 (링크)

- 기존 CA (Contract Adress)이 외 새로운 형식의 Contract Address 생성 가능

- [기존] CA는 계정 주소와 주소의 nonce 값으로 CA를 생성

- [변경] 계정 주소와, 코드를 가지고 만들 수 있다.

- [기존] 주소만 알수 있다면, nonce 값을 알 수 있고, 그렇게 되면 CA를 추적할 수 있다.

- [변경] nonce 대신 Source Code가 들어가기 때문에 외부에선 추적이 힘들다.

- [변경] 아직 배포 되지 않은 ONChain의 Contract를 다룰 수 있게 된다.



EIP-1052 (링크)

- EXTCODECOPY 도입

- 코드 Hash 값으로 코드 검증 가능



EIP-1234 (링크)

난이도 폭탄 (ICE AGE)을 1년 연기시키고, 채굴 보상을 3 ETH -> 2 ETH로 변경

(비잔티움 하드포크에서는 1년 연기와 5 -> 3 감소)



EIP-1283 (링크)

- [문제] 단기간 스토리지 사용 비용이 너무 높았다. (작년 초 이더리움 '임대료'와 연결 된 내용)

- [기존] SSTORE 기존 가스 비용 (EDIT : 5,000 GAS / NEW : 20,000 GAS / DELETE: +5,000 - 15,000 GAS)

- [변경] 변경에 대한 비용 감소. 삭제 환불 비용 증가





참고



https://steemit.com/kr/@bigthumbsup/2mhzbo

https://tokenbank.co.kr/forum/view/23426/

https://www.decenter.kr/NewsView/1VE1AABS5F/GZ03

https://www.bloter.net/archives/327492

https://www.youtube.com/watch?v=Mlzx0QJU6S0&feature=youtu.be&fbclid=IwAR2gKrJNodqR24r2PhDko8YaIaXCpmPzLcmWwWFxvLIU2_v1-STY4C40Hqo