서로서로 공유해요(9) - 외계어 없이 이더리움 이해하기(3)
이더리움의 한계
1. 확장가능성 문제(Scalability)
가장 큰 문제는 이더리움의 느린 속도다. 다른 모든 (퍼블릭) 블록체인과 마찬가지로, 이더리움의 거래 처리 속도 글로벌하게 도입되고 그 위에서 애플리케이션이 돌아가기에는 너무 부족하다. Ethstats.net에 따르면 현재 이더리움의 거래 처리 속도 (초당 거래량, transaction per second)는 평균 13 tps이다.
페이스북과 같은 글로벌 서비스는 1초에 약 17만 5천 개의 요청을 처리한다. 사용자들이 직접 보내는 요청이 아닌 연결된 소프트웨어들에서 발생하는 요청까지 하면 이것보다 3-4배는 더 많은 양을 처리할 것이다. 대충 계산해봐도 페이스북 수준의 애플리케이션이 이더리움에서 돌아가려면 수만 배는 빨라져야 한다.
이더리움은 단순히 하나의 앱이 아니라 수많은 애플리케이션들이 실행되는 운영체제를 꿈꾸고 있는데, 현재 속도로는 정말 간단한 애플리케이션 하나도 돌아가기 어렵다. (물론 일반 앱과 Dapp은 구조가 다르기 때문에 정확한 비교는 아니다.) 현재는 파일 공유, 이메일, 머신 러닝 같은 복잡한 프로그램을 돌리는 것은 거의 불가능하며 간단한 조건문이나 인증 절차 등의 단순한 태스크에 적합한 수준이다.
확장 가능성 문제는 앞으로 이더리움이 성공하는 데 가장 시급하고 중요한 과제다. 이더리움이 꿈꾸는 것이 세계에서 가장 큰 쇼핑몰이라면, 현재는 인터넷 속도도 엄청 느린 3층짜리 작은 건물이라고 보는 게 맞다. 앞으로 더 대형 매장들이 들어오고, 더 많은 사람들을 받으려면, 건물을 증축하고 속도도 훨씬 더 빨라져야 한다.
이더리움도 오래전부터 이 문제에 대해서 인지하고 있다. 하지만 속도를 올리는 것은 기술적으로 굉장히 어려운 문제다. 퍼블릭 블록체인의 특성상 네트워크에 전파된 거래와 코드가 유효한지를 판단하는 검증 절차가 반드시 필요하기 때문이다. 현재 여러 가지 방법이 연구되고 있다.
[참고] 이더리움의 스케일링 솔루션
스케일링 솔루션은 On-chain과 off-chain으로 나눌 수 있다.
On-chain은 블록체인에 거래가 기록되는 속도를 높이는 것이다.
Off-chain은 블록체인 외부에서 특정한 처리 작업을 거친 뒤에 결과만 최종적으로 블록체인에 기록되는 방식이다.
현재 다양한 방식이 연구되고 있지만, 확장 가능한 플랫폼을 만들려면 off-chain 방식이 반드시 필요하다. On-chain 솔루션은 어떻게 해도 10배 이상 속도를 높이기 어렵기 때문이다. 하지만 아예 외부에서 거래를 미리 처리하고 블록체인에 기록한다면, 100배, 1000배 이상의 속도 향상을 기대할 수 있다. 이더리움 커뮤니티가 Off-chain 솔루션 개발에 촉각을 곤두세우고 있는 이유이다. 현재 연구되고 있는 off-chain solution은 Payment channel networks, Truebit, Plasma, Raiden Network, Sharding 등이 있다.
2. 합의 메커니즘(Consensus mechanism)
PoW의 문제점
이더리움은 현재 비트코인과 마찬가지로 PoW(Proof-of-Work) 방식의 합의 메커니즘을 사용하고 있다. PoW는 많은 양의 에너지를 소모하고, ASIC 같은 채굴 장비의 등장으로 특정 채굴 회사에게 쏠림 현상이 일어나는 문제가 있다.
그래서 이더리움은 다음 업데이트에서 PoW가 아닌 새로운 방식, Proof-of-stake (PoS) 방식으로 전환을 준비하고 있다. 암호화폐 커뮤니티에서는 몇 년 전부터 PoW 방식의 문제를 해결할 대안으로 PoS를 논의해왔다.
PoS 방식이란?
PoS 방식은 PoW처럼 블록을 생성할 사람을 복잡한 해쉬 문제를 내서 정하는 것이 아니라, 참가자들이 블록에 대해서 베팅을 하는 방식으로 정한다.
참가자들은 ‘특정 블록이 문제가 없다’는 데에 돈(이더)을 건다. 베팅을 한 금액이 높을수록, 그 블록 생성 권한을 받을 확률이 높아진다. 만약 이 블록이 체인에 잘 연결되고 아무 문제가 없는 것으로 판명이 나면, 블록을 생성한 참가자는 보상을 받는다. 하지만 만약 잘못된 거래가 포함되어 있었다면, 베팅한 돈을 잃는다.
컴퓨팅 파워를 투입하는 것이 아니라, 자신이 보유한 돈을 베팅함으로써 내가 네트워크에 해를 끼치지 않을 것을 증명하는 셈이다. (그래서 지분 증명(Proof-of-Stake)라고 한다.)
전체 컴퓨팅 파워의 몇 %를 소유했느냐에 따라 권력이 주어지는 PoW와 달리, PoS에서는 전체 베팅 금액의 몇 %를 소유했느냐에 따라 권력이 주어진다.
POS의 장점
블록에 베팅하는 방식을 쓰면 비싼 채굴 장비가 막대한 양의 전기가 필요 없다. PoS는 PoW의 에너지 소모 문제를 해결하고, 일반 컴퓨터들도 검증자가 될 수 있기 때문에 권력을 분산시키는 효과도 있다. PoW처럼 복잡한 문제를 풀지 않기 때문에 블록 하나를 처리하는 데 드는 시간도 빨라진다. 또한 PoW에서는 어떤 채굴자가 잘못된 거래를 블록체인에 넣으려고 시도했다 하더라도 그 참가자에게는 아무런 영향도 없는 반면. PoS는 블록을 생성하고 거부당한 사람에게 큰 페널티가 주어진다는 점에서 더 안전하다.
PoS의 단점
다만 PoS에서는 돈을 많이 가진 사람이 블록을 생성하고 보상을 받을 확률이 높기 때문에, 돈이 많은 사람은 더 많아지고, 없는 사람은 더 없어지는 빈익빈 부익부 현상이 일어난다. 한 계좌에 엄청나게 많은 돈을 가진 사람은 보상을 받을 확률이 현저히 높기 때문이다. 이 상황이 반복되면 채굴자들에게 권력이 집중되듯이 소수의 부자들에게 권력이 집중되는 것 아니냐는 비판이 있다.
** 그래서 이더리움은 PoS 방식을 적용하기는 하지만, PoS가 가지는 문제점을 완화하는 방향으로 업데이트를 한다고 한다. PoS 방식을 약간 변형시켜 이 문제를 보완하려는 경쟁자들도 있다.
3. 프라이버시(privacy)
이더리움 역시 다른 암호화폐와 비슷하게 모든 거래 내역이 투명하게 공개된다. 그런데 이더리움에서는 단순히 돈거래뿐만 아니라 다양한 계약 내용이 오고 간다. 스마트 컨트랙트의 세부사항은 단순히 받는 사람, 보내는 사람, 보내는 금액을 떠나서, 어떤 계약 조건에 의해서, 언제 실행되었으며, 어떤 정보를 같이 보냈고, 이 스마트 컨트랙트가 어떤 스마트 컨트랙트와 연동되는지 등등을 모두 포함한다.
이는 심각한 프라이버시 문제를 발생시킨다. 단순 돈거래 내역만 공개되어도 프라이버시 문제가 발생할 판에, 블록체인 위에 다양한 비즈니스가 일어날 때를 생각해보자. 각 참여자가 무엇을 샀고, 어떤 기능을 이용했으며, 얼마를 환전했고, 언제 회원가입을 했는지 등등이 전부 공개된다. 프라이버시 문제는 앞으로 이더리움이 반드시 해결해야 할 문제다.
** 이더리움은 프라이버시 문제에 대한 해결책으로 올해 예정된 다음 업데이트에 거래 내역을 모두 암호화할 수 있는 알고리즘(zk-SHARK)을 도입할 것으로 알려져 있다.
4. 스마트 컨트랙트의 불완전성
제 아무리 블록체인이 철저한 보안을 자랑한다 한들, 코드를 작성하는 것은 언제나 인간이고, 인간이 쓴 코드에는 항상 버그나 허점이 있을 수밖에 없다. 기능이 특정되고 예측 가능하게 설정된 비트코인과는 달리, 플랫폼을 통해 상상 가능한 모든 것을 설계할 수 있는 이더리움은 수많은 활용 가능성을 열어둔다. 높은 자유도는 이더리움의 장점임과 동시에 다양한 버그나 보안상 허점을 만들어낸다. 따라서 잦은 사고와 업데이트가 일어나게 된다.
게다가 일반적인 소프트웨어와 달리, 스마트 컨트랙트에 담긴 하나의 버그나 실수는 매우 치명적인 문제를 일으킬 수도 있다. 대표적인 것이 2016년 ’The DAO’의 해킹 사태다. ‘The DAO’는 이더리움 위에서 개발된 Dapp이었는데, 크라우드 펀딩을 통해 1천억 원에 가까운 돈을 모은 대형 프로젝트였다. 그런데 해킹을 당해 3분에 1에 해당하는 어마어마한 양의 돈을 잃어버리고 말았다. 해커는 블록체인 자체가 아니라, ‘The DAO’가 사용하는 스마트 컨트랙트 코드에서 약점을 찾아냈다고 한다. (이 사건 때문에 이더리움은 하드 포크라는 극단적 수단을 사용해 탈취된 돈을 원상 복구했다.)
이처럼 스마트 컨트랙트는 항상 코드가 불완전할 수 있다는 위험이 존재한다. Dapp 위에서 다양한 비즈니스가 돌아가려면 이 리스크를 최소화할 방법을 찾아야 한다.
5. 지나치게 엄격한 계약
블록체인에서 일어난 거래는 어떤 일이 있어도 되돌릴 수 없다. 잘못된 거래나 실수를 되돌릴 수 없다는 것은 블록체인의 단점이기도 하다.
블록체인 위에 올라가는 스마트 컨트랙트도 마찬가지다.
어떤 자산을 거래하는데, 내가 정해진 시간까지 돈을 지급하기로 하고 못하면 벌금을 물기로 스마트 컨트랙트를 작성했다고 하자. 그런데 막상 돈을 지급해야 할 순간에 불의의 사정(정전, 은행 서버 다운 등등) 때문에 돈을 제때 지급하지 못했다. 고의로 계약을 어기려고 한 것이 아니기 때문에, 상대방에게 사정을 설명하고 예외 인정을 해줄 수가 있다. 그런데 스마트 컨트랙트는 (그런 사정을 미리 적어두지 않았다면), 바로 계약을 어겼다고 생각하고 페널티를 부과해버린다.
스마트 컨트랙트가 대중화되면 이런 식의 고지식함은 문제를 일으킬 여지가 크다. 이런 단순한 사례 외에도 현실에서는 여러 가지 상황으로 인해서 계약 내용에 대한 분쟁이 발생한다. 그런데 스마트 컨트랙트는 코드일 뿐 변호사가 아니기 때문에 이런 부분을 해결하지 못한다. 단지 정해진 대로 코드를 실행할 뿐이다. 사용자 입장에서 스마트 컨트랙트의 또 하나의 단점이다.
** 스마트 컨트랙트 계약과 관련하여 법적 조정을 도와주는 Dapp도 등장했다. (Mattereum, Codeligit)
6. 내부 거버넌스(On-chain Governance)의 부재
이더리움의 거버넌스 또한 비트코인과 마찬가지로, 자체적으로 프로토콜을 업데이트할 수 있는 방법이 없다는 점이 문제다. 이더리움은 누구도 소유하지 않는 오픈 소스 프로젝트다. 엄밀히 말해, 아무도 규칙(프로토콜)에 대한 결정권이나 책임이 없다.
그래서 프로토콜에서 업그레이드하려면 거의 모든 참가자들의 동의를 받아야 하고, 동의하지 않는 그룹은 하드 포크로 떨어져 나가는 일이 반복된다. (2016년 하드 포크를 통해 떨어져 나가 생긴 것이 이더리움 클래식이다.)
현실 사회의 거버넌스인 정치를 생각해보자. 대통령 선거나 국회의원 선거에서 50%만 나와도 엄청난 숫자다. 67%의 동의를 얻으면 헌법도 고칠 수 있다. 그런데 90%의 동의를 받아야 프로토콜을 업데이트할 수 있다는 것은 상당히 큰 장애물이다.
이더리움이 목표하는 바를 이루려면 아직도 가야 할 길이 멀고, 계속해서 업그레이드가 필요하다. 이 과정에서 합의에 많은 시간이 걸리고, 하드 포크가 계속 발생한다면 이더리움의 발전 속도는 더뎌질 수밖에 없다. 시간이 지나면서 이 문제는 더 중요해질 것이다. 사람이 많으면 많아질수록, 공통된 의견을 만들기도 어려워지기 때문이다.
현재 이더리움은 비탈릭 부테린과 이더리움 재단의 개발자들이 리더십을 가지고 이더리움이 가야 할 방향을 제시하고, 커뮤니티는 이에 동조하는 모습을 보이고 있다. (비트코인과 같이 개발자-채굴자 갈등이 없는 이유는 이더리움의 채굴자들은 대형화되어 있지 않기 때문)
이더리움의 창립자, 비탈릭 부테린
어떤 사람들은 '이더리움 재단이 이더리움에 대해서 너무 많은 영향력을 가지고 있다.' '권력이 집중되어있다'라고 비판하기도 한다. 하지만 현재 상황에서 이더리움이 해결해야 할 수많은 난제를 생각하면 어느 정도의 리더십이 필요한 것은 사실이다.
어쨌든 이더리움 거버넌스의 이런 한계 때문에, 내부 거버넌스 시스템을 탑재한 경쟁자들도 등장했다. 내부 거버넌스 시스템이 있으면, 참여자들이 대표자 선출 등을 통해서 프로토콜을 업데이트할 수 있다.
누가 블록체인 시대의 안드로이드와 iOS가 될 것인가?
살펴본 것처럼, 이더리움은 혁신적인 프로젝트이면서 동시에 많은 한계점을 내포하고 있다. 어떤 것들은 스마트 컨트랙트의 특성상 발생하는 근본적인 문제이기도 하고, 어떤 것들은 앞으로 기술의 발전으로 해결될 가능성이 높은 문제이기도 하다. (언급한 것 이외에도 몇몇 문제들이 더 있다.)
당연하게도 Dapp 플랫폼을 목표로 하는 것은 이더리움 뿐만이 아니다. 이더리움의 등장 이후로 수많은 경쟁자들이 나타났다. 이 경쟁자들은 이더리움이 가지고 있는 문제를 나름의 방식으로 해결하겠다고 주장한다. 이 프로젝트들은 모두 앞으로 다가올 시대의 안드로이드와 iOS가 되기 위해서 치열한 경쟁을 펼치고 있다.
다음 글에서는 이더리움과 차별점이 있고, 현재 대중들의 신뢰를 가장 많이 받고 있는 (시가총액이 높은) 플랫폼들을 살펴보려고 한다.
Hi, thank you for contributing to Steemit!
I upvoted and followed you; follow back and we can help each other succeed :)
P.S.: My Recent Post
Congratulations @credit2capital! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Award for the number of posts published
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @credit2capital! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!