PoW에서 PoS로 전환

존재 이유: 왜 도입됐는지 어떤 효과를 거두었는지 동작 원리: 무엇을 어떻게 동작시키는지

  • The Beacon Chain introduced proof-of-stake to the Ethereum ecosystem.
  • It was merged with the original Ethereum proof-of-work chain in September 2022.
  • The Beacon Chain introduced the consensus logic and block gossip protocol which now secures Ethereum.

https://ethereum.org/ko/roadmap/beacon-chain/

The merge 이후 Beacon Chain은 Consensus 네트워크가 되었고,

기존 네트워크도 버리는 건 아니고 original clients from the exe gossiping and executing transactions, and managing Ethereum’s state 하는 데, 통신을 위해 Engine API를 사용한다고 한다.

Engine API

https://hackmd.io/@danielrachi/engine_api

https://github.com/ethereum/execution-apis/tree/main/src/engine

https://hackmd.io/@danielrachi/engine_api

Engine API Implementation

evmVersion https://docs.blockscout.com/for-developers/information-and-settings/evm-version-information

The Merge

The Merge 변천사

  1. 비트코인 위에 프로그램을 실행시킬 수 있도록 하자 제안했지만 거절 당함
  2. 그렇게 PoW 기반의 Ethereum으로 따로 만들기 시작
  3. 추가로 검증 차원에서 별도로 Beacon Chain을 가동
  4. PoW의 보상 시스템보다, PoS의 처벌 시스템이 보안에 더 유리하다고 생각
  5. 당시 사용하던 PoW 네트워크는 (Transaction) Execution Layer로 사용하고, Beacon Chain은 Consensus Layer로 사용
  6. Execution 레이어는 Paris, Consensus 레이어는 Bellatrix 버전에서 “The Merge”를 기점으로 PoS 전환 (두 네트워크는 Engine API 스펙에 맞춰 통신)
  7. 당시 Eth 1, Eth 2 등의 용어가 있었지만 현재는 Ethereum으로 통합

원래 존재하던 비콘 체인이 The Merge를 시점으로 PoW 블록 체인과 병합되었다 근데 어떻게 병합함? (어떻게 상태를 유지하지?) hard-fork를 해야 한다면, 새로운 네트워크를 개설하고, 해당 네트워크에 기존 네트워크의 deposit을 옮길 수 있도록 하나? 아직 이루어지지 않은 샤딩은 무엇일까?

이는 hard-fork로서, 기존 PoW 방식의 Consensus rule이 변경 이후 Compatability를 지원하지 않아 발생되었다. https://www.reddit.com/r/ethereum/comments/wrgmq8/is_the_merge_a_soft_fork/?rdt=57745

The Merge was executed on September 15, 2022. This completed Ethereum’s transition to proof-of-stake consensus, officially deprecating proof-of-work and reducing energy consumption by ~99.95%.


기존 PoW 네트워크는 이제 Execution layer로 변경되었다고 하니, 아래의 스펙에서 동작하는 Ethereum execution client specifications https://github.com/ethereum/execution-specs

The merge가 적용된 버전은 Paris라고 합니다. evm-version-information

해당 링크를 보면 다양한 역대 evm을 확인할 수 있는데, Engine API 버전과 유사하면서도 다른 점이 있습니다. execution-apis

바로 Gray Glacier 이전의 버전들이 없다는 것인데요 (사진 1), 이로서도 분명하게 paris를 기점으로 hard-fork 되었음을 확인할 수 있을 것 같습니다.

그럼 The Merge 이전의 코드는 어디서 관리되고 있는 걸까요?

hard-fork 라 하면 수정된 각각의 버전들을 총칭하는 말이라는 생각도 든다. hard-forking이라 하면 되려나, 그냥 기존의 하드 포크에 수정을 가할 때, compatibility 가 없으면 hard-fork의 새로운 버전이 되고

Solidity solc opcode

\

https://github.com/ethereum/execution-specs

https://docs.soliditylang.org/en/latest/using-the-compiler.html#setting-the-evm-version-to-target

EVM EVM은 단순히 Opcode의 집합일까?

  1. https://docs.blockscout.com/for-developers/information-and-settings/evm-version-information

Ethereum Proof-of-Stake Consensus Specifications

https://github.com/ethereum/consensus-specs phase0 Bellatrix (The Merge) Deneb

Engine API

Ethereum Execution Client

frontier Paris (The Merge) Cancun

Version and Code NameBlock No.ReleasedIncl EIPsSpecsBlog
CancunTBDTBDEIP-1153
EIP-4788
EIP-4844
EIP-5656
EIP-6780
EIP-7516
SpecificationTBD
Shanghai170348702023-04-12
(1681338455)
EIP-3651
EIP-3855
EIP-3860
EIP-4895
SpecificationBlog
Paris155373942022-09-15EIP-3675
EIP-4399
SpecificationBlog
Gray Glacier150500002022-06-30EIP-5133SpecificationBlog
Arrow Glacier137730002021-12-09EIP-4345SpecificationBlog
London129650002021-08-05EIP-1559
EIP-3198
EIP-3529
EIP-3541
EIP-3554
SpecificationBlog
Berlin122440002021-04-15EIP-2565
EIP-2929
EIP-2718
EIP-2930
HFM-2070
Specification
Blog
Muir Glacier92000002020-01-02EIP-2384HFM-2387Blog
Istanbul90690002019-12-07EIP-152
EIP-1108
EIP-1344
EIP-1884
EIP-2028
EIP-2200
HFM-1679Blog
Petersburg72800002019-02-28EIP-145
EIP-1014
EIP-1052
EIP-1234
HFM-1716Blog
Constantinople72800002019-02-28EIP-145
EIP-1014
EIP-1052
EIP-1234
EIP-1283
HFM-1013Blog
Byzantium43700002017-10-16EIP-100
EIP-140
EIP-196
EIP-197
EIP-198
EIP-211
EIP-214
EIP-649
EIP-658
HFM-609Blog
Spurious Dragon26750002016-11-22EIP-155
EIP-160
EIP-161
EIP-170
HFM-607Blog
Tangerine Whistle24630002016-10-18EIP-150HFM-608Blog
DAO Fork19200002016-07-20HFM-779Blog
DAO WarsabortedabortedBlog
Homestead11500002016-03-14EIP-2
EIP-7
EIP-8
HFM-606Blog
Frontier Thawing2000002015-09-07Blog
Frontier12015-07-30Blog

Network-upgrades > Mainnet-upgrades

https://github.com/ethereum/execution-specs/blob/master/network-upgrades/README.md Homestead Paris (The Merge) Cancun

NameDate
Homestead14 Mar 2016
Tangerine Whistle18 Oct 2016
Spurious Dragon22 Nov 2016
Byzantium16 Oct 2017
Constantinople / Petersburg28 Feb 2019
Istanbul08 Dec 2019
Berlin14 Apr 2021
London05 Aug 2021
Arrow Glacier*09 Aug 2021
Gray Glacier*30 June 2022
Paris (The Merge)15 Sep 2022
Shanghai12 Apr 2023
Cancun13 Mar 2024