이더리움2.0이 이더리움에서 제대로 배운 것은 무엇인가?

학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제대로 번역되지 않은 부분은 확인주시면 반영토록 하겠습니다. 이번 글은 프라이스매틱랩스에서 이더리움2.0 관련 기술을 개발하고 있는 이반 마르티네즈가 미디엄 블로그에 이더리움2.0에서 적용될 변화들을 대해 소개한 것입니다.

이더리움2.0에서 가장 알려진 변화는 스테이킹과 샤딩이다. 하지만 이더리움2.0에는 향상되는 이더리움에서 받은 영감에 기반한 많은 변화들이 있다.

비트코인과 이더리움 이후 무엇을 배웠나

비트코인은 11년전 공개됐다. 제네시스 블록이 나온 이후 비트코인은 많은 이들로 하여금 비트코인이 어떻게 향상될 수 있을지 살펴보기 위해 보다 많이 배우고, 블록체인 디자인과 크립토 경제에 대해 추가로 추가로 연구하도록 이끌었다.

작업증명(PoW)에서 시작해 사람들은 프로토콜 보안이 암호화폐에서 가장 중요하다는 것을 알게 됐다. 게임의 경우 사용자들이 값비싼 하드웨어로 보다 많은 스킨을 갖도록 동기를 부여하는 것은 대단히 잘 먹혀들었다. 비트코인 네트워크 합의 메커니즘인 PoW를 보호하기 위한 이기적인 마이닝이에도 엘보우 룸(몸을 편히 움직일 수 있는 공간)이 있는데, 예외적으로 잘 돌아갔다.

2015년 이더리움이 나왔을 때, 이더리움은 누구나 이더리움에서 애플리케이션을 개발할 수 있게 해주는 범용 블록체인의 개념을 선보였다. 이더리움 네이티브 토큰인 ETH 및 ETH 기반 다양한 토큰들과 상호 작용하는 이들 애플리케이션들은 탈중앙화 금융(디파이)이 성숙해질 수 있는 문을 열었다. 탈중앙화 금융은 담보화된 자산이 10억달러 이상을 돌파했다. 나는 디파이가 어떻게 실질적이고,유용한 서비스로 이더리움을 기반으로 성장했는지에 대한 내용을 또 다른 블로그 포스트를 통해 공유했다.

확장성에서 ETH1.X를 막는 이슈들

이제 이더리움은 거의 5년간 공개돼왔다. 이더리움이 경험한 경이적인 성장은 관련 산업 관계자들이 이더리움에서 병목이 무엇이고 어떤 것들이 개선될 수 있는지를 파악하게 만들었다.

이더리움 2017년 갑작스러운 성장으로 고민에 빠졌을 때 몇몇 이더리움 킬러들이 이더리움을 격퇴하기 위해 등장했다. 그러나 이들 킬러는 주로 보안을 약화시키고 초당 거래를 높이는 것이었다. 아니면, 수수료가 없다고 광고했다. 그것은 명백하게 혼란스러웠고 사실을 오도하는 것이었다. 이더리움에서 향상될 필요가 있었던 결함들에 대한 해결책은 하나도 없었다.

이더리움이 진정 향상되도록 하려면 포함된 모든 사람들이 기존 시스템으로 돌아가 깨끗한 지점에서 시작할 필요가 있다. 우리는 이더리움의 결점들은 제거하는 반면 좋은 부분들은 가져올 수 있다.

주의: 향후 언급에서, 내가 스테이트(state)를 언급할 때 나는 글로벌, 계좌 정보, 거래, 토큰 잔고 같은 이더리움에 영원히 저장되는 일관된 데이터를 언급하는 것이다.

이더리움2.0으로 들어가기

이더리움2.0은 암호화폐 공간에서 가장 큰 규모의 오픈소스 노력이다. 의도된 이더리움의 목표 이상을 이행하는 완전히 새로운 시스템을 제공한다. 당신은 캐스퍼와 샤딩에 대해 들어봤을 수 있다. 하지만 이더리움2.0의 목표를 둘러싼 다른 많은 것들이 있다.

이더리움2.0이 추구하는 많은 향상들은 기존 이더리움 체인과 비교해 파괴적인 변화일 것이다. 이들 변화는 이더리움2.0 체인에서 구현될 것이다. 기존 이더리움 체인은 샤딩을 통해 새로운 시스템에 연결될 것이다. 이를 통해 이더리움2는 기존 네트워크를 업그레이드하기 위해 복잡해질 필요가 없다. 반면 이더리움 네트워크는 새 시스템이 가져오려고 하는 모든 혜택을 가지면서도 정상적으로 운영될 수 있을 것이다.

이번 포스트는 사람들이 모를 수 있는 이더리움2의 주요 변화가 무엇인지 살필 것이다. 그리고 세상이 (분권화 된) 재미에 빠졌을 때 이더리움이 준비 될 수 있도록 돕는 공통의 근거에서 모두 영감을 얻은 방법을 논할 것이다.

통화 정책(시큐리티 펀딩)

한 암호화폐의 통화 정책은 대부분의 사람들이 생각하는 것보다 중요하다. 마이너와 해시율을 끌어들이기 위해 발행(issuance)을 사용하는 코인들은 보안에 자금을 대기 위해 발행을 적게 하는 것이 좋다. 우리는 BTC가 가장 안전한 체인이라는 것에서 이것을 보고 있다. 비트코인은 상위 20개 코인 중 가장 낮은 발행율을 유지하고 있다.

현재 BTC는 연간 발행율이 3.8%다. 이더리움이 4.5%임을 감안하면 매우 낮은 발행율이다.이더리움이 BTC의 반감 정책을 따랐다면 발행율은 더욱 높았을 것이다.

많은 이더리움 홀더들은 ETH가 보안에 많은 비용을 내고 있다고 생각하지만 공급 발행을 낮추는 것은, 해시율과 보안 감소를 야기할 수 있다. 마이너들이 수익을 올릴 수 없기 때문이다. 이것은 POW에서, 발행을 줄이기 어렵게 한다. 체인 보안에 의도되지 않은 부작용이 있을 수도 있기 때문이다. 비트코인은 이같은 문제가 없다. 마이닝 보상 변화의 대부분은 장기적으로 예측 가능하기 때문이다.

이더리움 2.0의 가장 큰 목표 중 하나는 POS로의 전환이다. 이것은 ASIC이나 값비싼 마이닝 하드웨어의 제거를 의미한다. 강력한 컴퓨팅과 전력 사용은 보다 저렴한 표준 컴퓨터로 대체될 것이다. 이들 장비는 이더리움 노드가 블록 확산이나 동기화를 처리하는 것만 다룬다. 네트워크 보안에 보다 저렴한 비용이 들어간다. 32ETH를 스테이킹하면 스테이커로 활동할 수 있다.

전반적인 보안 비용 감소와 함께 발행은 이제 0~1% 사이로 낮아질 수 있다. 이것은 얼마나 많은 사람들이 네트워크에 참여하느냐에 따라 달라진다. 정확한 최적의 보안을 위해 얼마의 비용을 지불할 필요가 있는지까지 확장될 수 있다.

발행 감소 외에 이더리움2는 EIP1559로 불리는 기술로 요금 경매 시장과 거래 수수료 가스 가격도 대체하려고 한다.당신은 이것이 어떻게 돌아가는지 이해할 필요가 없다. 그러나 이 모델에선 지출되는 수수료 대부분이 소각된다는 것만 알아두라.

사용자들은 EIP1559로 낮은 수수료를 무는 반면 이더리움2.0에선 복수의 샤드가 있을 것이다. 따라서 이더리움2에서 전체 수수료 사용과 소각은 현재 이더리움에서 보다는 많을 것이다.

극도로 낮은 발행율과 맞물려 수수료 소각은 이더리움2.0을 총 마이너스 발행으로 이어지게 할 수 있다. 만들어지는 것보다 소각되는 것이 많을 수 있다는 것을 의미한다. 이것은 ETH를 보다 희소하게 할 수 있다. POS에 대한 공격 비용을 보다 비싸게 할 수 있다.

POW나 POS 같은 합의 알고리즘은 블록체인을 안전하게 하고, 탈중앙화시킨다. 네트워크를 안전하게 하는데 따른 인센티브는 암호화폐를 단순한 원장에서 분리시키는 것이다. 이 인센티브는 마이너와 스테이커들이 네트워크에 보안을 제공하도록 만든다. 이더리움2.0이 여기에서 추구하는 것은 것은 마이너들에게 자금을 지원하는 측면에서 최소 변동 발행이다(Mis Minimum Viable Issuance: MVI)이다. MVI는 체인은 계속해서 유지하면서 최소 발행을 유지한다. 보안에 필요로 하는 것들을 보장할 수 있도록 한다. 이 낮은 발행은 수수료 소각과 맞물려 점차, 공격을 보다 비싸게 만든다.

스테이트리스니스(Statelessness)

당신은 사람들이 이더리움과 이더리움의 상태 크기에 대해 얘기할 때 스테이트 블로우트(state bloat)에 대해 들어봤을 수 있다. 이것은 한번 가스비를 결제하면 당신의 데이터가 이더리움 블록체인 상에 영원히 저장되는 문제를 다룬다. 좋은 데이터 덩어리가 사용되지 않는 무한한 성장 상태로 이끈다. 스토리지 크기에서 스테이트 블로우트는 네트워크가 성숙하면서 선형적으로 이더리움 노드가 보다 나은 스토리지나 좋은 하드웨어를 요구한다는 것을 의미한다.

오랫동안 이것은 이더리움 노드를 돌릴 수 있는 역량을 가진 사람들을 제한했다. 상태 성장은 블록 가스 제한이 늘어날 때마다 커다란 문제가 되었다.

ETH2(그리고 조만간 ETH1)에서 목표는 스테이트리스(stateless)로 가는 것이다. 경량 노드는 모든 트랜잭션과 실제로 어떤 상태를 보유하지 않고도 모든 상태 부분들을 검증할 수 있는 역량을 갖추게 된다.

스테이트리스로 가는 것은 경량 클라이언트가 각각 다른 스펙을 요구하는 스테이트풀이나 스테이트리스니스 스텍트럼에서 존재하는 것을 가능케 한다. 노드에 보다 일반적으로 접근할 수 있게 한다. 당신이 스테이트리스 노드가 필요로 하는 것보다 보다 많은 자원을 갖고 있지만 스테이트풀 노드가 충분히 있다면 그때 당신은 둘 사이에서 준 스테이트풀 노드(semi-stateful node)를 돌릴 수 있다.

스테이트리스니스에 대해 좀 더 이해하고 싶다면 ETH덴버에서 오간 대화를 보라.

이것은 샤딩을 위해 매우 중요하다. 각각의 샤드는 자체적으로 고유한 스테이트를 갖고 있다. ETH2에서 검증인들은 그들이 검증하는 샤드 상태에서 상태 변화를 수행할 것으로 전망된다. 스테이트리스 프로토콜은 검증인들이 샤드들 사이를 왔다갔다 할때마다 전체 샤드 상태를 다운로드할 필요가 없게 만든다. 단지 데이터를 보여주는 바이너리 머클트리다. 여기에서 데이터는 보다 작다.

샤드가 많아지면, 보다 끝없는 상태 성장이 있다. 거기에는 항상 거래소나 블록 익스플로어 같은 서비스들이 있을 것이다. 이들은 비용에 상관없이 그것을 정확하게 전달하도록 모든 샤드 체인 상태와 데이터를 유지하도록 동기를 부여받는다.

이것은 스테이트 프로바이더 같은 역할을 할 소프트웨어들을 위한 문을 열어준다. 스테이트 프로바이더들은 검증인들에게 거래 상태 변화 부분들을 제공한다. 따라서 검증인들을 스테이트 변화를 쉽게 수행할 수 있다. 스테이트 릴레이어는 디스크 IO나 스토리지 집중적인 검트 파트들이 다양한 주체들로 완전히 이동할 수 있도록 도와준다.

이것은 스테이트를 위한 흥미로운 인세티브 제도 (이것은 이더리움에선 문제였다)와 검증인들에게 많은 혜택을 줄 수 있는 문을 열어준다. 검증인들이 더 이상 전체 샤드 스테이트를 갖고 있을 필요가 없기 때문이다. 그러나 여전히 그들이 릴레이어로부터 받는 상태를 검증하는 것은 맞다. 그들은 그들이 받는 정보를, 동기화된 상태 트리와 비교할 수 있다.

계정 추상화(Account Abstraction)

현재 이더리움 프로토콜에는 두가지 유형의 계정들이 있다.

외부 계정(external accounts: 사용자)과 컨트랙트 계정이다. 단지 외부 계정만 거래를 시작할 수 있다.사용자가 자신들의 이름으로 거래를 하고 그들의 계정 상태를 수정할 수 있게 한다. 메타 트랜잭션들도 있다. 그러나 메타 트랜잭션들은 GSN 같은 가스를 지불하기 위한 릴레이어 네트워크에 의존한다.

이더리움2.0의 목표는, 이들 두가지 계정 유형을 하나로 추상화하는 것이다. 사용자 계정과 컨트랙트 계정을 네트워크에서 구분할 수 없게 만드는 것이다. 컨트랙트들은 물론 여전히 존재할 것이다. 그러나 이것은 이더리움이 자체적으로 메타 트랙잭션들을 위한 릴레이어 역할을 할 수 있는 문을 열어줄 것이다. 당신은 당신 스스로 거래를 서명하고 그것을 브로드캐스팅하는 것이 네트워크와 상호 작용하는 유일한 방법은 아닐 것이다.

당신은 스마트 컨트랙트로 운영하는 정상 계정을 가질 수 있다. 예를 들어 메인 계정이 콜드 스토리지 월렛으로 직접 받는 ETH를 보낼 수 있다. 아니면 ETH가 다이(DAI)용 자동 판매(auto-sell)를 하는 계좌로 보내지도록 할 수 있다.

기능성이 계정들에 내장될 수 있다. 이것은 보다 많은 디앱 디자인과 기능성을 위한 문을 열어줄 수 있다. 사용자 관리 계정 처리는 더 이상 현재 이더리움에있는 것처럼 명확하게 정의된 작업 세트가 아니다.

계정 추상화와 관련한 흥미로운 가능성은 계약이 그들 자체의 가스나 거래를 보낸 최초 주소를 위해 지불할 수 있다는 것이다. 이것은 복잡한 문제다. 여전히 진전을 향한 작업이 진행 중이다. 그러나, 변화 이후 개발될 수 있는 기능성은 풍부할 것이다.

실행 환경

이더리움에서 개발하는 누구든 메인 언어 선택은 솔리디티나 바이퍼다. 이들 언어는 독특한 점들을 갖고 있다. 이들은 그것을 필요로 하는 것들을 위해 개발 생태계 역할을 잘 하고 있다. 현재 이들 언어는,보다 저수준 운영을 위해 이더리움 버추얼 머신이 이해하도록 범용으로 컴파일된다. 당신이 EVM에 대해 좀더 자세히 알고 싶다면 여기를 보라. 꼭 그래야할 필요는 없다.

이들 운영 코드는 EVM에 의해 이더리움 노드들이 같은 계산 결과를 만들도록 사용된다. 그것을 돌리는 컴퓨터가 무엇이든 상관없이 말이다.

이것은 또한 서명 검증이나 계정 잔액 확보와 같은 복잡한 사용자 지정 작업을 한 줄의 코드로 쉽게 처리할 수 있게 한다. EVM이 없으면 일반적으로 불가능한 기능으로 상태를 읽고 변경 사항을 올바르게 할당할 수 있다.

EVM은 전체 스마트 컨트랙트 생태계를 위해 위대한 기반으로서의 역할을 해왔다. 다른 체인들에서도 이 같은 역할은 위대할 것이다. 이더리움에서 어떤 애플리케이션 런타임도 사용할 수 있는 능력이 있다면 대단한 일이 될 것이다. 체인은 상태 전이 규칙을 그밖에 다른 곳에 강요할 필요가 없다. 실행은 더 개방적이어야 한다. 이게 다가오는 실행 환경이다.

실행 환경은 어떤 상태 전이도 WASM을 사용해 프로토콜이 직접 구현할 수 있게 한다. 이것은 우리로 하여금 시스템의 다른 영역에서 전체 거래가 처리되는 방식을 추상화할 수 있게 한다.

실행 환경이 특별히 ZK 롤업( ZK rollup)이나 프라이빗 거래용으로 만들어질 수 있다. 아니면 실행환경은 BTC 같은 UTXO용으로 모델링 될 수 있다. 모든 토큰들용으로 사용되는 토큰 특화된 실행 환경이 있을 수도 있다. 물론 기존 EVM은 현재 생태계 지원을 유지하기 위해 e와즘(eWASM)으로 불리는 실행 환경으로 복제될 수 있다.

이더리움1에서 모든 디앱은, EVM을 크게 고려해 디자인될 필요가 있다. 이더리움의 상태 전이 기능의 모든 제약들은, 전체 시스템에 병목을 가져온다. EE와 함께, 이들 병목은 더 이상 없고 개방형의 이점을 크게 활용하는 완전히 새로운 디앱들의 유형들이 개발될 수 있도록 할 것이다. 보다 많이 알고 싶다면, 이더허브의 많은 팟캐스트들이 있다.

테크잇 뉴스레터를 전해드립니다!

오피니언 기반 테크 블로그 'TechIt'
테크 비즈니스를 보는 다양한 통찰들을 이메일로 간편하게 받아 볼 수 있습니다.

About the author

endgame
endgame

테크 블로거 / 공유할만한 글로벌 테크 소식들 틈틈히 전달하겠습니다

No more pages to load


TechIT

테크 비즈니스를 보는 다양한 통찰 '테크잇'

독자 여러분들께서 좋은 의견이나 문의 사항이 있으시면 아래 양식에 따라 문의 주시기 바랍니다.

Contact