[이더리움][Ethereum] Ethereum 2.0

근상·2024년 12월 25일

Hard Fork는 사실 많은 부분이 바뀌지 않아서
유저들의 입장에서 네트워크 분기의 체감이 그렇게 되지 않는다.

그런데 Ethereum 2.0같은 경우에 1.0에서 알던 기능에 더 추가됐기 때문에
앞에서 작성한 포스들과는 다르게 느껴지기 때문에 이를 알아야

현재 Ethereum Network에 제대로 참여할 수 있다. (22년 9월에 메인넷 시작)


Ethereum 2.0

가장 큰 변화는 합의 알고리즘 형태의 변화다.

1.0 네트워크에서, 비싼 수수료(SmartContract호출, NFT 발급)와
처리를 할 때 낮은 TPS를 보여준다. 낮은 확장성 문제 해결을 위해 2.0을 출시했다.

기존 네트워크와 새로 출시한 네트워크를 합쳐서 새롭게 운영하는 방식이다.

기존의 PoW 합의 알고리즘으로 동작하던 방식이 완전한 PoS로 바뀌게 됐다.

1.0의 낮은 성능, 에너지 낭비, 채굴자 중심의 커뮤니티 등의 문제점을 해결할 PoS다.
비탈릭 부테린이 기존 에너지 사용량의 99% 이상을 감소시킬 수 있다고 했다.

Bridge에서 언급한 것처럼 하나의 블록체인이 아니라
하나의 네트워크 속에 다중 블록체인이 존재하도록 변경했다.

지하철에 비유하면 쉬운데 기존의 1호선밖에 없었지만 지금은 수많은 선로가 있다.
이렇게 되면 사람들이 더 편한하게 지하철을 이용할 수 있다.
이처럼 블록체인을 추가로 구성하고 관리하는 형태를 도입했다.


Ethereum 2.0 RoadMap

큰 틀은 유지된 상태에서 단계별로 변한 내용들이다.

  1. Phase 0

    합의알고리즘 방식이 PoW에서 PoS로 완전히 전환된다.
    이 PoS 합의 알고리즘은 Beacon Chain이라는
    합의 운영 체인(여러 Layer 중 합의를 하는 체인)에서 완전하게 운영된다.

  2. Phase 1

    Multi Layer Blockchain을 운영하기 위해 Sharding과 Roll-Up 기술이 적용된다.
    이 Phase에서는 Beacon Chain아래 64개의 Shard Chain이 운영됐다.

  3. Phase 2

    Beacon Chain밑에 하나의 Layer Chain
    Execution Layer라고 하는데 이 실행하는 레이어에서
    Ethereum 1.0 네트워크가 64개의 Shard Chain 중 하나로 변환된다.

  4. Phase 3

    EWASM은 EVM과 다른 새로운 컴파일러 기능을 갖는다. 이것이 지원되고
    Web Assembly라는 말이 붙는 것처럼 웹에서 Smart Contract를 바로 동작시킴.

    이전의 Shard Chain은 Contract나 Transfer가 실행되지 않았지만
    여기서는 EWASM과 EVM을 통해 실행하고 결과를 저장하는 기능을 지원한다.


Beacon Chain

가장 상위에 있는 Chain, Beacon Chain이다.

Beacon Chain이란 PoS합의 알고리즘으로 블록체인 전체의
합의 알고리즘을 이행하는 Main Chain이다.

CrossLink의 기술로 Shard Chain들의 State가
주기적으로 Beacon Chain상에 저장된다.

이 비콘 체인에서 PoS에 참여하기 위해서 32ETH를 예치하면 Validator가 돼,
합의 알고리즘에 참여해 연 5%~10%정도의 이자를 받을 수 있다.

이 발생하는 이자 금액이 신규 발행되는 코인이라고 보면된다.

PoS합의 알고리즘은 Gasper(LMD Ghost + Casper FFG)을 사용한다.


Validator

내가 Ethereum Beacon Chain에 참여해 검증자가 되기 위해서
Geth가 아닌 이 PoS를 위한 노드가 따로 있기 때문에
32ETH를 Deposit Contract에 입금한다.

그러면 이 Contract가 검증인들 중 랜덤으로 선정 후
블록제안을 Slot(블록 넘버와 유사)마다 진행한다.
블록이 생성 될 때마다 하나씩 진행하는 slot이다.
꼭 블록생성 당 Slot은 아니지만 거의 이렇게 진행된다.

검증인들 중 위원회를 뽑는다.
이 사람들은 epoch(64 slots)마다 beacon chain과 shard chain의
블록 유효성 검증을 진행한다.

검증 후 투표를 진행한다.
PoS이니 본인이 갖고 있는 지분만큼 투표를 진행하게된다.
이를 통해 블록이 생성되면 블록 완결성(Finalized)을 보장한다.
즉, epoch단계를 지난 블록들은 다시 되돌릴 수 없다.

비트코인의 경우 항상 블록이 final되지 않는 이유는 또 다른 longest Chain이 나오면
뒤바뀔수도 있기 때문에 일반적으로 6블록 지나야 해당 블록이 완결된다.

PoS나 TPoS의 경우, 블록 생성자도 1명이고 우선 Fork가 발생하지 않는다
그래서 투표를 통해 블록이 검증되고 바로 확정된다.

하지만 악의적인 투표나 노드 운영 미비의 경우가 분명히 있다.
이를 방지하기 위해 예치한 금액의 일부를 삭감한다.


The Merge

PoW에서 PoS로 전환되는 딱 그 시점을 The Merge라고 부른다.

현재는 Ethereum 2.0으로 운영중이기 때문에 The Merge 단계는 지났다.

하지만 어떻게 PoW로 채굴자들이 채굴하다가 갑자기 PoS의 방식을 사용할까?

PoW의 종료를 위해 채굴 빙하기를 도입했다.
알고리즘이아닌 코드상에서 Difficulty를 매우 높은 수준으로 높여
채굴자체가 불가능하게 만들었다.

그러면 The Merge이후로 자연스럽게 Beacon Chain이 이어받아 수행한다.
Phase2에서 언급했는데, Ethereum 1.0은 Excecution Layer로 계속 동작하고
블록 생성 및 전파는 Beacon Chain으로 이뤄진다.


Gasper

Gasper는 Casper FFG PoW알고리즘과 Ghost Fork Rule이 결합된 PoS합의알고리즘이다.

PoS의 기본적인 알고리즘과 동일하게 전체의 2/3 이상 투표를
얻어야 승인이 되며, 이를 Finalized라고 부른다.


<출처> : 2024.12.25 기준 etherscan.io의 Deposit Contract

잔액을 보면 55M ETH 정도가 있고, 이 지분의 2/3가 아니라
이 중 위원회를 뽑고 여기서 진행된다.

이 자료는, 6명을 뽑아서 이 중 하나가 블록 생성 제안을 하고
이 제안에 대해 6명이 가진 지분의 2/3이상을 뽑아야 Miner가
올바른 블록이라는 판단을 내리는 구성이다.

보라색 블록들이 Epoch인데, 매 블록마다 투표를 하는 것이 아니라
Epoch의 마지막 블록에 대해서만 투표를 하고, 이를 checkpoint라 부른다.
이 Epoch이전에 있는 블록들은 롤백이 불가능하게 한다.

중간에 분기된 것들을 보면 이 또한 longest chain rule에 따라 메인을 따라가고
Epoch시점에서는 절대 분기가 발생하지 않으며 다음 시점 전까지는 분기 가능성이 있다.

Ghost Protocol에 대해서 초반 포스트에서 다뤘는데
이 경우 비트코인은 가장 긴 체인, 이더리움은 가장 서브 트리가 많은 체인을 택했다.

LMD Ghost의 경우는 가장 많은 메시지를 받은 블록체인을 메인으로 택한다.


Sharding

Sharding은 블록체인 생태계에서 새로 등장한 단어가 아니라
기존에 존재하던 용어다.

이는 하나의 서버에 모여있던 데이터들을 분산 관리하는 것이다.
기존 서비서는, 데이터베이스에서 성능 향상을 위해 많이 사용되는 기술이다.

1.0이라는 데이터베이스에서, 무수한 요청이 들아오면
이 한 DB가 처리할 수 있는 양이 있는데 pending하는 현상이 발생한다.

그래서 2.0에서, 데이터 베이스를 분산시켜 P2P와 마찬가지로 분산서버가 있어
네트워크 처리 속도를 높인다.

이더리움에서 1.0은 하나의 체인에서 블록생성 및 전파 등 많은 업무를 했지만,
2.0에서 여러 체인에 역할을 분할해 네트워크 처리 속도를 높였다.


Plasma

블록체인의 확장성, scalability를 높이는 방식이다.
크게 on-chain, off-chain방식이 있다.

전자는 블록체인 내부 구조 자체를 확장성을 위해 변경하는 방식이고,
후자는 블록체인을 추가하거나 다른 기술을 도입해 외부에서 가져오는 방식이다.

Sharding과 같은 on-chain방식은 scaling이라고 부른다.
Plasma, rollUp, sideChain과 같은 방식은 off-chain방식의 layer2기술이다.

Plasma는 Merkle Tree는 모든 정보가 Root Node에 저장되는 것을 착안해
Main Chain아래 Child Tree를 만드는 방식이다.

Root Chain을 보면 Tree형태로 State값들이 저장되는데
결국 끝에 Smart Contract의 state가 가게되고 거기에서 데이터가 관리되는데
Contract Storage에 다른 블록체인 머클 루트 값을 넣는 방식이된다.

그렇게 Plasma 블록체인이 생기게 되고 거기서 발생하는 루트값만
1.0 Smart Contract에 있는 Storage에 넣으면 이게 또
머클루트로 계산돼서 이더리움 블록에서 어느정도 안정성이 보장되는 방식을 택했다.

Plasma에서 문제가 발생하면 이전 블록 까지 머클루트값이 있으니
그것을 통해 어느 정도 탈출이 가능하다.

최종적으로 안정성은 Root Chain에 의해 보장 받지만
실제 Tx를 처리하고 실행하는 것들은 Plasma에서 실행한다.


Rollup

Off-chain에서 실행한 Tx을 실행하고 결과를
Main chain(ethereum 1.0)에 올려
이 Main Chain의 보안성을 유지하는 기술이다.

이는 두 가지 방법의 기술이 있다.

  • Optimistic Rollups

    Off-Chain에서 실행된 Tx이 모두 정상이라고 가정 후
    혹시 의심되는 Tx발생시 실행된 거래들을 모두 검증하는 방식이다.

    이를 Fraud Proof라고 부르고, 이는 의심 거래 발생시
    off-chain상에 발생한 모든 Tx를 재실행해 모든 값을 대조한다.

    사기를 밝힌 검증자에겐 보상, 사기를 승인한 검증자에겐 패널티를 발생시키는 layer2다.
    EVM이 아닌 OVM을 통해 Rollup을 지원하는 컨트랙트 배포가 가능

  • Zero-Knowledge Rollups

    Off-Chain거래를 on-chain상에 업로드 하는 것을 동의하는 방식이다.
    이때 Tx뿐 아니라 zk-Snark증명을 함께 올린다.

    이유는 모두 정상이라 가정하고 올린것과는 다르게 이는
    검증을 했다라는 것을 증명할 데이터를 함께 올려
    메인체인상에서 증명완료됨을 확인해 보다 신뢰성이 높다.

    이 경우 거래 데이터를 입력할 때, 모든 주소를 Merkle Tree Index로 변환해
    트리의 인덱스만 전달해 실제로 동일한 주소를 가리키지만 데이터의 용량을 줄인다.

    이는 Transactor, Relayer로 역할이 구분된다.
    전자는 거래를 생성하고 실제 유저고, 후자는 거래를 모아 zk-Snark을 통해
    Tx의 안전함을 증명 후 layer1에 전달한다.

    이는 거래 검증에 대한 증명이 함께 올라가기 때문에 기간이 없어 실행속도가 빠르고 데이터에서 문제 발생시 탈출하는 경우

    optimistic Rollup는 의심 거래 발생 후 탈출의 여부를 몰라 약 2주의 검증이 있고,
    이는 검증이 완료된 거래들이기 때문에 바로 자산을 빼올 수 있다.

먼저 Ethereum 2.0에서 Sharding이 추가되고
그 후 ZK-Rollups, Plasma이 추가됐다.
이 기술들이 Layer2 기술이다.

그 외 새로운 블록체인 네트워크를 생성하는 Side Chain기술이 있는데,
대표적으로 Polygon이 있다.

이 경우, 데이터를 올리는 형태가 아니라 완전히 서로 다른 블록체인 합의 알고리즘
블록 구조를 갖고 있으면서 동일한 EVM을 사용해 두 Dapp이 동작하도록
Bridge를 통해 데이터를 더 원활하게 구현이 가능하다.


결론

그래서 지금까지 Ethereum, Ethereum 2.0에 대해
용어나 알아야할 기술들을 알아봤다.

아직 필자인 본인도 완전히 이해하려면 엄청 많은 시간이 더 필요하다고 느낀다.

각 기술에 대해 이해를 하더라도 분리된 형태가 아니라 서로 연동돼있기 때문에
다른 블로그나 공식 문서 등을 읽어보고 이해를 하는 것이 중요하다고 생각한다.

공부하며 쓴 포스트에 나온 용어들이 조금 더 익숙해져서 그것들을 다른 매체에서
접하게 되며 더 발전을 하는 계기가 됐으면 좋겠다.

출처)) 자료 및 내용: 패스트캠퍼스

혹시 기회되면 이더리움 앞부분이나 비트코인도 작성하겠습니다

0개의 댓글