블록체인에 대해 공부해보자! - 트릴레마, 확장성 솔루션과 거버넌스 모델
트릴레마는 뭘까? 그리고 확장성 솔루션에는 어떤 것들이 있을까?
이더리움의 창시자인 비탈릭이 제시한 블록체인 네트워크의 트릴레마(Trilemma)라고 하는 것이 있다.
- 분산화
- 확장성
- 보안성
이외에도 전송 속도의 문제와 컨센서스에 도달하기까지의 시간 문제, 오라클 문제 등이 있다. 이들에 대해 차츰 다뤄보도록 하겠다.
퍼블릭 블록체인은 탈중앙화, 즉 분산화에 특화되어 있지만 보안성과 확장성의 측면에서 취약점을 보이고 있는데 확장성에서는 블록 사이즈 크기와 수수료 문제, TPS(Transaction Per Seconds) 등의 이슈가 있다. 이에 대한 문제를 해결하기 위하여 다양한 프로젝트들이 나오고 있는데 그 중 우리에게 잘 알려진 것이 이더리움의 샤스퍼(Shasper), 라이덴 네트워크(Raiden Network), 플라즈마(Plasma)이다.
샤스퍼는 샤딩과 캐스퍼를 합친 용어로, 샤딩은 데이터 베이스에 대한 저장 방식이라고 할 수 있다. 메인체인에서 모든 블록에 대한 유효성 검증을 하게 되면, 사용자가 많아지면 많아질수록 체인이 무거워지고 과부하가 걸리기 때문에 블록에 대한 거래 내역을 쪼개어 오프체인에 할당하는 방식이다. 블록에서 나누어진 거래내역들은 각각의 샤드에서 검증하게 되고 유효성에 대해 검증된 것만 다시 메인체인에 올리는 방식이다. 이런 방식을 사용하게 되면 트랜잭션의 과부하가 일어나지 않게 되고 샤드의 개수에 따라 TPS 성능도 올라간다.
이더리움과 같은 샤딩 방식을 사용하는 프로젝트는 쿼크체인, 질리카가 있다. 현재 이더리움은 1024개의 샤드가 있다고 한다.
라이덴 네트워크는 라이트닝 네트워크(Lightning Network)와 유사하다. 잦은 거래로 인한 네트워크 과부하와 수수료 문제를 해결하는 솔루션으로써, 온체인이 아닌 오프체인에 별도의 채널을 열어 사용자들끼리 여러 번 거래를 해도 오프체인이라 수수료가 발생하지 않으며 마지막에 성사된 거래 내역만을 온체인에 올려, 네트워크 과부하를 방지한다.
플라즈마는 메인체인 외에 차일드 체인을 두어 네트워크의 병목 현상을 해결하는 솔루션이다. 차일드 체인에서 먼저 정보를 기록하고 처리하여 용량을 최소화한 것을 메인체인에 올리는 방식을 말한다. 사용자 입장에서 처리해야 하는 데이터의 양이 여전히 비효율적일 것이라는 의견에, 비탈릭은 플라즈마 캐시 솔루션을 제시했고, 차일드 체인에 또다른 캐시를 만드는 것이다. 사용자들은 자신의 이더리움을 예치하여 플라즈마 코인을 지급받고, 지급받은 플라즈마 캐시로 플라즈마 블록체인의 거래 내역을 추적할 수 있게 만드는 것이다. 플라즈마 캐시에는 고유의 ID가 주어져 이전보다 거래 내역을 파악하기 쉬워졌으며 사용자들의 번거로움도 최소화 할 수 있게 되었다.
하지만, 플라즈마를 개발하는 데에 여러 문제가 발생하여 다른 확장성 솔루션인 영지식 증명(zk-SNARKS)을 검토하고 있다고 한다.
캐스퍼는 이더리움의 기존 작업 증명 방식(PoW)에서 지분 증명 방식(PoS)로 전환하는 프로젝트를 의미한다. 작업 증명 방식은 시간과 컴퓨터 자원의 소모가 심하여 확장성의 발목을 잡는다.(비트코인의 경우 연간 64 TWh의 전력을 소모한다) 이더리움은 확장성 문제를 해결하기 위한 방법으로 PoS 방식으로의 전환을 준비하고 있다. (세레니티) 이외에도 샤드를 더 효율적으로 구성하기 위한 비콘체인, EVM(Ethereum Virtual Machine)을 대체할 eWASM의 도입 등 확장성을 극복하기 위한 여러 솔루션이 제시되고 있다.
다른 프로젝트로는 EOS와 STEEM이 있다.
이더리움과는 달리 지분 위임 증명 방식(DPoS) 프로토콜을 사용하는 프로젝트들이다. 이오스(EOS)에는 21명의 블록 프로듀서(BP)들이 있고, 스팀(STEEM)에는 20명의 증인(Witness)(+예비 증인 1명)들이 있다.
이오스와 스팀은 자신의 지분으로 투표를 통해 블록 프로듀서들과 증인에게 네트워크 방향성에 대한 권한 위임을 할 수 있어, 컨센서스에 도달하는 시간이 지금까지 나온 합의 프로토콜 중 가장 빠르다고 할 수 있다. 이를 통해 네트워크의 과부하를 보완하며 TPS도 다른 컨센서스 프로토콜에 비해 월등히 높다. (참고 – Blocktivity) 또한 자신의 이익을 위해서라도 커뮤니티에 기여해야 하는 선순환 구조를 만들었다. 예를 들어, 이오스의 경우 헌법이 있고 스팀의 경우에는 커뮤니티 자체적으로 어뷰징 문제에 대한 정화를 하는 시스템을 갖추고 있으며(kr-guidedog, cheetah) 써드 파티 앱을 커뮤니티 구성원들이 제작하는 등 여러 활동들이 활발하게 일어나고 있다. 두 프로젝트 모두 투표권이 있어 블록 프로듀서와 증인에 대한 감시와 권리를 행사할 수 있다는 것이 큰 장점이며, 이를 통해 커뮤니티나 네트워크 내에서 악의적인 활동을 유발하는 노드들에 대한 차단을 비교적 효율적으로 이루어 낼 수 있다.
또 다른 확장성 문제로는, 블록체인 네트워크가 아닌 외부에서 사용자의 정보를 받는 것에 관한 Oracle 문제가 있다. Oracle 문제란, 예를 들어 우버(Uber)와 같은 차량 공유 서비스를 블록체인 네트워크로 운용한다고 한다면 실제로 차량에 어떤 사용자가 탑승했는지에 대한 실질적인 정보를 얻는 데에서 발생하는 문제이다. 누군가가 외부 네트워크에서, 혹은 실제 현장에서 검증을 해야 하는데 여기서 개인의 사생활 침해의 문제와 같은 개인 정보 보호의 문제가 발생하게 된다. 많은 프로젝트들이 오라클 문제에 대해 골머리를 앓고 있으며 적절한 타협점을 찾아가고 있다.
Oracle의 종류로는, 센서로 사용자를 파악하는 하드웨어 Oracle, 신뢰성이 짙은 외부 네트워크를 통해 정보를 가지고 오는 소프트웨어 Oracle이 있다. 하드웨어 Oracle의 경우에는 사용자에 대한 개인 정보 침해의 우려가 있고 실질적인 부품이 고장 나게 되면 무용지물이 된다. 다만, 정상적으로 운용이 될 수만 있다면 이보다 더 확실한 사용자 검증 방법은 없을 것이다. 소프트웨어 Oracle의 경우에는 오프체인을 활용한 방법이다. 정부나 제 3의 신뢰 기관 네트워크에 저장된 거래 내역과 정보를 블록체인 네트워크로 끌어오는 방식이다. 하지만 여기서도 문제는 발생한다. 블록체인이 아닌, 오프체인에서의 데이터를 온체인으로 가져올 때 해킹에 대한 위협을 보장받지 못하며 위·변조 가능성, 데이터의 무결성에 대해서도 취약하다.
마지막으로, PoS 합의 알고리즘과 결합한 Oracle 모델의 구축 방법이 있다. 지분 증명 방식인 PoS의 장점인 지분량에 따른 블록 검증권을 이용하여 신뢰성 있는 정보를 바탕으로 블록체인 네트워크에서의 승인을 도출해내는 방식이다. 지분량이 많으면 많을수록 블록 생성권을 얻을 수 있으며 노드가 잘못된 정보를 기록하고 검증할 시에는 지분을 빼앗긴다. (예: null 계정) 많은 지분량을 가진 사람이 자신의 이익을 위해 잘못된 정보를 거를 확률을 믿고, 데이터 검증을 신뢰하는 방식이다.
최근에는 ICON 재단이 퍼블릭 블록체인(Public Blockchain)과 프라이빗 블록체인(Private Blockchain)을 연결하는 인터체인(Inter Chain)이 오라클 문제를 해결하는 확장성 솔루션이 될 것이라 보고 인터체인 개발에 중점을 두고 있다고 한다.
이런 확장성 솔루션 이외에도 PoW 코인 간의 교환을 자유롭게 해주는 아토믹 스왑(Atomic Swap), 두 블록체인 간의 소통 창구 역할을 해주는 릴레이어(Relayer) 등이 있다.
괜찮은 거버넌스 모델을 구축하고 있는 플랫폼은 어떤 게 있을까?
현재 시점에서 블록체인의 거버넌스 모델 중 좋은 모델은 스팀과 이오스를 꼽을 수 있다. 개인에 대한 참여의 권리와 기회 부여, 자발적으로 운용되게 구성된 시스템은 그야 말로 강제성이 없으며 개인에 대한 존중을 바탕으로 구성되어 있다고 할 수 있다. 커뮤니티 구성원들이 네트워크의 룰을 구성하는 데에 참여하고 기여하며 발전하는, 개인의 이익이 곧 공동체의 이익이 되는 방향으로 구성원들의 동기를 유발한다. 이오스나 스팀의 경우, 네트워크의 ‘선’이 자신의 자산과 밀접한 연관을 갖기 때문에 블록 프로듀서나 증인들이 악의적인 행동을 할 확률이 낮다고 볼 수 있다. 사람들은 누구나 예측할 수 없고 확신할 수 없지만 적어도 확률적인 측면에서는 높고 낮음을 판단하여 좋고 나쁨을 구분할 수 있어야 한다고 생각한다. 그런 판단에서 이오스와 스팀을 좋은 거버넌스 모델이라고 생각한다.
이오스는 몇 달 전 블록 프로듀서들의 담합 문제가 있었고 스팀의 경우에는 DApp인 스팀잇에서 꾸준히 어뷰징 문제가 나타나고 있다. 이는 이오스와 스팀의 합의 모델의 핵심이 철저한 자본주의를 바탕으로 구성된 것이라는 점에서, 자연스러운 현상이라고 생각한다. 하지만, 사용자들의 유입과 비즈니스 모델 구상을 위해서는 생태계에 해를 끼치는 악의적인 참여자들의 행동을 본질적으로 억제할 수 있어야 한다고 본다. 스팀의 경우에는 커뮤니티 구성원들 자체적으로 어뷰징을 하는 구성원들에 대해 비판하며 다운 보팅(Down Voting)이라는 의사 표현을 할 수 있는 도구를 활용하여 정화 작용을 하고 있으며 스팸과 복제 등 컨텐츠의 가치를 하락하게 만드는 구성원들에 대한 차단도 서슴지 않는다.(악의적인 사용자 게시글을 블라인드) 이러한 행동을 하는 이유는 한 가지이다. 질이 낮은 컨텐츠들이 날뛰게 되면 자연스레 플랫폼에 대한 가치가 하락하고, 자신의 자산 가치도 떨어질 확률이 높기 때문이다. 특히 스팀은 재단이 딱히 개입하는 부분이 없기 때문에 네트워크 참여자들에 의해 플랫폼의 방향성이 결정된다고 해도 과언이 아니다.
구성원들이 자체적으로 써드 파티(Busy, Vessel, Steempeak, Steemconnect)도 만들고 스팀페이코(Steempayco)라는 지불 시스템을 만들어 실물 경제에 직접적으로 연관 지으려고 하는 시도도 돋보인다.
이오스의 경우에도 똑같다. DApp들을 위한 생태계를 잘 구성했다고 보는 이유 중 하나가 바로 이오스 토큰의 Staking이다. Staking을 함으로써 자신들의 자산을 동결시켜 생태계에 악영향을 미칠 요소의 근본적인 부분들 제거했다고 본다. 그래서 나는 적어도 이오스의 블록 프로듀서들이 담합했다는 사실을 그다지 안 좋게 보지 않는다. 담합이라는 어휘가 나빠 보이는 것이지 이오스 생태계에 영향을 주는 것은 오히려 좋은 쪽일 확률이 높다는 얘기다. 담합해서 자신들의 위치가 하락하여 블록 프로듀서에서 탈락하면 다음부터는 그러지 않으면 된다. 하지만, 담합을 하여 오히려 생태계를 유지하고 지속시키는 데에 힘을 쏟는다면 커뮤니티 구성원들은 그다지 나쁘게 보지 않을 것이다. 서로 간에 투표를 하여 DApp을 더 유저 친화적으로 만들고, 사용자들의 유입을 돕고 이오스 토큰의 가치를 높인다면 적어도 이오스 생태계의 참여자들에게 나쁜 요소로 작용하는 부분이 없다는 것이다. 문제는, 투표에 대한 보상이 없다는 것인데 투표에 대한 참여를 유도하기 위해 DApp들 자체적으로 인센티브를 주는 수밖에 없다. 이에 대해 이오스 재단은 렉스(REX)라는 보상 체계를 도입하는 방안을 검토하고 있다고 한다.
이와 같이 여러 문제들이 있지만, 커뮤니티 내에서 이러한 문제들을 해결하려는 여러 움직임들이 보이고 있는 것은 아주 희망적이라고 생각한다. 한계점을 극복하는 방안들은 지속적으로 나올 것이며 구성원들은 많은 의견들을 제시하고 같이 헤쳐 나갈 것이라고 생각한다.
꽤나 쉽게 설명해주신거 같은데 이해가 안되는거보면 정말 무지한가봅니다 저는 ㅜㅜ
아닙니다..ㅠㅠ 공부해보시면 쉽게 알 수 있습니다! 글 읽어주셔서 감사합니다.
좋은글 잘 읽었습니다!!
근데 스팀도 이오스처럼 21명으로 표현을 해야 하지 않을까요
20명의 증인과 1명의 예비증인으로...
오옷 첨언 감사합니다! 수정하겠습니닷!