우리가 이더리움 스케일링을 한 방법 Part 1: 작업증명[Proof of Work] 대체

GoChainGo
3 min readApr 17, 2018

간단히 말하자면, 작업증명은 빠를 수가 없습니다. 알려지지 않은 하드웨어, 실체간의 분산된 네트워크가 서로를 신뢰하지 않는 방식으로 검증을 진행합니다. 이는 단지 몇개의 트랜잭션을 수행하더라도 엄청난 양의 계산 능력이 필요합니다. 이것이 빠른 속도를 갖는것은 불가능합니다.

이것은 작업증명을 비판하기 위함은 아닙니다. 실제로 이 방식은 많은 네트워크를 확보하는 일을 이루어 냈습니다. 하지만 당신이 원하는 것이 빠른 성능이라면 당신은 그것을 얻어낼 수 없을 것입니다.

GoChain의 최초 목표는 이더리움 성능을 100배 이상 향상시키는 것입니다. 그래서 우리는 어떻게 했을까요? 작업증명을 더 지속 가능한 것으로 대체하고 더 많은 자원(돈)을 가진 사람을 기반으로 중앙 집중화 할 수 없는것 그리고 성능이 몇배는 더 증가할 수 있는 것으로부터 시작했습니다. 평판증명 [Proof of Reputation] 같은 것이죠.

이 포스팅에서는 스케일링에 도움이되는 방법에 대해서만 이야기하므로 평판증명 [PoR]에 대한 자세한 내용을 다루지 않겠습니다. PoR은 작업 증명 네트워크와 비교할 때 상대적으로 작은 노드 집합을 가지고 있습니다. 수천 개의 노드를 가지고있는 것보다 더 작은 노드 집합이 더 좋은 이유는 무엇일까요? 수천 개의 노드를 동기화 할 필요가 없기 때문입니다. 네트워크로 연결된 소프트웨어에 대해 가장 빠른 환경이 무엇인지 알고 있습니까? 하나의 기계, 한 대의 시스템을 넘어 서면 네트워크 및 대역폭 문제가 발생합니다. 수천 명이 있으면이 문제가 더 복잡해집니다. 초 당 몇 건의 트랜잭션 만 수행하는 경우에는 문제가되지 않지만 초당 수천 번 작업을 수행하는 경우 대용량 네트워크를 동기화하는 것이 매우 어려워집니다.

또한 우리는 네트워크 참여자를 신뢰하기 때문에 쓸모없는 해시값을 마이닝 하는 컴퓨팅 싸이클을 낭비할 필요가 없으며 대신 우리는 트랜잭션 및 블록을 처리하고 확인하는데 컴퓨팅 파워를 사용할 수 있습니다.

현재 낙관적이지만은 않습니다. 보다 효율적인 합의 알고리즘을 사용하더라도 해결해야 할 많은 문제가 있지만 (이 시리즈의 다음 부분에서 다룰 예정), 우리에게 좋은 출발점을 제공합니다. 작업증명을 통해서는 목표를 달성 할 수 없었지만 평판증명을 통해서는 달성할 수 있었습니다.

--

--