___  ___    _ _    _  _ _____   _____
 / __|/ _ \  | | |  | || |_ _\ \ / / __|
| (_ | (_) | |_  _| | __ || | \ V /| _|
 \___|\___/    |_|  |_||_|___| \_/ |___|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

이더리움 콘스탄티노플 하드포크 내용 정리 (Ethereum Constantinople Hardfork)

BY: @modolee | CREATED: Jan. 13, 2019, 9:04 a.m. | VOTES: 26 | PAYOUT: $6.77 | [ VOTE ]

[IMAGE: https://cdn-images-1.medium.com/max/1600/1*A9ImG72ocext5SptLC9-yg.jpeg]
출처 : Is the Status of Second-Ranked Ethereum in Risk? — Medium

안녕하세요. 개발자 모도리입니다.
오늘은 이더리움 하드포크에 대해서 이야기 해보겠습니다. 요즘 이더리움의 가장 큰 이슈는 콘스탄티노플 하드포크입니다. 메인넷의7,080,000 블록을 기준으로 콘스탄티노플 하드포크가 일어나게 됩니다.

이와 관련된 다양한 서비스들이 제공되고 있습니다.

이번 글에서는 하드포크가 무엇인지, 어떻게 대처해야 하는지, 이번 하드포크에 어떤 사항이 반영되는지, 향후 예정 된 하드포크는 어떤 것이 있는지 알아보겠습니다.

하드포크란 ?

포크

소프트웨어 업데이트의 일종이라고 생각하시면 됩니다. 포크의 종류는 하드포크와 소프트포크로 나뉘게 되는데 소프트포크는 이전 버전과의 호환이 가능한 업데이트라고 보시면 되고, 하드포크는 이전 버전과 호환이 불가능 업데이트라고 보시면 됩니다.

[IMAGE: https://cdn-images-1.medium.com/max/1600/0*DFlQqM3IhYRCEBg3]
소프트 포크 (출처 : Hard and Soft forks — CrytoGraphics)

[IMAGE: https://cdn-images-1.medium.com/max/1600/0*jRpZqlMXclsgVmU2.png]
하드 포크 (출처 : Hard and Soft forks — CrytoGraphics)

조금 더 이해하시기 쉽게 게임에 비유해 보겠습니다.

이번 콘스탄티노플 업데이트는 모두가 만족할 수 있는 내용을 포함하고 있어서 체인이 두 갈래로 갈리지 않을 것이라고 많이들 예측하고 있습니다.

이더리움 타임라인

이더리움이 현재까지 진행한 하드포크와 앞으로 진행 될 하드포크를 살펴 보겠습니다.

[IMAGE: https://cdn-images-1.medium.com/max/1600/0*Prf2DP8DA1SLP6CQ.png]
이더리움 로드맵
(출처 : Ethereum’s Upgrades: Why Constantinople Fork Is So ‘Hard’ to Implement — CoinTelegraph)

이더리움의 로드맵은 크게 4개의 Step으로 구성되어 있습니다.

그 동안 있었던 하드포크 목록을 살펴보면 아래와 같습니다.

각 Step 마다 한 번의 하드포크만 일어나지 않고 예상치 못한 이유로 인해서 발생한 포크도 있습니다. 그 대표적인 예가 Step 2인 Homestead의 DAO 하드포크입니다. (이 하드포크를 기준으로 이더리움과 이더리움 클래식으로 체인이 갈리게 됩니다.)현재는 Step 3인 Metropolis 단계에 있으며, Metropolis 중 phase 2인 콘스탄티노플 하드 포크를 앞두고 있습니다.

콘스탄티노플 하드포크는 어떻게 진행되나?

2018년 10월에 Ropsten 테스트넷에서 하드포크를 진행했으나 실패하여 원상복구(revert) 시켰습니다. 그래서 더 준비할 시간을 갖고 다시 진행하자고 해서 정해진 시점이 7,080,000 블록입니다. 개발자들이 열심히 여러 종류의 이더리움 소프트웨어들이 하드포크에 대비하고 있는지 체크하며 열심히 준비했습니다.
이번 하드포크에서는 Ropsten 대신 Rinkeby 테스트넷에서 검증을 거친 후 Mainnet에 반영할지 말지를 결정하게 됩니다. Rinkeby 테스트넷에서는 이미 3,660,663 블록을 기준으로 하드포크가 일어났습니다. Rinkeby 테스트넷의 하드포크는 성공적으로 진행되었다는 기사가 있습니다.

우리는 무엇을 준비해야 되는가?

Ether 보유자

별 다르게 하실 일은 없습니다.

Miner, Node 운영자

위에 해당 하시는 분들은 반드시 최신 이더리움 노드를 설치하셔야 합니다. 업데이트를 받지 않으신다면, 아래와 같은 상황이 벌어집니다.

[IMAGE: https://cdn-images-1.medium.com/max/1600/1*aNsQTzjoODGTabH9ZQiiGA.png]
Rinkey 노드 현황

Rinkeby 테스트넷은 3,660,663 블록을 기준으로 하드포크가 일어났습니다. Geth를 기준으로 1.8.20 이후 버전을 사용하는 노드는 정상적으로 블록 싱크가 맞는 반면 이전 버전을 사용하는 노드(빨간색으로 표시 된 부분)는 블록 싱크가 맞지 않고 있습니다.

필요한 클라이언트 버전

콘스탄티노플 하드포크에 대응하기 위한 클라이언트(많이 사용하시는 geth, parity만 준비했습니다.) 버전은 아래 같습니다.

콘스탄티노플

포함되는 EIP(Ethereum Improvement Proposal)를 살펴보겠습니다. 총 5가지의 EIP가 포함되며, EVM 성능 향상, 오프체인(스테이트 채널) 트랜잭션 대비, PoS 전환 대비를 위한 내용이 포함되어 있습니다.

EIP 145 : Bitwise shifting instructions in EVM

EIP 1052 : EXTCODEHASH opcode

EIP 1283 : Net gas metering for SSTORE without dirty maps

EIP 1014 : Skinny CREATE2

EIP 1234 : Constantinople Difficulty Bomb Delay and Block Reward Adjustment

영상으로 정리 된 자료

2018년 10월 하드포크 실패 전에 만들어진 영상이라서 EIP 1283 설명은 빠져있습니다.
https://youtu.be/rfg408lSAj0
출처 : Simply Explained 채널 — Youtube

콘스탄티노플 이후

기존 로드맵 상으로는 콘스탄티노플 이후 Serenity step으로 넘어 가게 되어 있었습니다. 그러나 이더리움 공식 일정에 명확히 반영되어 있진 않지만, 52회 이더리움 코어 개발자 회의 아젠다에서 이스탄불 포크의 대략적인 일정을 제안하였으며, ProgPoW에 대한 이야기로 나왔습니다. 1월 18일에 예정되어 있는 53회 이더리움 코어 개발자 회의 에서 이스탄불 하드포크의 로드맵과 ProgPoW 하드포크 실행 여부가 논의될 것 같습니다.

이스탄불 (Istanbul phase of Metropolis step)

콘스탄티노플 이후에 바로 세레니티로 넘어가면서 PoS로 전환한다는건 매우 큰 변화가 될 것 같습니다. 그리고 준비되어야 하는 것들도 굉장히 많을 것입니다. 그로 인해서 세레니티 전에 이스탄불이라는 하드포크를 한 번 더 진행하여 세레니티 전에 필요한 준비를 조금 더 진행할 예정인 것 같습니다. 아직 어떤 EIP들이 포함될 지는 결정되지 않았습니다. 시기는 대략 2019년 10월 쯤을 목표로 하고 있는 것 같습니다.

ProgPoW (EIP 1057)

ProgPoW는 Programmatic Proof-of-Work의 약자로 PoW 알고리즘을 주기적으로 변경할 수 있게 만드는 것입니다. ASIC은 특정 알고리즘에 특화되게 만들어진 칩으로 알고리즘이 변화하게 될 경우 무용지물이 됩니다. 그래서 ASIC 사용이 불가능하도록 Ethash에서 조금 더 발전한 ProgPoW를 제안한 것입니다. PoS로 전환을 하기 위해서는 아직도 12개월 이상(난이도 폭탄을 기준으로 생각했을 때 이야기 입니다. 물론 난이도 폭탄을 더 미루게 될 수도 있습니다.)의 시간이 남아 있습니다. 그 기간 동안에는 어쩔 수 없이 PoW를 계속해서 사용해야 하는데, 이것은 ASIC 사용으로 인한 중앙화 문제를 일으킨다는 지적을 받고 있습니다. 그래서 PoS 변환까지 아직 시간이 남아 있고, 이스탄불 하드포크까지도 시간이 많이 남았으니 그 전에 ProgPoW로 전환하는 하드포크를 한 번 더 진행하자는 의견입니다.

Serenity(Ethereum 2.0) step

본격적으로 확장성 문제를 해결하는 단계가 될 것입니다. PoS, Sharding

참고자료

[IMAGE: https://steemitimages.com/DQmWQDjyP5d1RNW3mkCWUkDQ6yh3uDJFUZErPpaKBwKi4gM/iron_modolee.png]
* 저는 블록체인 개발사 (주)34일에서 블록체인 엔지니어로 일하고 있습니다.
* 890만 팔로워 전세계 1위 한류 미디어 케이스타라이브(KStarLive)와 함께 만든 한류 플랫폼에서 사용되는 케이스타코인(KStarCoin) 프로젝트를 진행 중입니다. 팬 커뮤니티 활동을 하면서 코인을 얻을 수 있으며, 한류 콘텐츠 구매, 공연 예매, 한국 관광 상품 구매, 기부 및 팬클럽 활동 등에 사용 될 계획입니다.

TAGS: [ #ethereum ] [ #kr-dev ] [ #constantinople ] [ #day34 ] [ #kstarlive ]

Replies

@blockchainstudio | Jan. 13, 2019, 9:37 a.m. | Votes: 1 | [ VOTE ]

직접 번역과 정리한 자료이신가요? 좋은 자료 감사합니다.

@modolee | Jan. 13, 2019, 3:06 p.m. | Votes: 0 | [ VOTE ]

넵 자료들 참고해서 정리하고 EIP 내용들은 github 코드 변경 부분을 보고 나름의 해석을 해서 작성했습니다. ^^

@blockchainstudio | Jan. 14, 2019, 11:23 a.m. | Votes: 1 | [ VOTE ]

답변과 좋은 자료 감사합니다~

@anpigon | Jan. 13, 2019, 10:26 a.m. | Votes: 1 | [ VOTE ]

정리를 잘 해주셨어요. 감사합니다.

@modolee | Jan. 13, 2019, 3:07 p.m. | Votes: 1 | [ VOTE ]

좋게 봐 주셔서 감사합니다! 글이 뜸했는데 종종 올리겠습니다!

@goodhello | Jan. 13, 2019, 12:46 p.m. | Votes: 1 | [ VOTE ]

와우~ 완전 정리 잘해 주셨네요~

이더리움이 많이 힘을 못쓰고 있는것 같은데... 이번 하드포크로 다시 도약을 할수 있을지 기대가 되는군요.

@modolee | Jan. 13, 2019, 3:09 p.m. | Votes: 0 | [ VOTE ]

긴 글 봐주셔서 감사합니다!
이전 하드포크는 세레니티 전에 초석을 깔고 있는 단계라고 생각합니다. 저도 앞으로 더 발전 될 이더리움 기대하고 있습니다.

@steemitboard | Jan. 13, 2019, 1:31 p.m. | Votes: 0 | [ VOTE ]

Congratulations @modolee! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

https://steemitimages.com/60x70/http://steemitboard.com/@modolee/voted.png?201901131257You received more than 250 upvotes. Your next target is to reach 500 upvotes.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

SteemWhales has officially moved to SteemitBoard RankingSteemitBoard - Witness Update

> Support SteemitBoard's project! Vote for its witness and get one more award!

@jyinvest | Jan. 15, 2019, 12:08 a.m. | Votes: 1 | [ VOTE ]

잘보고 갑니다. 정성이 느껴지네요

@modolee | Jan. 15, 2019, 12:27 a.m. | Votes: 0 | [ VOTE ]

읽어 주셔서 감사합니다! ^^

@modolee | Jan. 16, 2019, 1:52 a.m. | Votes: 0 | [ VOTE ]

하드포크가 연기되었습니다.

https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/

@dj-on-steem | Jan. 16, 2019, 8:07 p.m. | Votes: 1 | [ VOTE ]

며칠 전 (연기되었지만) 이번 하드포크를 앞두고 왜 뜬금없이 모네로의 난이도가 올라가는지에 대한 추론을 썼었는데, 실제로 하드포크 내용중에 보상 감소가 들어가니 모네로로 방향을 바꾸는 채굴자들이 늘면 늘었지 줄진 않겠군요.

참고로, 글의 태그 중에 한글로 작성된 글이라면 #kr 태그는 거의 필수라고 보시면 됩니다. 또한 코인 관련해선 #coinkorea 태그가 사람들의 관심을 많이 받고있죠 ^^

@modolee | Jan. 17, 2019, 1:43 a.m. | Votes: 0 | [ VOTE ]

[취미 채굴자의 기록] 고래 싸움에 터지는 새우등 (feat. 이더리움 하드포크)
작성하신 분석 글 재밌게 봤습니다. 하드포크가 연기되면서 채굴자들이 다시 이더리움으로 방향을 틀었을지도 궁금하네요. 다음 글 작성 시에는 #kr, #coinkorea 도 달아보겠습니다. 팁 감사합니다.^^

@dj-on-steem | Jan. 17, 2019, 2:51 a.m. | Votes: 1 | [ VOTE ]

찾아봐 주시니 고맙습니다. 어제오늘 이더리움 해쉬레잇은 계속 감소중인 걸로 보아 임시 대피가 아니라 슬슬 이더에서 발을 빼려고 하는게 아닌지 의심되네요 ㅎㅎ

@modolee | Jan. 17, 2019, 11:50 p.m. | Votes: 0 | [ VOTE ]

앞으로 계속 주시해야겠어요. 새로운 정보 알려주셔서 감사합니다 ㅋ

@partiko | Jan. 18, 2019, 12:37 p.m. | Votes: 0 | [ VOTE ]
@sindoja | Jan. 18, 2019, 1:10 p.m. | Votes: 1 | [ VOTE ]

번역 수고하셨습니다.

그와는 별개로 연기되어지는걸 보면서
기획을 기획일 뿐이다라는
생각도 없지는 않네요;;;;

@modolee | Jan. 20, 2019, 12:41 a.m. | Votes: 0 | [ VOTE ]

읽어주셔서 감사합니다.^^
한번 연기되고 다시 철저히 준비해서 한다고 한 것인데도 이러는거 보면 변수가 너무 많은 것 같네요 ㅠㅠ
이번 일을 계기로 하드포크 전에 다른 개발자들이 버그를 더 많이 찾을 수 있도록 버그 바운티 프로그램을 미리 운영하여 하드포크 하루 전에 연기하는 일을 방지하는 이야기들도 나오고 있습니다.

@anpigon | Feb. 9, 2019, 3:08 a.m. | Votes: 0 | [ VOTE ]

매번 리블로그 해주셔서 감사합니다.

@steemitboard | March 1, 2019, 1:38 a.m. | Votes: 0 | [ VOTE ]

Congratulations @modolee! You received a personal award!

https://steemitimages.com/70x70/http://steemitboard.com/@modolee/birthday1.pngHappy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Do not miss the last post from @steemitboard:

Carnival Challenge - Collect badge and win 5 STEEM

Vote for @Steemitboard as a witness and get one more award and increased upvotes!
[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>