어느 암호학 전문가가 말하는 WEB3의 문제점 (1)

루이쩐·2022년 2월 2일
2

내멋대로번역

목록 보기
1/2
post-thumbnail

[Disclaimer] 제가 이해한 내용을 토대로 의역하고 재구성한 부분이 많습니다. 사담이나 중복된 내용은 스킵했고 자연스럽게 읽히기 위해 덧붙인 말도 많습니다.

[원문] https://moxie.org/2022/01/07/web3-first-impressions.html

web1과 web2에 대한 나의 생각

web3이라는 개념은 어딘가 모호하다. 그래서 web3이 그리는 이상이 무엇인지 정의하기도 어렵다.

일반적인 명제에 의하면 web1(의 이상)은 탈중앙화이며, web2는 모든 것의 플랫폼 중앙화, 그리고 web3는 마침내 모든 것을 다시 탈중앙화하겠다는 것으로 보인다. 즉 web3는 web2의 풍요로움을 우리에게 가져다 주는 동시에 탈중앙화 된다는 것이다.

우선, 애초에 왜 중앙화된 플랫폼들(web2)이 등장하게 되었는지 짚고 넘어가자. 내가 보기에 그 이유는 간단하다:

1. 사람들은 서버를 직접 운영하고 싶어하지 않으며, 앞으로도 영원히 그럴 것이다.

web1의 전제는 이렇다 - 인터넷 상의 모든 사람이 컨텐츠의 발행자이자 소비자이며, 인프라 제공자이자 소비자다.

즉 모두가 나만의 웹 서버에 나의 웹 사이트를 호스트하고, 나만의 이메일을 위한 나만의 메일 서버를 운영하고, 나만의 상태 메세지를 위한 나만의 finger 서버를, 나만의 character 생성을 위한 나만의 chargen 서버를 가지고 있을 것이라는거다.

그러나 내가 보기에 사람들은 절대로 그것을 원하지 않는다. 다시 말하지만 사람들은 자신이 직접 서버 운영하는 것을 꺼려한다. 요즘에는 심지어 너드들도 직접 하지 않으려 하고, 소프트웨어를 전문적으로 만드는 조직들도 원하지 않는다.

그 대신 서버 운영을 대신 해주겠다고 나선 회사들은 큰 성공을 거뒀고, 그 회사들이 제공하는 네트워크들을 기반으로 제품 iteration에 집중해온 회사들은 더 큰 성공을 거뒀다.

(우리가 잘 아는 서버를 대신 운영해주는 회사)

2. 프로토콜은 플랫폼보다 발전속도가 훨씬 더디다.

30년 넘도록 이메일은 여전히 암호화되지 않았지만 WhatsApp은 완전한 종단간 암호화(End to End Encryption)를 1년만에 이루었다. IRC(Internet Relay Chat) 프로토콜 기반으로 안정적인 비디오 공유 표준을 만들기 위해 사람들이 여전히 고군분투 하고 있는 동안 Slack은 유저 얼굴로 커스텀 리액션 이모지 만드는 기능을 개발했다.

펀딩의 문제가 아니다. 문제는, 무언가 진정 탈중앙화되는 순간 바꾸기 굉장히 어려워지고 종종 고착화된다는 것이다.

기술(회사)의 관점에서 이는 큰 문제다. 나머지 생태계는 굉장히 빠르게 움직이고 있어서 그 속도를 따라잡지 않으면 몰락할 것이기 때문이다.

많은 산업들이 Agile과 같은 방법론을 정의하고 개선하는데 집중하고 있는걸 보면 알 수 있다. 거대한 조직들을 체계적으로 관리해서 최대한 빨리 움직일 수 있도록 하는 것이 그만큼 크리티컬하다.

(이런 상황에서 기술회사들이) 성공하기 위해서는 90년대에 멈춰있는 프로토콜을 가져다가 중앙화 시키고 빠르게 개선시켜야했다.

이런 배경 속에서 등장한 web2와 다를 것이라고 web3는 약속한다. 어떻게 다른지 알아보기 위해 직접 dApp을 만들어보기로 했다.

분산형 앱 (distributed apps) 만들기

먼저 Autonomous Art 이라는 dApp을 만들었다. 이 앱에서는 누구든 예술작품에 시각적으로 기여하고 NFT 토큰을 민트(mint)할 수 있다. 시간이 지나면서 참여하는 비용은 커진다. 그리고 기여자가 민팅을 위해 지불하는 비용은 사전에 참여한 모든 아티스트들에게 분배된다. (이러한 재무구조를 시각화하자면 피라미드 모양과 유사하다). 지금 이 글을 쓰는 시점에서 $38,000 USD 넘는 돈이 이 집단 예술작품 창작에 투여되었다.

First Derivative 라는 dApp도 만들어봤다. 이 앱은 기초NFT를 추종하는 NFT 파생상품을 생성, 탐색 및 거래하도록 한다. 기초자산 파생상품과 유사하다.

두 앱을 통해 이쪽 세계가 어떻게 작동하는지 어느정도 감 잡을 수 있었다.

앱 자체는 특별히 "분산된(distributed)" 것이랄게 없었다. 모두 평범한 리액트 웹사이트다. "분산된" 것은 상태와 상태변경에 대한 로직/권한이 있는 곳이다.

그곳이 바로 기존처럼 "중앙화된" 데이터베이스가 아닌 블록체인이다.

암호화폐 세계에 대해 항상 이상하다고 느낀 한 가지가 있다면, 바로 사람들이 (블록체인 서비스의) 클라이언트/서버 인터페이스에 대해선 관심이 없다는 점이었다.

사람들은 블록체인에 대해 이야기할 때 분산화된 신뢰(distributed trust), 리더 없는 합의(leaderless consensus) 및 온갖 블록체인의 기능적 구조에 대해 이야기하지만 클라이언트는 궁극적으로 이 구조에 참여할 수 없는 현실에 대해선 얼버무린다.

우리가 흔히 보는 그 많은 네트워크 다이어그램들은 모두 서버 다이어그램이고, 신뢰 모델(trust model)도 서버 간의 모델이며, 모든 것은 서버에 관한 것이다. 블록체인은 피어들의 네트워크다. 설계상 모바일 기기나 브라우저는 그 피어 중의 하나가 결코 될 수 없다.

세상이 모바일로 옮겨가면서 우리는 현재 클라이언트와 서버의 세상에 살고 있다. 클라이언트는 서버로서 동작할 수 없는 현실에서 (블록체인 클라이언트에 관한) 질문들은 그 어느때보다 더 중요해보인다.

그런 한편 이더리움은 서버를 실제로 "클라이언트"라 지칭하고 있기 때문에 어딘가 존재해야 할 비-신뢰(untrusted) 기반 클라이언트/서버 인터페이스에 대한 단어마저 존재하지 않는다. 이대로 가면 결국 서버보다 클라이언트가 몇십억개는 더 많아질 것이라는 현실도 물론 인지하지 못하고 있다.


이미지 출처: WTF is peer-to-peer?

예를 들어보자. 모바일 기반이든 웹 기반이든 Autonomous Art 혹은 First Derivative 와 같은 dApp은 블록체인과 어떤 방식으로든 상호작용 해야 한다. (집단 창작 예술 작품, 수정 내역, NFT 파생상품 등의) 상태를 변경하거나 렌더링 하기 위해.

그러나 이를 클라이언트에서 하는건 사실상 불가능하다. 블록체인은 모바일 기기상 존재할 수 없기 때문이다 (현실적으로 데스크톱 브라우저도 마찬가지다). 따라서 유일한 대안은 어딘가에 존재하는 서버에 원격으로 돌아가는 노드를 통해 블록체인과 상호작용하는 것이다.

그렇다. 서버.

알다시피 사람들은 서버를 직접 운영하지 않으려 한다. 마침 이더리움 노드들을 운영하면서 그 노드에 대한 API 액세스를 파는 회사들이 나타났다. 기존 이더리움 API를 기반으로 그들이 개발한 향상된 API, 애널리틱스, 그리고 거래내역에 대한 액세스도 덤으로 제공한다.

현시점에서 이런 서비스를 제공하는 회사는 2군데다 - InfuraAlchemy.

거의 모든 dApp이 블록체인과 상호작용하기 위해 Infura나 Alchemy를 이용하고 있다.

MetaMask와 같은 지갑을 dApp과 연동하거나 dApp이 지갑을 통해 블록체인과 교류할때조차 MetaMask는 사실 그냥 Infura에 API 호출하고 있는 것이다.

이 클라이언트 API들은 블록체인 상태를 검증하거나 그 응답의 진위여부를 검증하는 그 어떤 일도 하고 있지 않다. 결과도 서명되지 않는다.

Autonomous Art 같은 앱이 "이 스마트컨트랙트의 뷰 함수 아웃풋이 뭐임"하고 물어보면 Alchemy나 Infura가 "자 여기, 아웃풋."하고 JSON 응답을 보내고 그러면 앱은 그 응답을 렌더링한다.

이 사실이 너무 놀라웠다.

그토록 많은 노력과 에너지와 시간이 신뢰없는 분산화 합의 메커니즘(trustless distributed consensus mechanism)을 만드는데 들여졌음에도 불구하고

블록체인에 접근하고자 하는 사실상 모든 클라이언트는 단 두 회사가 보내는 아웃풋을, 어떠한 추가적인 검증 절차 없이, 그냥 신뢰하고 있다.

게다가 개인정보보호도 잘 이루어지지 않고 있다. 크롬에서 웹사이트와 교류할때마다 요청이 구글에게 먼저 가고 그 다음에 목적지로 라우팅된다고 상상해보자. 오늘날 이더리움의 상황이 이러하다. 모든 쓰기 트래픽은 물론 블록체인에 공개되어 있긴 하지만,

이 회사들은 거의 모든 dApp의 유저들의 읽기 요청을 볼 수 있다.

블록체인 지지자들은 (Infura나 Alchemy와 같은) 중앙화된 플랫폼이 등장해도 괜찮다고 말한다. 상태 자체는 결국 블록체인에 있기 때문에 플랫폼이 잘못 행동하면 클라이언트를 다른 곳으로 옮기면 된다는 것이다. 그러나 이들은 이 플랫폼들이 현재 이 자리까지 올 수 있었던 역학에 대해 너무 단순하게 보고 있다.

예를 들어보자...

(다음 글에 계속)

1개의 댓글