검수요청.png검수요청.png

확장성

위키원
spo1333 (토론 | 기여)님의 2019년 8월 6일 (화) 11:26 판 (이더리움의 해결방안)
이동: 둘러보기, 검색

확장성(Scalability)이란 사용자 수의 증대에 유연하게 대응할 수 있는 정도이다. 블록체인에서는 사용자수의 증가에 따라 거래건수가 늘어나더라도 무리 없이 전송 처리용량을 증대시킬 수 있는 능력을 의미한다. 다양한 암호화폐가 등장하기 전에는 사용자가 소수였기 때문에 비트코인 기준 처리속도가 10분이라도 한 블록에 모든 거래를 담아낼 수 있었다.


개요

확장성(Scalability)이란 사용자의 요구에 맞추기 위해 크기나 용량을 변경해도 그 기능이 잘 동작할 수 있는 능력을 뜻한다. 암호화폐 사용 초기에는 사용자가 많지 않았기 때문에 처리 속도가 비트코인 기준으로 10분이라도 한 블록에 모든 거래를 담기에 충분했다. 그러나 암호화폐가 점점 대중화되어 처리해야 할 거래량이 증가하자, 하나의 블록에 10분 동안 발생한 모든 거래내역을 담을 수 없는 상황이 발생했다. 비트코인의 경우 초당 약 3~7건의 거래를, 이더리움의 경우 초당 약 20건의 거래를 처리한다. 이는 초당 약 200건의 거래를 처리하는 페이팔, 약 2,000건의 거래를 처리하는 비자와 대조하면 현저하게 느린 속도이다. 암호화폐의 대중화로 사용자가 점점 늘어나는 상황에서, 비트코인과 이더리움뿐만 아니라 대부분의 암호화폐는 실제 서비스로 사용하기엔 현재까지는 확장성의 한계가 분명하다.

원인 및 문제점

블록에 거래가 담길 시

비트코인 블록의 크기는 1M이다. 그러나 1M 블록의 크기는 비트코인이 처리해야 할 거래량에 비해 턱없이 부족하다. 또한 비트코인으로 거래하기 위해서는 채굴자(Miner)에게 수수료를 제공해야 하는데 이 수수료 값이 적을 경우 거래 속도가 더 지연될 수 있다. 채굴자들은 블록에게 거래내역을 담을 때 수수료가 높은 것을 우선으로 하기 때문이다. 이더리움은 비트코인과는 달리 블록의 크기보다는 한 블록에 담을 수 있는 가스(gas) 크기의 제한 때문에 속도 지연 문제가 발생한다. 가스란 이더리움 플랫폼에서 발생하는 거래의 수수료 개념이라고 할 수 있는데, 한 개의 이더리움 블록에는 약 670만 가스로 제한되어있다.

노드 간 합의 과정 시

블록체인은 중앙통제기관이 없는 P2P 네트워크이다. 따라서 거래가 발생하면 노드들은 가십 프로토콜(GossipProtocol)을 통해서 거래를 전파한다. 새로운 거래가 체결되면 노드들은 가까운 노드에게 새로운 거래내역이 담긴 블록을 전송한다. 전달받은 노드는 또 가까운 노드에게 거래내역을 전송한다. 그리고 노드는 자체적으로 전달받은 거래가 신뢰할 수 있는지 검증하는 과정을 거친다. 이렇기 때문에 노드가 많아질수록 전체 노드에게 새로운 거래가 전달되는 시간, 그리고 각각 노드가 거래를 검증하는 시간이 증가하게 되므로 거래 속도는 점차 느려지게 된다. 이더리움의 경우 약 25000개의 노드가 있다. 이는 비트코인의 노드 수가 약 11200개인 것에 비해 두 배 가까이 많은 수치이다. 따라서 이더리움의 경우 비트코인에 비해 노드 간의 거래 합의에 도달하기 위해 필요한 시간이 더 많다.

비트코인의 해결방안

비트코인은 우선, 블록에 들어가는 정보를 늘리는 방법을 통해 확장성의 문제를 해결하려고 한다. 블록에 들어가는 정보를 늘리기 위해서는 첫 번째로는 블록에 입력되는 정보를 효율적으로 정리하여 더 많은 정보를 담는 방법과 두 번째로는 블록의 크기를 늘리는 방법이 있다. 비트코인에서 첫 번째의 방법은 세그윗(Segwit)을 통해 가능하고, 두 번째의 방법은 하드 포크(hardfork)를 통해서 가능하다. 다음으로, 비트코인은 모든 거래를 블록에 올려 검증하는 것이 아니라 최종 결과만 블록에 담는 라이트닝 네트워크(Lightning Network)의 방법을 통해 확장성 문제를 해결하려고 한다.

세그윗(Segwit)

세그윗이란 Segregated Witness의 약자로 블록 내에서 서명 부분을 따로 분리하여 저장하는 것을 의미한다. 서명 부분을 메인 체인이 아닌 사이드 체인(SideChain)에 저장하여 기존 블록의 크기는 1M로 그대로 두는 대신 블록에 담을 수 있는 용량을 평균 2M까지 늘릴 수 있다. 세그윗은 2017년 8월 진행되었다. 그러나 세그윗은 비트코인의 거래량을 약 2배 정도 증가시켜주는 정도이기 때문에 비트코인의 확장성 문제를 완전히 해결해 주었다고 하기 어렵다.

하드포크(hardfork)

하드포크란 기존 비트코인 네트워크에서 분기되어 블록 사이즈가 1M보다 큰 새로운 블록체인 네트워크를 만드는 것이다.소프크포크(softfork)는 소프트포크 전 블록과 소프트포크 후의 블록이 서로 호환이 가능하지만 이와 달리 하드포크는 하드포크 전 블록과, 하드포크 후 블록 사이에 호환이 가능하지 않다. 비트코인 세그윗에 반대하는 사람들은 비트코인 블록체인의 하드포크를 통해 블록 자체의 용량을 1M 이상으로 늘리고 자 했다. 그 결과 2017년 8월 1일, 8M까지 블록 사이즈 확장이 가능한 비트코인 캐시가 탄생했다. 그러나 하드포크를 통해만들어진 비트코인 캐시도 블록 크기를 8M까지 늘렸다고 해도 비트코인과는 다른 새로운 암호화폐이기 때문에 비트코인 캐시가 비트코인의 확장성을 해결해 주었다고 말할 수 없다.

라이트닝 네트워크(Lightning Network)

라이트닝 네트워크는 2015년 조셉 푼(Joseph Poon)과 타데우스 드라이자(Thaddeus Dryja)에 의해 최초로 고안된 아이디어이다. 라이트닝 네트워크의 기본 아이디어는 모든 거래내역을 블록체인에 올리는 것이 아니라 별도의 채널을 오픈하여 서로의 사인만으로 트랜잭션을 주고받다가 일정한 주기 또는 필요에 따라 최종 정산된 값만을 블록체인에 올리는 것이다. 오프 체인(Off-Chain)을 활용한 스테이트 채널(State Channel) 또는 네트워크라고 불리는데, 합의 과정은 별도의 채널에서 로컬 컨센서스(Local Consensus)를 통해이룬다. 소액거래나 일정 시간 자주 발생하는 거래일 경우 모두의 합의를 거쳐 블록체인에 기록하려면 시간이 걸릴 것이다. 이때, 당사자들만의 체인에서 따로 합의를 하고 최종 결과만 메인 네트워크에 기록하면 합의 시간이 훨씬 단축될 될 수 있다.

이더리움의 해결방안

이더리움은 확장성 문제를 블록 크기를 개선함으로써 해결하는 것이 아니라 노드 간의 전파 속도 향상에 초점을 맞춰서 해결하고자 한다. 이더리움의 해결 방법은 노드 간의 합의 속도를 빠르게 만드는 것이다. 이를 위한 방법은 POS 전환, 섀딩(Sharding), 라이덴 네트워크(RaidenNetwork), 플라즈마(Plasma) 이렇게 4가지가 있다.

평가 및 전망

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 확장성 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.