ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이더리움 오프체인 해결책
    블록체인/이더리움 2024. 5. 11. 23:54

    비트코인 확장성 해결을 위한 오프체인 방식엔 두 가지가 있었다.

     

    1) 라이트닝 네트워크

    2) 레이어2

     

     

    확장성 해결의 본질은 아래와 같다. 

     

    1) 어떻게 하면 보안성과 탈중앙성을 해치지 않으면서 확장성을 해결할 수 있는가

    2) 어떻게 하면 블록체인을 더 편하고 빠르게, 더 저렴하게 사용하도록 만들 수 있는가

     

    이 두 가지 문제를 해결하여 대중화에 기여하고자 함이 있다.

     

     

    ...

     

     

    아래는 비트코인 오프체인 해결책에 관한 글이다. 

     

    https://hyokeun0419.tistory.com/197

     

    비트코인 오프체인 해결책

    비트코인을 활용한 대표 프토콜은 두 가지가 있다. 1) 2016.01 라이트닝2) 2017 스택스  ...  라이트닝 네트워크 란,   비트코인은 가치전송에만 집중된 프로토콜이다. 다만 수수료가 너무 높아

    hyokeun0419.tistory.com

     

     

    ...

     

     

    ETHOS 

    - 이더리움 정신, 사상을 담은 커뮤니티이며, 확장성 해결을 위해 계속해서 고민하고 있다. 

     

     

    확장성 해결에 대한 '체인 구조 변경' 등 각 연구들이 이더리움 초기부터 아주 활발했다. 기술로써 모든 것을 해결할 수 있다는 낙관론적인 시각의 엔지니어들과 이더리움 ETHOS 는 해당 고민을 계속 해왔다.

     

     

    ...

     

     

    이더리움 확장성 해결엔 '오프체인 방식과 온체인 방식'이 있지만 결국 이 둘을 모두 사용한다.

     

     

    이더리움 체인이 개발됐던 극 초기엔 온체인 해결 방식으로 주된 논의가 되었다.

     

    - 이더리움 블록체인이 거래를 블록에 담고 검증하는 구조 자체를 바꾸어서 확장성을 높이려 했다.

    - 이는 체인 자체의 변경을 통해서 거래 검증의 속도를 높이자는 쪽이 당시 주된 논의였다.

     

     

    이러한 확장성 문제에 대한 고민은 2014년 이더리움 메인넷이 나오기 전부터 깊이 논의가 되기 시작했었다.

     

    - 당시 비탈릭은 확장성 해결을 위해 이더리움 메인넷의 구조 자체를 바꿔야 된다고 주장하였다.

    - 확장성 관련한 목표를 이더리움 런칭 전 부터 언급했었다. 

     

    https://blog.ethereum.org/2014/10/21/scalability-part-2-hypercubes

     

    Scalability, Part 2: Hypercubes | Ethereum Foundation Blog

     

    blog.ethereum.org

     

     

    이후 여러 코어 개발자들과 함께 확장성 해결을 위해 계속해서 연구하고 있으며 현재까지도 진행중에 있다. 로드 맵 또한 계속해서 변하고 있고 이는 탈중앙 커뮤니티임을 보여주는 사례이기도 하다.

     

     

    https://ethereum.org/en/roadmap/

     

    Ethereum roadmap | ethereum.org

    The path to more scalability, security and sustainability for Ethereum.

    ethereum.org

     

     

    다만 아직까지 무엇이 옳은 답인지 아무도 모른다.

     

     

    실패 위험성을 줄이는 방식을 생각해보면 한 명의 천재가 모든 정답을 계속 맞춰갈 수 없다. 탈중앙 방식으로 고민, 제안, 반론하여 최적의 경로를 찾아가는 방식이 실패의 위험성을 줄이는 방식이 아닐까.

     

     

    ...

     

     

    초기 로드맵 Quadratic Sharding (2017)

     

    - Hub and Spoke

    - Super Quadratic Sharding

    - HyperCube

     

    이를 ETH1.0(Pow) 라 한다. 이 때 당시 지분 증명(Pos) 블록체인의 구조 논의가 시작된 극 초기가 있었다. 2017년 말, 위 3가지 등 논의를 정리한다. 그것이 Quadratic Sharding 이다. 이 계기는 ETH2.0(Pow) 을 준비를 하면서 부터이다.

     

     

    당시 이더리움 검증방식을 작업 증명에서 지분 증명으로 바꾸는 것이 가장 큰 업그레이드 중 하나였다.

     

     

    이를 위해 가장 힘을 쏟아야할 연구가 '샤딩' (Quadratic Sharding) 이였다. 

     

     

    https://www.youtube.com/watch?v=Km9BaxRm1wA&t=1272s

     

     

     

    샤딩이란,

     

    - 블록체인을 여러 개의 체인 혹은 샤드로 쪼개는 것을 말한다.

    - 나눠서 저장하고, 나눠서 처리하기 때문에 처리 속도가 올라간다.

     

     

    1) 이더리움 체인을 여러 개의 하위 체인(샤드)으로 분할한 뒤 검증자들은 나누어 샤드 당 한 그룹씩 배치시킨다. 

    2) 노드들은 소속되어 있는 샤드의 트랜잭션만 검증하고 저장하면 된다. 

    3) 결과적으로 네트워크의 부담이 줄고 속도와 효율성은 증가한다.

     

     

    하여 2022년까지 '샤드 체인을 데이터 처리와 저장 레이어로서 지원'하고 '샤드 체인과 스마트 컨트랙트간의 결합을 목표'로 하겠다는 발표를 하였다. 

     

     

    ... 

     

     

    샤드 체인과 비콘체인

     

     

    일단 비콘 체인과 샤드 체인을 구분할 수 있어야 한다.

     

     

    비콘 체인은 가장 메인이자 중심 체인이다. 

    - 지분 증명 메커니즘(Pos)에서는 이더리움을 스테이킹하고 거래 검증과정에 참여하여 거래를 검증함으로써 보상을 받는 구조이다.

    - 이 때 가장 메인 역할을 하는 것이 비콘 체인이다. (중심 체인) 

     

     

    비콘 체인의 양쪽 사이드로 있는 체인을 '샤드 체인'으로 명명하여 '데이터 처리와 저장' 두 기능을 할 수 있는 체인으로 활용하고자 했다. 

     

     

    1) 데이터 처리는 블록체인이 구동될 때 지갑 변화, 스마트 컨트랙트 이 후에 상태 변화를 하고 계산하는 것이 데이터 처리이다. 

    2) 데이터 저장은 변화된 상태를 저장하는 것을 말한다.

     

     

    이 후 지분증명에 대한 갑론을박이 계속되었다. 역사적으로 보면 Hypercube, Quadratic Sharding, Serenity 등 업데이트는 지속되지 않고 계속해서 로드맵과 방향이 바뀌었다. 

     

     

    Serenity 발표 2달 전엔 롤업 중심의 이더리움 로드맵을 발표하여 '샤딩 체인'의 용어가 점점 축소되고 있다.

     

    ...

     

     

    이러한 히스토리를 알아야 하는 이유가 있다. 대중화의 목전에서 어떤 논의를 통해 여기까지 왔는지, 그리고 히스토리를 아는 것이 현재 이더리움 커뮤니티의 정신, 태도, 발전 방향성을 예측할 수 있는 중요한 키가 된다.

     

     

    ...

     

     

    왜 샤딩 기능(댕크 샤딩/프로토 댕크 샤딩) 이 축소되었을까.

     

     

    1) Quadratic Sharding 구조가 너무 복잡하여 단 시간 내 실현 가능성이 낮았다.

    2) 롤업 개념이 엄청난 지지를 받게되었다. 롤업은 외부에서 데이터를 처리하는 오프체인 방식이다. 

     

     

    2020년 10월 공식 이더리움 로드맵에서는 더 이상 이더리움 메인 체인 자체의 구조 변경이나 그 안에서 모든 것들을 해결하지 않겠다 선언을 한다. 이는 '오프체인 방식, 롤업 중심'으로 가겠다는 선언이다.

     

     

    샤딩 기능은 간소화된 상태로 도입이 변경되었다. (기능 축소)

     

     

    기존 샤딩에서는 데이터의 처리와 저장을 둘 다 했었다. 이 후엔 데이터 저장에만 샤딩을 쓰도록 간소화하였다. 데이터 처리는 롤업이 하는 것이다. 이것이 롤업 중심의 로드맵이다. 

     

     

    ...

     

     

    결국 확장성 해결에 있어 온체인 방식에서 온체인과 오프체인을 혼합하는 방식으로 바뀌었다.

     

     

    샤딩 체인은 저장만을 담당하고 오프체인(외부 체인)에서 롤업을 사용하여 데이터 처리를 담당하였다.

     

     

    이에 더해 긴 시간 커뮤니티는 샤딩을 어떤 방식으로 활용할 수 있을 것인가에 대한 논의를 하였다. 

     

     

    샤딩의 기능 축소와 그 과정에서 있을 중앙화 문제를 막기 위한 조치로써 '댕크 샤딩'을 채택하였다.

     

     

    ...

     

     

    댕크샤딩은 샤딩 체인을 저장 수단으로만 쓰는 것이다. (처리는 롤업 또한)

     

     

    또한 거래 처리에 있어 중앙화 문제를 막기 위해 '블록을 제안하는 사람'과 '처리하는 주체', '블록 빌더'를 분리한다.

     

     

    이것이 댕크샤딩에 주된 요지이다. 

     

     

    여기서 blob 개념이 나오는데, binary large object 의 약어이다. (이진수의 대용량 데이터 덩어리)

     

    거대한 양의 트랜잭션을 한 번에 롤업을 통해 모두 처리하고, blob 형태화하여 임시 저장한다. (30일)

     

    블롭은 블록체인이 널리 쓰일 수 있게 핵심적인 역할을 하는 것이다. 

     

     

    댕크샤딩에서 blob 의 역할은 중요하다. 

    - '대용량의 임시 저장 장치' 로서 롤업이 처리한 데이터를 보다 저렴하게 저장할 수 있다.

     

     

    댕크 샤딩에서는 롤업에서 처리한 데이터는 샤드에 저장하였다. 샤드와 비콘 체인간의 연계성을 확보하기 위해 비콘 체인의 블록 제안자들이 blob 이라는 데이터 저장소 세트를 제안하고 투표를 통해 그 세트가 통과되면 blob 의 header 데이터만 이더리움 비콘 체인에 저장하게 된다.

     

     

    블롭 데이터를 메인넷에 직접, 바로 저장하는 것에 비해 임시 데이터이기 때문에 훨씬 더 저렴하다. 

     

     

    ... 

     

     

    그리고 프로토 댕크샤딩이 있다. 

     

     

    1) 댕크샤딩을 실현 하기 위해 긴 세월이 걸린다는 판단을 하였다. 

    2) 중간 다리로써 보다 간소화된 버전의 프로토 댕크샤딩 , EIP (이더리움 개선 제안) 4844 이 2022년 2월에 제안되었다. 

    3) 댕크 샤딩도 현재 기술로는 원활한 구현과 작동이 불가능하다는 판단에 제안이 된 것이다.

     

     

    프로토 댕크 샤딩은 간소화된 버전으로 롤업 처리 결과를 블롭에 저장하는 방식이다. 

     

    - 참고로, 샤딩 체인 이 자체는 아직 안나왔다. (구현 안됨).

    - EIP-4844 에서는 비콘 체인에 블롭 형태로 롤업이 처리한 데이터들을 저장하는 것을 프로토 댕크 샤딩이라 말한다.

    - 프로토는 최초, 처음에서 유래된 라틴어이다. 

     

     

    즉 최초의 댕크 샤딩으로서 우리가 구현하고자 하는  수년 후의 댕크샤딩의 필요한 기초 작업을 징검다리로 행한다 라고 생각하면 된다.

     

     

    현재 고앨리 테스트넷에 이미 적용이 되었다. 3/14 프로토 댕크샤딩을 포함한 덴쿤 업그레이드가 진행된다. 

     

     

    프로토 댕크샤딩은 두가지로 요약된다.

    1)수년 후에 있을 댕크 샤딩에 일부 로직을 미리 도입,

    2) 블롭을 출시하여 비콘 체인에 도입하는 것이 주된 목표이다. 

     

     

    ...

     

     

    History 

     

    온체인 방식

    (2017년 샤딩)

     

    2021.12 댕크샤딩 제안

     

    오프체인 방식

    (2022.02 롤업 제안)

    (프로토 댕크샤딩 EIP4844) 

     

     

    ....

     

     

    정리

     

    1) 확장성 해결의 핵심은 아래와 같다.

    - 보안성과 탈중앙성을 해치지 않으면서 확장성을 해결할 것

    - 더 빠른 전송과 저렴한 수수료

    - 이를 통한 블록체인 대중화

     

    2) 이더리움 확장성 해결엔 오프체인 방식, 온체인 방식 모두 사용된다.

    3) 이더리움 극 초기엔 온체인 방식으로 논의가 되었다.

     

    4) pos 논의가 시작된 시점엔 '샤딩' 을 최우선 연구과제로 꼽았다.

    5) 샤딩이란 블록체인을 여러 개의 체인으로 쪼개는 것을 말한다. 

    6) 샤드 체인을 두어 데이터 처리와 저장 두 기능을 할 수 있는 체인으로 활용하고자 했다.

    7) 하지만 이는 구조가 너무 복잡하여 단 시간 실현 가능성이 낮았다.

     

    8) 이 후 이더리움은 샤딩 기능은 줄이고, 롤업 중심으로 가겠다는 선언을 하였다.

    9) 롤업은 외부에서 데이터를 처리하는 오프체인 방식이다.

    10) 데이터 저장은 샤딩, 데이터 처리는 롤업 구조 채택

     

    11) 이 과정에서 '댕크 샤딩' 제안 

    12) 댕크 샤딩은 샤드 체인을 저장 수단, 처리는 롤업에서 하는 구조이다.

    13) 중앙화 문제를 막고자 블록 제안자, 처리하는 주체, 블록 빌더를 분리하였따.

    14) 많은 트랜잭션을 롤업을 통해 처리하고, blob 형태화하여 30일동안 임시 저장한다.

    15) 롤업에서 처리한 데이터는 샤드에 저장하였고, blob 의 header 데이터만 비콘 체인에 저장

    16) 하지만 댕크 샤딩도 긴 세월이 걸린다고 판단.

     

    17) 프로토 댕크 샤딩 (EIP-4844) 제안

    18) 롤업 처리 결과를 blob 에 저장하는 방식 (샤딩 체인 구현 안됨)

    19) 비콘 체인에 blob 형태로 롤업이 처리한 데이터들을 저장하는 것이 프로토 댕크 샤딩

    20) 수년 후에 있을 댕크 샤딩에 일부 로직을 미리 도입

    21) 프로토 댕크 샤딩은 비콘 체인에 blob 을 저장하는 것이 주된 목표

    22) 덴쿤 업그레이드를 통해 반영 완료

Designed by Tistory.