끊임없이 검증하라

나에게 당연할지라도

CS

배경학습_2_이더리움, NFT, 그리고 지금의 블록체인

fadet 2022. 5. 24. 18:29

* 비유는 접근성을 높일지라도 본질을 흐리기 마련입니다.

이 포스트는 학습 과정에서 그 내용을 기록한 글이기에 부정확한 정보가 포함될 수 있습니다.

또한 너무 자세한 내용은 글의 길이를 위해 과감히 삭제한 부분도 존재합니다.

따라서 해당글은 참고용으로만 봐주시고 틀린 부분이 있다면 알려주시면 감사하겠습니다. 

 

* 해당 글은 저술가이신 유튜버 김필산님의 채널 '김필산의 사이언스 비치' 내 동영상 일부를 참고하여 작성하였습니다. 개발 지식이 전무한 일반인이시면 아래 링크된 채널도 방문하여 영상을 시청하시는걸 추천합니다.


이전 포스트에선 블록체인의 기본적인 개념을 살펴봤습니다. 오늘은 2세대 블록체인의 등장부터 NFT, 스테이블 코인과 개인적인 비트코인에 대한 견해를 얘기해보고자 합니다. 이번 글은 좀 주관적인 의견이 많은 편이라 앞 부분에 개념 위주로 뒷 부분은 의견 위주로 구성할 예정입니다.

Index
1 최종적 일관성(Eventual Consistency)
2 갈등, 하드 포크
3 2세대 블록체인, 이더리움
4 스마트 컨트랙트, dApp, The DAO
5 The DAO 해킹 사태
6 NFT(Non-fungible token)
7 스테이블 코인(Stable Coin)
8 지금의 블록체인

 

최종적 일관성(Eventual Consistency)

 

블록체인은 작업 증명이라는 알고리즘을 통해 그 유일성을 유지합니다. 그리고 이 작업 증명 알고리즘은 분산 시스템의 중요한 특성인 최종적 일관성(Eventual Consistency)을 잘 보여줍니다. 본격적인 내용에 앞서 짧게 언급하고 넘어갔던 이에 대해 조금 자세히 다뤄보려고 합니다.

 

일단 Eventual Consistency를 말하기 전 일관성(Consistency)에 대해 먼저 설명해야겠네요. 일단 은행 서버와 같이 전통적인 RDBMS*의 트랜잭션은 ACID라는 성질을 잘 보여줍니다. 이 ACID는 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation) 그리고 지속성(Durability)을 포함하는데 전부를 다루지는 않을 것이고 이 중 우리는 일관성에 초점을 맞춰볼까합니다.

*RDBMS : 관계형 데이터베이스 관리 시스템의 줄임말로 쉽게 전통적인 서버 DB라고 생각하면 됨

 

만약 잔고가 15000원 있는 A가 있고 1 은행에서 공과금 만 원이 빠져나가고 2 B라는 업체가 만 원을 이체받아야한다고 가정해보겠습니다. 이 때 만약 시간이 절묘하게 겹쳐 중앙 서버에선 순서 1이 실행됐지만 그것이 반영되지 않은채로 고객 쪽에서 순서 2가 진행되면 어떻게 될까요? 분명 중앙 서버 쪽에선 은행에 먼저 이체가 되고 B는 잔고부족으로 이체가 불가능하지만 고객의 통장에선 B에 이체가 되고 은행에는 미납되는 다른 상황이 벌어지게 됩니다. 그래서 은행과 같이 자산 등 중요한 거래를 다루는 서버는 반드시 트랜잭션 하나가 완료되면 그것이 모두 반영된 후에 새로운 트랜잭션이 이루어져야 합니다. 이것을 잘 나타내는 특성이 일관성(Consistency)입니다.

 

그런데 클라이언트와 서버의 통신에 있어 이 일관성과 반드시 엮이는 가용성(Abailabilty)이 있습니다. 가용성은 말 그대로 서버와 클라이언트의 통신이 늘 정상적으로 가동될수록 높아집니다. 그런데 일관성과 가용성을 둘다 높게 유지해야만하는 은행 등과 달리 최근 SNS 등의 분산 컴퓨팅 시스템에선 이 일관성과 가용성을 둘다 잡을 수 없다는 CAP 이론이란게 있습니다

 

CAP 이론을 이해하기 위해 만약 서로 팔로우된 A, B, C가 인스타그램을 이용하고 있다고 칩시다. 만약 A가 사진을 포스트한 순간 B와 C가 동시에 인스타그램 앱에 접속합니다. 그런데 C는 이용하는 서버와 꽤 거리가 있는 곳에 살고 있어 접속시 A가 포스트하기 바로 전 DB 내용을 업데이트 받았습니다.

 

우리에게 큰 문제가 딱히 없어보이는 이 예시는 분산형 시스템에서 일관성을 희생해서 가용성을 택한 결과입니다. 만약 은행처럼 트랜잭션의 일관성이 엄격히 지켜져야 한다면 A가 포스트를 올린 내용이 모든 사용자들에게 동기화될 때까지 다른 요청은 차단되야하므로 가용성이 저하되죠. 하지만 예시처럼 C가 최신 업데이트를 좀 늦게 받아도 큰 문제가 생기지 않는 것처럼 SNS같은 분산형 시스템은 대부분 일관성을 엄격히 지킬 필요가 없으며 오히려 사용자들의 편의를 위해 가용성을 더 중요시 여기곤 합니다.

 

따라서 앞선 예시처럼 모든 노드들의 동기화가 끝나기 전이더라도 요청 등 접근을 허용케하여 일시적으로 일관성을 포기하지만 결국 모든 노드들은 차이가 좀 있더라도 최신 업데이트를 받으면 같은 정보를 공유하기에 최종적으론 일관성이 유지되며 이를 Eventual Consistency이라 합니다.

 

이처럼 우리가 사용하는 서비스들은 애초부터 일관성을 엄격하게 지키거나 일시적으로 그를 희생하더라도 결과적으론 일관성을 유지시키는 것처럼 이 일관성을 중요시 여기며 이것이 지켜지기에 블록체인 역시 유일성을 지킬 수 있습니다. 하지만 시스템 설계 자체보다는 참여자들인 노드들과 관련되어 일관성 자체가 깨지고 그에 따라 유일성을 가진 체인이 서로 분리되는 경우가 존재하며 이를 '하드 포크'라 하고 이는 시사하는 바가 좀 큽니다. 

 

갈등, 하드 포크

 

포크(fork)란 우리가 사용하는 식기처럼 체인이 하나에서 여러 갈래로 분리되는 것을 뜻합니다. 우선 우리는 소프트 포크를 살펴봤었습니다. 이 소프트 포크는 작업 증명 과정에서 분기가 생길때 일어나며 나머지의 탈락으로 체인은 결과적으로 유일성을 잃지 않는 정격 체인만 남기에 진정한 의미의 포크는 아닙니다. 물론 이런 분기뿐만 아닌 단순 기능의 추가나 버그 수정으로도 소프트 포크가 일어날 수도 있지만 이 경우에도 결국 분기 이전의 체인이 유효합니다. 하지만 하드 포크란 정말로 체인의 유일성이 깨지고 아에 서로 다른 체인으로 분리되는 진정한 의미의 포크입니다. 이 하드포크 중 가장 큰 사건이라 할 수 있는 것은 비트코인에서 벌어집니다. 

 

앞서 체인의 한 블록은 1MB로 제한되며 이를 통해 얻을 수 있는 효과에 너무 커지지만 않는다면 이란 한 가지 조건을 달았었습니다  비트코인은 마찬가지로 블록당 1MB의 용량으로 제한되었으며 이는 2100건 정도의 거래를 수용할 수 있는 설계였었습니다. 하지만 비트코인의 거래 규모는 나날이 커져만 갔고 당연히 그 한계에 부딫히게 됩니다. 따라서 참여자들은 블록의 용량을 늘리거나 거래 서명을 따로 저장하는 등의 의견을 서로 내놓습니다. 하지만 서로의 이해관계에 얽혀 문제 해결에 난항을 겪게됩니다.

 

아무래도 하드포크가 일어나는 것은 코인의 가치하락을 의미하기에 기존 비트코인 참여자들은 엄청나게 반대하며 많은 시간이 소요되었고 결국 이런 저런 일을 겪으며 2017년 비트코인은 '비트코인'과 '비트코인 캐시'로 하드 포크됩니다. 비트코인 캐시로 넘어가는 사람들은 기존에 가지고 있던 코인과 상응하는 보상을 새로운 체인에서 사용하게 되었으며 두 체인은 아예 서로 다른 체인이 된 것입니다. 

 

이 하드 포크가 시사하는 바는 과연 많은 이들이 말하는 화폐의 이상적인 탈중앙화란 지금의 블록체인 기술로 정말 가능한가 입니다. 이것에 대해 할 말이 많으니 뒤에서 자세히 다루겠습니다. 이처럼 참여자들의 이해 관계에 의해 하드 포크는 수없이 일어났으며 이 사건만큼 규모가 있고 비슷하지만 조금 결이 다른 하드 포크가 또 하나 존재합니다. 그 하드 포크는 많은 가능성을 보여준 2세대 블록체인에서 발생합니다.

 

2세대 블록체인, 이더리움

 

블록체인은 정말 혁신적인 기술입니다. 하지만 앞서 하드 포크된 비트코인의 사례만 봐도 통용되는 거래 수단으로써 가치를 비교적 유지해야하는 '화폐'로 기능하기에 '암호화폐'는 분명 한계점이 존재합니다. 그런데 이런 한계가 존재함에도 불구하고 블록체인의 인기는 식을 줄 모릅니다. 투기나 키워드 마케팅 같이 금전의 이득만을 보고 몰리는 관심을 제외하고도 말이죠. 그 이유를 2세대 블록체인인 이더리움(Ethereum)이 말해줍니다.

 

기존 블록체인은 분산 P2P 시스템을 갖춘 위변조 기술이지만 근본적으로는 초기에는 암호화폐를 목적으로 개발된 기술입니다. 그렇기에 블록체인의 블록에는 채굴 보상 내역과 그 보상의 거래 내역 트랜잭션이 담겨 있으며 이외에 약간의 메타데이터만을 담을 수 있었습니다. 하지만 사람들은 트랜잭션 정보에 가치를 부여한다는 것에서 블록체인을 화폐가 아닌 다른 가능성을 바라보기 시작합니다. 그렇게 등장한 것이 이더리움입니다.

 

물론 블록의 용량을 늘리는 등 다른 차이점도 많이 존재하지만 이더리움의 등장 의의는 화폐 기능에 집중하던 블록체인의 적용 범위를 늘린 것입니다. 

스마트 컨트랙트, dApp, The DAO

 

사람들이 모이고 사회가 형성되면 그 사회는 필연히 사람들간 상호 작용으로 지속됩니다. 그 상호 작용에는 많은 종류가 존재하지만 그 과정에선 반드시 갈등이 발생할 수 밖에 없고 이해 관계가 명확히 다른 집단 사이에 갈등의 합의점을 찾는 계약이 등장합니다. 하지만 그 계약이란게 지켜지기 위해선 결국 거대한 중재자가 필요하게 되며 그 역할을 국가가 법으로써 맡게됩니다. 그리고 국가는 변호사, 법무사 등 그 중재 과정을 진행하는 대리인을 등장시킵니다.

 

여기서 이더리움의 개발자들은 생각했습니다. 블록체인은 분산 P2P를 기반으로 중앙 서버의 간섭을 받지 않고 노드들간의 상호작용을 보장합니다. 그런데 기존의 계약에선 전제되어야했던 중재자가 존재하지 않는 시스템? 그렇다면 이 블록체인을 이용하여 계약을 다르게 바라볼 수 있지 않나? 그런 의문에서 등장한 것이 바로 스마트 컨트랙트입니다.

 

스마트 컨트랙트(Smart Contract)는 말 그대로 계약입니다. 하지만 지금껏 해왔던 계약과는 많이 다릅니다. 기존 계약에 존재했던 거대한 중재 역할을 하던 국가란 블록체인에 존재하지 않습니다. 다만 그 대신 체인에 참여한 노드들 모두가 시스템에서 일어나는 계약을 보증합니다. 또한 현실 세계에서 계약을 누군가 어겼을 때 진행되는 과정을 변호사, 법무사 등 대리인에게 맡기는 것과 달리 스마트 컨트랙트는 애초에 이 대리인이 필요하지 않습니다. 스마트 컨트랙트에선 계약이 성립되면 내장된 법률 관련 코드에 의해 자동으로 계약이 진행되며 소유하는 지갑에서 자동으로 돈을 이동시키기에 애초에 계약 위반 자체가 일어나기 힘듭니다.

 

하지만 스마트 컨트랙트는 아직 해결해야할 점이 많습니다. 게약을 판단하는 코드는 어떤 법률에 근거해야 하는가부터 모든 계약을 코드 하나로 그렇게 간단히 실행될 수 있다면 법과 관련된 직업이 이렇게 오랜 시간 세분화되어가며 유지될 수 있었을까 하는 의문 등이 말이죠. 하지만 개발자들은 여기서 멈추지 않고 이 탈중앙화된 시스템에 프로그래밍 언어가 실행하는 것이 계약이 아닌 그보다 확장된 무엇인가라면 어떨지 생각했고 이게 바로 dApp입니다.

 

dApp(decentralized Application)블록 내 계약의 실행을 위해 내재되었던 코드들을 계약뿐 아니라 프로그래밍 언어로 구현할 수 있도록 한 분산 어플리케이션입니다. 이 dApp은 이더리움이라는 플랫폼 안에서 누구나 만들고 이용이 가능하지만 블록체인의 특성을 고스란히 이어받아 위변조가 불가능하며 튜링-완전*하게 구현되어 현재 우리가 쓰는 어떤 앱이나 게임, SNS, 이메일 등 코드로 짤 수 있는 모든 SW들을 코딩할 수 있습니다. 

 

튜링-완전 : 간단하게 이 세상의 모든 컴퓨터가 할 수 있는 기능들을 가진다는 의미

 

이더리움 개발진들은 이 dApp처럼 탈중앙화된 SW를 넘어서 탈중앙화된 어떤 네트워크나 조직이 블록체인 안에서 프로세싱되는 시스템을 꿈꿨고 그것이 바로 DAO(Decentralized Autonomous Organization)입니다. 앞서 말한 dApp 등의 개념을 포괄하는 것이 이 DAO 네트워크라고 생각하시면 됩니다. 그 중 블록체인 네트워크 참여자들에게 투자를 받아 스마트 컨트랙트로 그 계약이 성립되어 투자금으로 운영되는 탈중앙화된 기업의 형태, 그것이 바로 The DAO입니다.

 

The DAO 해킹 사태

 

The DAO는 분명 새로운 투자 개념으로 가능성을 보여주었지만 결과적으로 이는 이더리움 시스템을 분열시키는 결과를 낳습니다. 이는 앞서 살펴본 The DAO에서 참여자들의 투자를 받아 스마트 컨트랙트로 계약이 진행되는 과정 중에 발생합니다. 이 과정에서 계약을 이행하는 스마트 컨트랙트의 프로그래밍 코드에서 취약점이 발견되었고 해커가 이를 이용한 공격을 감행합니다.

 

쉽게 이 공격을 설명하자면 1 블록 체인 시스템에서 마치 기업의 주식처럼 투자의 보상으로 줄 토큰 발행 2 투자자는 자신의 이더(코인)을 투자해 그 보상으로 이 토큰을 소유 3 시스템에 의해 선정된 기업은 투자된 이더(코인)을 자금으로 사용 이라는 전체적인 과정에서 투자자들이 투자를 취소할 경우 환불되는 절차를 노리는 것입니다.

 

환불에 사용되는 코드는 투자자가 투자를 취소했을 때 투자자는 이더를 먼저 환불 받고 그 다음 자신의 토큰을 돌려주는 과정으로 되어 있었는데 문제는 코드의 이더 환불과 토큰 회수 사이에 취약점이 있었던 것입니다. 이를 이용하여 해커는 환불 요청을 해서 이더를 환불 받고 토큰을 회수하는 다음 단계로 진행하기 바로 전에 다시 환불 요청을 하는 재귀 call을 통해 이 과정을 무한히 반복하는 공격을 하게 됩니다.

 

하지만 DAO 규정은 이런 공격의 대응책으로 이런 환불 요청이 발생한 후 일정 기간 동안 환불받은 자금을 인출할 수 없게 짜여 있었고 일반적인 상황에서 이런 공격이 보고된다면 중앙 서버에서 해당 해커의 자산 출입을 동결해버리면 간단히 해결딜 일이지만 블록체인 시스템에선 그렇게 간단한 문제가 아니었습니다. 왜냐하면 자산 동결처럼 강력한 조치를 명령할만한 중앙 서버 자체가 존재하지 않으며 때문에 시스템 수정을 통한 특정 노드의 지갑을 동결만이 가능한데 이 접근을 위해서는 당연히 지갑 소유자의 키가 필요하기 때문입니다.

 

이제 여기서 해커가 인출하기 전 남은 기간 동안 문제를 해결하기 위한 방안은 두 가지가 존재합니다. 현 체인 시스템을 크게 해치지 않는 선에서 해커에게 갈 이더 자체를 동결하여 인출 불가능하게 하는 소프트 포크를 단행하던지 해커의 계정에 들어간 이더 자체를 전부 몰수하여 피해자들에게 돌려주는 하드 포크를 단행할 것인지 말이죠. 처음엔 소프트 포크를 진행하려고 했으나 이것은 이더 자체를 동결하기에 피해자들도 일부 출혈을 감수해야하며 도중 DDOS 공격이 있었기도해서 이는 진행되지 못하고 결국 참여자들의 압도적인 지지로 후자인 하드 포크를 진행하게 됩니다.

 

대다수의 찬성으로 잘 마무리되나 싶었던 이 하드 포크 이후 창시자인 비탈릭 부테린을 위시한 개발자들이 선택한 이 하드 포크란 행위를 그것은 탈중앙화에 위배되는 선택이었다며 하드 포크를 찬동한 참여자들을 비판하는 세력이 등장합니다. 이 세력들은 체인 시스템에 외부의 개입이 존재해서는 안된다는 주장과 함께 하드 포크 이후 없어져야 했을 기존의 이더리움 체인을 유지하고 그를 오리지날이라는 의미로 '이더리움 클래식'이라 명명합니다. 

 

이 사건은 물론 코드의 취약점을 미처 알아차리지 못한 개발자들이 주 원인이지만 결과적으로 하드 포크로 끝난 이 사건 역시 현 블록체인의 한계를 잘 나타내줍니다. 그런 한계점 등을 말하기 전에 알아야 할 내용이 더 있습니다. 바로 NFT입니다.

 

NFT(Non-fungible token)

 

NFT, 말 그대로 해석하면 대체 불가능한 토큰입니다. 앞선 포스트에서 우리는 블록체인이란 정보에 가치를 부여하는 기술이라고 살펴보았습니다. 이더리움의 등장 이후 화폐 등의 거래내역을 넘어서 다양한 정보에 가치를 부여할 수 있게 되었습니다. NFT는 그 중 체인이 공유하는 어떤 어플리케이션이나 계약 등 특정 프로토콜이 아닌 개인이 가질 수 있는 미술품, 콘텐츠 등에 가치를 부여하는 용도로 사용합니다.

 

우선 토큰(Token)이라는 게 뭔지 알아볼 필요가 있습니다. 블록 체인 내에선 두가지 화폐가 존재합니다. 이더리움을 예로 들면 채굴해서 얻을 수 있는 공식 화폐인 '이더'와 이더리움의 dApp을 통해 발행할 수 있는 '토큰' 이 두가지입니다. 이더리움에선 이 토큰을 누구나 ERC-20이라는 화폐 발행 표준을 사용하여 발행할 수 있습니다. 우리가 코인 거래소에서 볼 수 있는 수많은 잡코인들은 보통 이 ERC-20을 통해 발행된 토큰들입니다. 여기서 이 ERC-20으로 만든 토큰들을 다른 토큰들과도 특정 수량비로 교환될 수 있기에 '대체 가능한 토큰'이라고 합니다.

 

이와는 다르게 다른 코인들과 특정 수량으로 교환되지 않지만 가치를 가지지만 화폐와는 특성이 다른 미술품, 콘텐츠 등 을 디지털화하여 이를 블록체인 시스템에 등록하면 대체 불가능한 토큰, NFT가 되는 것입니다. 최근 기존에 없던 정보의 소유라는 개념때문인지 NFT 관련 콘텐츠의 가격이 억 단위까지 올라갈 만큼 정말 말도 안되는 금액에도 거래됩니다. 또한 새로운 정보 소유의 개념인 이 NFT는 사진, 동영상 등 작품에서부터 게임의 아이템, 캐릭터까지 디지털 정보로 구현될 수 있는 모든 것으로 확장되어가고 있으며 정말 많은 기업들이 이 시장에 뛰어들고 있습니다.

 

하지만 조금 생각해볼 점이 존재합니다. 이 NFT를 비유하는 말 중에 가장 대표적인 표현이 있습니다. 바로 '당신은 그림을 사는 것이 아니라 그 영수증을 사는 것' 말이죠. 이 말 그대로 블록체인 시스템에 당신이 NFT로 특정 정보를 올리는 순간 그 정보는 참여자들에게 소유권을 인정 받는 대신 모두에게 공개됩니다. 그것이 물론 정보의 소유라는 새로운 개념임은 분명하지만 아직까지 '모두에게 공개된 정보지만 사실 그것은 누군가의 정보'가 소유로 이해되기엔 너무 괴리가 큰 것이 사실이며 이것이 어떠한 가치 창출을 통해 세상을 변화시킬 것인가 의문이긴 합니다. 또한 NFT가 속한 네트워크에 참여하지 않은 사람들에겐 그저 NFT란 인터넷에 공개된 정보일 뿐이며 이는 저작물을 전부 공개한다는 것과 별다를 것이 없어보입니다.

 

스테이블 코인(Stable Coin)

 

지금까지 2세대 블록체인의 등장부터 NFT까지의 개념을 훑어보았습니다. 마지막으로 다시 블록체인을 화폐로 사용하기 위해 탄생한 개념인 스테이블 코인을 알아보려 합니다.

 

스테이블 코인에 앞서 페그(peg)에 대해서 알아보겠습니다. 페그란 국가간 특정 통화를 자국 통화의 환율에 고정해두는 경제 용어입니다. 이런 경제 용어가 블록체인과 코인들의 등장으로 코인 간의 수량 교환에 확장되어 사용됩니다. 기존의 고정 환율제에 포함되는 이 개념은 과거부터 사용되던 금본위제와 비슷한 맥락을 가집니다.

 

스테이블 코인이란 이름 그대로 이러한 페그 시스템을 적극 이용하여 기존 가치가 큰 폭으로 등락되기에 화폐로써의 기능을 제대로 수행할 수 없던 코인들을 보완한 '암호화폐'입니다. 기존의 금본위제에선 금을 담보로 발행되는 종이 화폐처럼 스테이블 코인도 가치를 안정적으로 유지하기 위해 기축 통화나 권위 있는 자산과 페그되며 주로 달러나 비트코인을 대상으로 합니다.

 

국가의 정책 기조에 의해 영향을 크게 받았던 기존의 화폐와 달리 이 스테이블 코인은 국가가 규제하지 않고 기존의 암호화폐보다 가치가 비교적 보장되며 통화 흐름이 참여자들에게 투명히 공개되기에 분명 가능성이 보이는 것은  맞습니다. 하지만 발행량을 조정하는 등 이해 집단과 개발 주체에 완전히 독립적일 수 없고 가치를 보장하는 페그의 대상이 코인인 이상 한계가 극명히 드러나며 그에 따라 최근 화제인 폭락 사태를 포함해 사기로 의심되는 여러 사건이 실제로 발생했고 아직까지도 그 위험성이 사라지지 않았습니다.

 

지금의 블록체인

 

 

이 Chapter는 정말 주관적인 의견으로 구성되어 있기에
단순히 개념을 파악하려 들어오셨다면 보지 않으시는걸 권장합니다.

 

지금까지 블록체인의 큰 흐름을 다 살펴본 것 같습니다. 중간중간 언급한 것처럼 이 블록체인은 정말 혁신적인 기술임에 분명하며 스마트 컨트랙트, NFT 등 정말 다양한 영역으로 확장될 수 있는 거대한 가능성을 가진 것은 부정할 수 없습니다. 하지만 저는 그럼에도 불구하고 빅데이터, AI, 친환경, 언택트로 이어지는 시대를 관통하는 키워드처럼 중요한 개념인지, 현재 각광받는 만큼의 가치 창출이 가능한지 고민이 됩니다.

 

이번에 블록체인을 학습하며 든 큰 의문은 두가지입니다. 첫번째는 지금의 경제 시스템을 대체할만큼 탈중앙화된 암호화폐란 정말로 가능한가의 경제활동을 하는 일반인으로서의 의문, 두번째는 블록체인 기술이 지금의 기대만큼 큰 가치 창출이 가능하여 Web 3.0 등 언급되는 것처럼 시대의 패러다임을 바꿀 수 있는 정보 기술인지의 개발자로서의 의문입니다.

 

# 암호화폐로

일단 첫번째 의문을 앞선 포스트에서부터 강조해왔던 '탈중앙화'라는 경제적이며 정치적인 이념과 엮어 다뤄보겠습니다. 분명 블록체인이 주창하는 탈중앙화는 분명 새로운 개념이며 블록체인 기술 자체는 그 특성을 뒷받침하는 분산 P2P 환경을 갖추고 작업 증명이라는 알고리즘을 사용하기에 사람들의 화제를 모으는 매력이 분명 존재합니다. 하지만 어떻게 그 탈중앙화를 유지하면서도 시스템을 악용한 경제 범죄뿐만 아닌 각종 경제적 기법과 엮여 이 기술이 가져올 사회적 문제를 어떻게 대비할 것인지 또 이해 관계에 얽혀 하드 포크되는 등 특정 집단에 의해 시스템이 훼손되는 것처럼 네트워크의 존립이 흔들릴만한 위기를 어떻게 자력으로 해결할 것인가에 대한 의문을 지울 수 없습니다.

 

이전 포스트에서 마지막에 언급했던 51% 공격과 이중 지불에 대한 취약점이나 추후 밝혀질 수 있는 허점들까지, 분명 어떤 기술의 등장 이후 취약점은 반드시 존재하며 그런 점들을 보완해가며 기술이 발전하고 사회에 적용되는 것은 당연한 수순입니다. 마찬가지로 블록체인 역시 오래된 기술이 아니며 오히려 기술의 생명주기로 따지면 초기에 머무를만큼 아직 보완할 점이 많은 기술임에 분명합니다. 또한 미래 유망 기술은 당연히 현재 부가 가치가 거의 전무하기에 당장의 수익보다 더 큰 규모의 투자가 진행되어야 하는 것도 맞습니다.

 

하지만 제 생각에 블록체인은 아직까지 이렇게 많은 돈이 몰릴만큼 성숙한 기술이 아니라고 봅니다. 블록체인 기술이 발전하여 좀 더 시스템이 정교해진다면 모를까 지금 시점에서 블록체인에 몰린 이 돈들은 절대로 기술의 미래 가치를 본 순수한 투자만으로 모인 것은 아니라고 생각합니다. 안그래도 기술의 상용화는 쉽게 볼 문제가 아닌데 그 대상이 화폐라면 더더욱 신중을 거듭해야하며 많은 시간이 필요하지 않을까요? 반드시 이렇게 거품이 낀 시장은 폭발하기 마련입니다.

 

또한 저는 분명 블록체인이 내세운 탈중앙화라는 특성은 사람들을 매료시켰지만 저는 정말 진정한 의미의 '탈중앙화'가 지금의 블록체인에서 가능한가 묻고싶습니다.

 

우선 성숙하지 않은 네트워크에서 일어나는 51% 공격이나 특정 집단이 다수 모여 코인 가치를 조작하는 등 체인 참여자들의 이해 관계에 따라 발생하는 사건, 스캠 코인이나 폰지 사기와 유사하게 일어날 수 있는 시스템의 개발자들에 의해 발생하는 사건, 마지막으로 해킹이나 장애에 의한 시스템 변경이나 기능 추가로 인해 집단의 이해 관계가 충돌하여 하드 포크되는 등 시스템의 개발자와 집단들이 같이 엮이는 사건 등 블록체인 내에서는 구성원들에 의해 정말 많은 사건들이 발생합니다. 한 번에 정리하기 힘들 정도로 많은 사건들이요.

 

도저히 몇 년내로 이 모든 것들이 해결된다고는 지금의 블록체인 기술을 볼 때 말하기 어려울 것 같습니다. 그렇다면 지금보다 블록체인 기술이 발전하여 시스템 허점의 많은 부분이 보완되고 시스템적 장치를 충분히 마련한다면 이렇게 이해관계에 종속되는 문제들을 보완한 암호화폐가 등장할 수 있다라는 말을 하는 분이 존재할지도 모릅니다. 그렇다면 묻고 싶습니다. 사람의 주관에서 자유로운 이상적인 블록체인 기술은 지금과 얼마나 비슷할까요?

 

시간이 흐르며 현재의 자본주의 시장이 탄생할 때까지 셀 수 없이 많은 금융 사상들이 있었고 실제로 적용되었으며 결국 도태되었습니다. 현대의 신용 기반의 자본주의 역시 위험성을 분명 가지고 있으나 사람들은 아무리 이익을 추구하더라도 경제 체제가 유지되는 방향으로 서로 합의하에 유지되고 있습니다. 그럼에도 불구하고 필시 체제를 위협하는 사건이 발생하며 그것을 국가가 수습하는 역사가 반복됩니다.

 

이처럼 그토록 많은 사람들이 주장했고 완벽해보였던 그 많은 금융 사상들 중 실제로 완벽했던 게 하나도 존재하지 않았는데 암호화폐에 어떤 시스템을 적용해야 이상적일 것이며 그것이 완벽하다해도 시간이 흐르면 그 무결성을 유지할 수 있을지 의문입니다. 그렇다면 문제가 생길때마다 이더리움 하드 포크 사건 때처럼 그 허점을 수정할 수 있는건 시스템의 개발자들 뿐인데 그 개발자들이 정말 이해관계에 완벽히 자유로울 수 있나요? 하물며 체제의 유지를 위해 공익을 우선하지만 그를 위해서 수많은 집단끼리 서로를 견제하는 국가도 욕을 먹는 판에요? 만약 개발자들이 아닌 시스템에 내장된 AI가 그런 자동화 보완 작업을 진행한다 해도 그 AI는 이해관계에 얽매이지 않는 완벽한 행동만을 수행한다고 보장할 수 있나요? AI도 결국 이해집단들이 만들텐데 말이죠.

 

비단 시스템을 설계하는 주체뿐만 아니라 참여자들 역시 이 시스템을 위협할 수 있을 겁니다. 앞서 닷컴 버블, 대공황, 코로나같은 경제 위기가 찾아왔었고 그때마다 금융 시스템은 붕괴되었습니다. 그런데 그 위기들이 인재였건 천재였건 구성원들 자력으로 그 위기를 극복할 수 있었나요? 심지어 닷컴 버블때는 투자된 자산 평균 70%가 하락할만큼 시스템의 자력 구제가 아에 불가능할 정도로 붕괴했었습니다. 그런데 참여자들로만 유지되는 암호화폐 시스템이 그 정도의 위기를 겪는다면 어떨까요? 너무 사건이 일어나길 바라는 비관적인 시선으로 본다며 비판할 수 있습니다만 그렇다면 코로나라는 재앙이 일어날 줄 그 누가 알았었나요?

 

최초 비트코인을 공개하며 사토시는 이 기술은 제 3자의 개입이 없는 완전한 개인 간의 전자 화폐 시스템으로 이를 연구했다고 밝혔습니다. 또한 비트코인은 소규모 거래에 실용적일 것이라 예측했습니다. 그런데 이더리움 등 후발주자와는 달리 오로지 화폐에 집중했던 비트코인조차도 금융 사회에 편입되자마자 화폐의 기능을 상실했고 문제점만 말해도 1시간은 넘게 얘기할 정도로 많으며 뒤에 등장한 스테이블 코인조차 가능성을 크게 보여주진 못했습니다. 소규모 거래에 쓰일 것이라는 예측과는 달리 화폐라고 하기엔 그 어떤 결제 수단으로의 가치도 없었구요. 물론 기존의 화폐를 대체하는 것까지는 아니고 암호화폐가 화폐의 종류 중 하나로 존재하게 되는 일은 만에 하나 일어날 수는 있다고 생각합니다. 그런데 이런 코인들이 시간이 조금 지난다고 해서 기존의 화폐를 대체할 수 있다고는 전혀 생각되지 않습니다. 

 

결국 말하고 싶은 것은 앞서 살펴본 이런 점들을 봤을때 과연 '탈중앙화'됐다는 암호화폐 관련 금융 시스템이 현재 국가가 주도하는 금융 시스템에 비해 뭐가 더 낫다고 할 점이 있는가입니다. '탈중앙화', 물론 좋습니다만 지금의 블록체인으로 그것을 실현할 암호화폐는 상상이 되지 않습니다. 시간이 흐르면 암호화폐의 통화로써 도입이 가능할 수도 있겠죠. 하지만 그 기술이 '탈중앙화'를 유지할 수 있다고 확신할 수 있나요? 

 

#2 블록체인 그 자체로

 

지금까지 암호 화폐란 관점에서 바라본 블록체인을 얘기했지만 이번엔 그 기술 전반을 한 번 바라볼까 합니다.

 

근 10년간 시대를 관통하는 keyword 중 '빅데이터'와 'AI'는 말할 것도 없이 세상을 뒤바꿨으며 아직도 발전하고 있습니다. 또한 각종 천재지변들의 사상 최대치가 끊임없이 갱신되는 것처럼 정말 눈에 보이는 현실로 다가온 기후 위기를 극복하기 위해 '친환경' 부문은 오히려 더 큰 관심이 필요합니다. 그리고 코로나를 겪으며 전 세계의 모든 기업이 디지털화를 거치게 되는 것처럼 '언택트' 역시 당면한 현실이었기에 큰 투자가 필요했었습니다.

 

하지만 저는 최근 가장 큰 이슈인 'NFT'와 '메타버스'가 과연 이들과 동일선상에서 취급될만큼 중요하다고 생각하지는 않습니다. 솔직히 말해서 NFT는 몰라도 메타버스는 온라인 게임과 다를바 하나 없는 정말 키워드 마케팅이라고 생각하며 그에 비해 NFT는 투자해볼만한 새로운 개념이긴 하지만 그것이 어떻게 가치를 창출할 수 있게 될지는 의문입니다.

 

제 개인적인 견해로 앞서 암호화폐, 스테이블 코인, 스마트 컨트랙트와 DAO, NFT 등 다뤄본 내용 중 현 시점에서 향후 몇 년 후에 사용화가 가능할지도 모르는 건 스마트 컨트랙트와 DAO뿐이라고 봅니다. 나머지 기술은 아직 어떻게 상용화될지 상상이 되지 않습니다.

 

현재 대부분 블록체인이 채택한 작업 증명이란 방식은 채굴을 통해 자신을 노드로서 증명하는 합의 알고리즘입니다. 여기서 참여자들간의 합의로 시스템이 유지된다는건 흥미로운 개념이 맞습니다만 이 합의는 채굴을 전제로 하고 있다는 것을 생각해야만 합니다. 현재 채굴에 사용되는 에너지는 전 세게의 0.5%정도며 숫자만 들으면 적은 것 같지만 이는 전 세계의 데이터 센터가 소모하는 전력과 맞먹는 수치입니다. 또한 사용되는 에너지뿐만 아닌 채굴을 하기 위해 인프라를 갖추는 비용 역시 엄청나게 소모됩니다. 이런 채굴에 사용되는 비용뿐만 아니라 채굴에 소모되는 화석 연료만으로도 지구의 온도가 섭씨 2도를 높일 수 있다는 연구 결과가 있습니다.

 

정말 중요한 질문은 그렇게 채굴에 소요되는 사회적 비용과 환경적 부담을 희생할만큼 블록체인은 정말 생산적인가? 입니다. 현 시점에서 스마트 컨트랙트가 조금 부족지만 그래도 현실 계약의 한계를 보완할만한 개념을 가졌으며 수 년 후엔 상용화 가능성이 있다고 점쳐지는 기술입나다

 

그런데 암호화폐로의 사용을 위해 그 많은 코인들이 채굴되었건만 정작 아직까지도 화폐의 기능을 조금이라도 할 수 있다는 가능성에만 머무르고 있습니다. NFT는 정보에 분명 새로운 개념을 부여하는 것은 맞지만 정보를 NFT화시킨다는 것은 사실 인간이 억지로 가치를 부여한 것이지 전혀 채굴이라는 기회비용이 발생할만큼 쓸모 있지 않습니다. 과연 화폐로써 조금의 가능성과 정보를 소유했다는 증명을 할 수 있다는 사실이 현재 시점에서 도대체 얼마나 생산적인가요? 그것으로 도대체 무엇을 할 수 있습니까?

 

그래서 최근 작업 증명의 채굴이 너무 생산적이지 않다는 비판이 많아 합의 알고리즘을 작업 증명에서 지분 증명 위주로 바꿔야된다는 주장이 있습니다. 또한 하나의 체인만으로는 하나의 거대한 생태계를 이루기에 한계가 존재하여 멀티 체인 시스템 등을 도입해야한다는 의견도 존재합니다.

 

분명 지분 증명 방식을 도입한 블록체인에서는 채굴이라는 의미없는 리소스 낭비를 획기적으로 줄여줄 수는 있지만 자산을 많이 보유한 노드들에 의해 시스템이 유지되는 이 지분 증명이 공평한 네트워크를 보장할 수 있나요? 또 멀티 체인을 도입한다면 대규모 네트워크에도 적용할 수 있겠지만 기존과는 다른 부분이 너무 많아 이 둘이 같은 기술이라고 볼 수 없습니다.

 

제가 말하고 싶은 것은 이러한 너무나 많은 보완점을 가지고 있는 지금의 블록체인 기술이 과연 향후 몇 년 안에 상용화될 정도로 가치가 있냐 라는 것입니다. 현 시점에서 작업 증명이란 방식은 정말로 '탈중앙화'에 걸맞는 합의 알고리즘은 맞습니다. 하지만 작업 증명을 기반으로 한 블록체인들은 한계가 극명하고 이 점들이 극복되어야 제대로된 가치를 발휘할 것입니다. 또한 앞서 말했던 것처럼 작업 증명을 보완하기 위해 지분 증명을 도입하고 하나의 체인은 한계가 존재해 멀티 체인으로 늘리는 등 기술의 근본을 건드리는만큼 큰 변경을 거친 후에도 블록체인이 과연 '탈중앙화'를 유지할 거라며 확신할 수 있습니까? 

 

마지막으로 개발 공부를 하며 CS, 언어, 아키텍쳐 등 많은 것을 공부하며 지금의 개발 환경은 정말 많이 좋아진 것임을 깨닫고 앞으로 어떻게 더 발전하여 개발 생태계가 더 생산적이 될지 기대하곤 했습니다. 과거의 개발자들은 도대체 어떻게 일일이 코딩해왔는지 신기할만큼 말이죠. 그런데 이 블록체인이란 기술은 주워들은 내용만 따지면 그 어떤 개발 관련 지식들보다 새로운 패러다임을 가져다줄 것만 같았지만 오히려 다른 주제를 공부하는 것과 다르게 찜찜함만 남았던것 같습니다. 

 

분명 블록체인은 미래에 부가가치 창출이 가능한 기술이 될만큼 가능성은 존재합니다. 하지만 지금의 블록체인 기술은 아직 보완해야할 점이 너무나 많습니다. 그렇기에 누군가 블록체인의 미래를 어떻게 생각하냐고 묻는다면 전 모르겠다고 말해야할 것 같습니다.

지금의 블록체인은 미래를 확신할 수 없을만큼 미완성이라고 생각하기 때문입니다. 

 

 


refer

http://wiki.hash.kr/index.php/%EB%A9%80%ED%8B%B0%EC%B2%B4%EC%9D%B8

 

멀티체인 - 해시넷

멀티체인(MultiChain)은 런던의 블록체인 기술회사인 코인사이언스(Coin Science Ltd)가 개발한 오픈 소스 블록체인 플랫폼이다. 조직이 신속하게 블록체인 애플리케이션을 구축하고 구축할 수 있도록

wiki.hash.kr

https://www.youtube.com/watch?v=rVHVeW-VAgs 

 

'CS' 카테고리의 다른 글

배경학습_1_블록체인과 정보의 가치  (0) 2022.05.17
4_짧_프로토콜과 인터페이스  (0) 2022.05.06
2_흐름정리_백엔드란?  (0) 2022.02.17
1_흐름정리_API  (0) 2022.02.12