brunch

You can make anything
by writing

C.S.Lewis

by 장진 Feb 14. 2018

암호화폐의 확장성(Scalability)

2017.12.14

암호화폐의 시세가 나날이 증가하고 있다. 비트코인은 사상 최초로 2000만 원을 넘기고, 이더리움 또한 70만 원대로가격이 상승하며 지속적으로 그 상승세를 유지하고 있다. 암호화폐의 거래량 또한 급격하게 증가하고 있는데 시가총액1, 2위 비트코인과 이더리움의 거래량 표를 보면 이것을 확실하게 알 수 있다.





[figure1]Bitcoin Confirmed Transaction Per Day




[figure2]EthereumTransaction Chart



이렇게 암호화폐의 가치가 빠르게 상승하는 이유는 무엇일까? 여러 이유가 있겠지만 블록체인 기술을 기반으로 한암호화폐의 미래 가치를 높게 평가하기 때문이라고 생각한다.



그러나 중앙관리 기관이 없어도 개인 간의거래를가능하게 하고, 스마트 컨트렉트라는 혁신적인기술을 갖고 있는 암호화폐는 정말상용화될 수 있을까? 전 세계모든 사람들이 암호화폐를 통해자유롭게 거래를 하고 스마트컨트렉트를 구현하는것이 실제로 가능하게 될까? 이 문제의답은 암호화폐가 확장성문제를 해결하느냐 해결하지 못하느냐에 따라서 달라진다.확장성문제를 해결하는 암호화폐는 미래에살아남아 그 기능을 활용하게 될 것이며,해결하지못한 암호화폐는 조용히 사라질 것이다. 그리고 확장성 문제를 가장 효과적으로 해결하는 암호화폐가 미래에진정한 승자가 될 것이다.




확장성문제를 해결하면 살아남을 것이며, 그렇지못하면 사라질 것이다.




그렇다면 확장성은 무엇이고 왜 문제가 생기는 것인가? 암호화폐는 어떻게확장성 문제를 해결하려 하는가?이글에서는 암호화폐의 대표주자비트코인과, 이더리움을 통해 암호화폐가 갖는확장성 문제의 원인을 파악해 보고,두 암호화폐가 어떻게 확장성 문제를 해결하려고 하는지 알아볼 것이다.








확장성(Scalability)이란?



확장성(Scalability)란사용자의 요구에 맞추기 위해 크기나 용량을 변경해도 그 기능이 잘 동작할 수 있는 능력을 뜻한다. 암호화폐 사용초기에는 사용자가 많지 않았기 때문에 처리속도가 10분 (비트코인기준)이라도 한 블록에모든 거래를 담기에 충분했다. 그러나 점점 사용자가 많아지고, 처리해야할 거래량이많아지게 되자, 한 블록에10분 동안발생한 거래를 다 담을 수 없는 상황이 발생하게 되었다.이런문제없이 사용량이 증가하더라도 무리없이 전송 처리용량을 증가시킬 수 있는 능력이 곧 확장성이다.


비트코인의 경우 초당 약 3~7건의거래를 처리하고, 이더리움의 경우초당 약 20건의거래를 처리한다. 이 수치는초당 약 200건의거래를 처리하는 페이팔, 약 2000건의거래를 처리하는 비자와 비교했을 때 매우 느리다.비트코인과 이더리움의 이러한처리 속도로는 더 많은 사용자가 참여했을 경우 한계가 있다. 비트코인과 이더리움뿐만이 아니다. 대부분의 암호화폐는 실제서비스로 사용하기엔 현재까지는 확장성의 한계가 분명하다.




확장성문제의 원인



암호화폐의 확장성 문제는 느린 거래 처리속도 때문에 발생한다. 암호화폐의 처리속도를 지연시키는원인은 두 가지로나눠서 볼 수 있다.


1. 블록에거래가담길 시 속도 지연 문제


2. 노드 간 합의과정 시 속도 지연 문제


위의 두 가지 원인을 좀 더 자세히 분석해보자.





블록에 거래가 담길 때 속도가 지연되는 문제



비트코인 블록의 크기는 1M이다. 그러나 1M 블록의크기는 비트코인이 처리해야할 거래량에비해 턱없이 부족하다. 또한비트코인으로 거래를 하기 위해서는 채굴자(miner)에게수수료를 제공해야 하는데 이 수수료 값이 적을 경우 거래 속도가 더 지연될 수 있다. 채굴자들은 블록에거래내역을 담을 때 수수료가 높은 것을 우선으로 하기 때문이다.


이더리움은 비트코인과는 달리 블록의 크기보다는 한 블록에 담을 수 있는가스(gas) 크기의 제한때문에 속도 지연 문제가 발생한다.가스란 이더리움플랫폼에서 발생하는 거래의 수수료 개념이라고 할 수 있는데, 한 개의 이더리움 블록에는 약 670만 가스로제한되어 있다. 




[figure3]EthereumAverage Gas Limit Chart






노드간의 거래 합의 도달 시 속도가 지연되는 문제



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


이더리움의 경우 약 25000개의 노드가 있다. 이는비트코인 노드 수가약 11200개인 것에비해 두 배 가까이많은 수치이다. 따라서 이더리움의 경우 비트코인에 비해 노드 간의거래합의에 도달하기 위해 필요한 시간이 더 많다.




[figure4]EthereumNodes , 20171204




[figure5] Bitcoin Nodes, 20171204




두 가지 원인을 살펴봤을 때, 비트코인과 이더리움이 확장성문제를 해결하기 위해서는 블록에 더 많은 정보를 담거나,노드들 간의 거래 합의 속도를 향상시켜야 한다.








확장성문제 해결을 위한 노력  1.비트코인




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




(1) 세그윗(Segwit)


세그윗이란 Segregated Witness의 약자로블록 내에서 서명부분을 따로분리하여 저장하는 것을 의미한다.서명 부분을 메인 체인이 아닌사이드 체인(SideChain)에저장하여 기존 블록의 크기는 1M로 그대로두는 대신 블록에 담을 수 있는 용량을 평균 2M까지 늘릴수 있다. 세그윗은 2017년 8월진행되었다. 





(2) 하드포크(hardfork)


하드포크란 기존 비트코인 네트워크에서 분기되어 블록 사이즈가 1M보다 큰새로운 블록체인네트워크를 만드는 것이다.소프크포크(softfork)는 소프트포크 전블록과 소프트포크 후의블록이 서로 호환이 가능하지만 이와 달리 하드포크는 하드포크 전블록과, 하드포크 후 블록사이에 호환이 가능하지 않다.


비트코인세그윗에 반대하는사람들은 비트코인 블록체인의 하드포크를 통해 블록자체의 용량을 1M이상으로늘리고자 했다. 그 결과 2017년 8월 1일, 8M까지 블록사이즈 확장이가능한 비트코인 캐시가 탄생했다.


비트코인의 확장성에 관한 논쟁은 세그윗과, 체인의분리를 통한 하드포크 두 가지결과를 만들었다. 그러나 세그윗과 블록 크기를 증가시키는 하드포크 중에어떤 것이 더 확장성 문제를 해결하는데 효과적인 방법인지 비교하는 것은 쉽지 않다. 먼저, 세그윗은 비트코인의 거래량을 약 2배 정도증가시켜주는 정도이기 때문에 비트코인의 확장성문제를 완전히 해결해 주었다고 하기 어렵기 때문이다.다음으로, 하드포크를 통해만들어진 비트코인캐시도 블록 크기를 8M까지 늘렸다고해도 비트코인과는 다른 새로운 암호화폐이기때문에비트코인 캐시가 비트코인의 확장성을해결해 주었다고 말할 수없다. 





(3) 라이트닝네트워크(LightningNetwork)


라이트닝 네트워크는 2015년 JosephPoon과 ThaddeusDryja에 의해최초로 고안된 아이디어이다.라이트닝네트워크의 기본 아이디어는 모든 거래내역을 블록체인에 올리는것이 아니라 별도의 채널(Off-chain)을오픈하여 서로의 사인만으로 트랜젝션을 주고받다가일정한주기 또는 필요에 따라 최종 정산된 값만을 블록체인에 올리는것이다. 


오프체인(Off-Chain)을 활용한스테이트 채널(StateChannel) 또는네트워크라고 불리는데, 합의과정은 별도의 채널에서 LocalConsensus(지역적합의, 둘만의합의)를 통해이룬다. 


소액거래나 일정 시간 자주 발생하는 거래일 경우 모두의 합의를 거쳐 블록체인에기록하려면 시간이 걸릴 것이다. 이때, 당사자들만의 체인에서 따로 합의를 하고 최종 결과만 메인네트워크에 기록하면 합의 시간이 훨씬 단축될 될 수 있다.









확장성문제 해결을 위한 노력  2. 이더리움




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





(1) PoS전환


이더리움은 PoW (Proof of Work) 작업증명 방식에서PoS(Proofof Stake) 지분증명 방식으로전환을 통해 확장성 문제를 해결하려 한다.채굴자(miner)가 채굴(mining)을 통해서블록을 생성했던 PoW방식과는 다르게 PoS방식에서는이더리움을 많이소유하고 있는 검증자(Validator)가 블록을생성한다. 이것은 ‘이더리움에 많은지분을 갖고 있는 소유자는 이더리움 블록체인의 안정성을손상시키지 않을 것이다’는 전제를바탕으로 한다. 이더리움의 합의방식이 PoS로전환된다면, 검증자(Validator)를 통해더 빠른 합의가 이루어질 수 있다.


이더리움은 PoS 전환을 위해 캐스퍼 합의 알고리즘(Casperconsensus algorithm)을도입할 예정이다. 캐스퍼 합의알고리즘이란 PoW와 PoS의 하이브리드 형식으로99번째블록까지는 PoW 방식으로 거래를증명하고, 100번째블록마다 PoS 방식으로 거래를증명하는 방법을 의미한다.이더리움 하드포크 최종단계인 세레너티(Serenety)에서 PoW에서 PoS로의전환이 될 예정이다. 






(2) 샤딩(Sharding)


샤딩(Sharding)은데이터베이스 또는 검색 엔진에 있는 데이터의 수평 분활을 의미한다. 쉽게말해서 전체 데이터를 쪼개 모두가 분산해서 보관하는 것이다. 샤딩을 통해서라면 이더리움 노드들은 이더리움 블록체인의 모든거래내역을 저장하고 있을 필요 없이,분산된데이터베이스인 샤드(Shard)만저장하면 된다. 


샤딩의 목표는 모든 거래를 저장하고 있는 풀노드(fullnodes)의필요성을 줄여 전체 노드들간의 거래합의가 빠르게 이루어질 수 있도록 만드는 것이다.각각의노드들은 분산된 거래내역을 저장하고,맡은부분의 거래내역만 증명하면된다. 만약 특정노드가 자신이 저장하고 있지 않는 거래내역까지 함께 증명해야할 경우, 필요한정보를 갖고있는 노드를 찾아 거래를 증명할 수 있다.


하지만 샤딩에는 몇가지 문제점도 존재한다. 우선 어떤노드가 어떤 정보를 갖고있는지 알게 해주는 메커니즘이 필요하다. 또한 PoS로의 전환이 우선되어야한다. 현재의 PoW방식에서는낮은 해시파워를 갖고있는샤드를 공격하여전체 시스템에 악영향을 끼칠 수 있기 때문이다.또한 샤드간의 원활한소통을 위한 방법이 필요하다.예를 들어, 하나의거래가 노드 A와 B에 나눠져저장될 수 있기 때문에, 이 경우노드 A와 B가 서로신뢰할 수 있는 합의 방식이 필요하다.





(3) 라이덴네트워크(RaidenNetwork) 


라이덴 네트워크는 비트코인의 라이트닝네트워크와 같은 개념으로 이해하면 된다.이더리움의 ERC20토큰을위한 오프체인(Off-chain) 전송 네트워크로, 빠르고즉각적인 거래를 가능하게 만들어준다.라이덴네트워크의 방식은 거래내역을 바로블록체인에 올리는것이 아니라 별도의 채널(Off-chain)을 통해 트랜젝션을 주고받다가최종정산된 값만을 블록체인에 올리는것으로 비트코인의 라이트닝네트워크와 동일하다.






(4) 플라즈마(Plasma)


플라즈마란 메인 블록체인(Root Chain)위에 플라즈마 블록체인(ChildChain)을 올리는것을 의미한다. 각각의 Child블록체인은 Root 블록체인과지속적으로 소통을 통해 중요한 사항을 Root블록체인에 전송한다. 라이덴에서 모든 Off Chain 의 거래를메인체인에 올리는것이 아니듯, 플라즈마에서도 Child블록체인은 모든거래내역을 Root 블록체인에 올리지않는다.


이더리움의 플라즈마를 좀 더 쉽게 이해하려면 법원의 시스템을 생각하면 편하다. 우리는 생활속에서 계약을진행할 때 법원에 가서 하는 경우는 매우 드물다.그 이유는계약서가 법적으로 효력이 있기 때문에 문제가 발생할 경우 법원에 가면 문제를 해결할 수 있다는 믿음 때문이다. 여기서 Root 블록체인을 대법원이라고생각하면 이해하기 쉽다. Child 블록체인을 통해기본적인 거래를 다 처리하고 혹시나 Child블록체인에서거래에 문제가 생겼을 경우 메인 블록체인에 거래를전송하는 것이다. 





확장성을통해 본 암호화폐의 미래




확장성 문제는 암호화폐가 살아남기위해 반드시 해결해야하는 문제이다. 아직완벽하게 확장성 문제를 해결한 암호화폐는 없으며, 위의 두 암호화폐를 제외한 다른 암호화폐들 또한확장성 문제를 해결하기 위해 노력하고 있다.


비트코인과 이더리움은 미래에도 시가총액 1,2위 자리를차지할 수 있을까? 아니면확장성 문제를 먼저 해결한 암호화폐에 의해 그 자리를 뺏기게 될까? 모든 것은확장성 문제를 누가 더 먼저 해결하느냐에 달렸다.


암호화폐의 새로운 왕좌 자리는 누가 차지할 것인가

확장성 문제를 해결하기 위한 암호화폐의 노력을기대한다. 


작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari