# Web3 ## [My first impressions of web3](https://moxie.org/2022/01/07/web3-first-impressions.html) web3는 모호한 단어다. web1은 탈중앙화였고, web2는 플랫폼으로 모든게 중앙집중화됐다. web3는 모든 것을 다시 탈중앙화할 것이다. web3는 web2의 풍부함을 제공하지만 탈중앙화하는 것이다. 왜 중앙집중화된 플랫폼이 나왔는지 살펴보자: * 사람들은 그들의 서버를 운영하고 싶어하지 않으며, 앞으로도 그럴 것이다. web1은 인터넷의 모두가 공급자이자 소비자이며, 동시에 인프라의 공급자이자 소비자라는 것을 전제한다. 우리는 모두 자신의 웹 서버와 웹 사이트를 가진다. 메일을 위해 메일 서버를, 상태 메시지를 위해 핑거 서버를 스스로 운영한다. 하지만, 사람들은 (심지어 너드들도) 자신의 서버를 운영하고 싶지 않는다. 대신 서버를 운영해주거나 그 기반으로 새로운 기능을 제공한 회사들이 더 성공했다. * 프로토콜은 플랫폼보다 훨씬 느리게 움직인다 30년 이상 지났음에도 이메일은 여전히 암호화되지 않았다. 한편, 왓츠앱은 1년만에 e2ee를 지원했다. 사람들은 여전히 IRC를 통한 영상 공유를 표준화하려 하고 있다. 한편, 슬랙은 사용자의 얼굴을 기반으로 커스텀 이모지를 만들 수 있도록 했다. 돈 문제가 아니다. 만약 뭔가가 정말 탈중항화 된다면 그것은 정말 바꾸기 어려워지며, 종종 시간에 갇힌 채로 남게 된다. 이것은 기술의 문제다. 생태계의 나머지 부분은 아주 빠르게 움직이고 있어서 이를 따라잡지 못하면 실패하기 때문이다. 기술 자체가 움직임보다 안정성에 더 도움될 때 그것은 문제가 된다. 성공을 위한 확실한 방법은 멈춰있는 90년대의 프로토콜을 중앙집중화하고 빠르게 반복하는 것이다. 누구나 NFT를 위한 토큰을 발행해 시각적으로 기여할 수 있는 dApp 'Autonomouse Art'을 만들었다. 시각적 기여 비용은 시간이 지나며 증가하고, 이 돈은 이전의 모든 아티스트에게 분배된다. 그리고 기초 자산을 추적하는 금융 파생상품처럼 NFT를 추적하는 파생상품을 만들고, 탐색/교환 가능한 dApp 'First Derivative'도 만들었다. 확실한 건 앱 스스로가 '분산'된 것은 아니다. 그냥 보통 리액트 웹사이트다. 분산성(distributedness)은 상태와 상태 업데이트를 위한 로직/권한이 중앙화된 DB가 아닌 블록체인에 있다는 것이다. 암호화폐 세계에서 항상 이상하다고 느낀 것은 클라이언트/서버 인터페이스에 대한 관심이 부족하다는 점이다. 사람들이 블록체인에 대해 말할 때는 분산된 신뢰, 리더없는 합의, 그것이 어떻게 작동하는지에 대해 언급하지만, 클라이언트들이 궁극적으로는 이런 매카니즘에 참여할 수 없다는 것을 간과한다. 모든 네트워크 다이어그램은 서버에 대한 것이고, 신뢰 모델도 서버에 대한 것이다. 모든 것이 서버에 관한 것이다. 블록체인은 피어들로 구성된 네트워크로써 설계되었지만, 당신의 모바일 기기나 브라우저가 그 피어가 되는 것이 가능하게 설계되지는 않았다. 모바일로의 전환과 함께 우리는 이제 확실히 클라이언트와 서버의 세계에 살고 있다. 서버는 클라이언트의 역할을 완전히 할 수 없다. 이더리움은 서버를 클라이언트로 지칭한다. 따라서 어딘가에 존재할 신뢰되지 않은 클라이언트/서버 인터페이스를 지칭할 단어가 없고, 성공할 경우 궁극적으로 서버보다 클라이언트가 수십억개 많을 것이라는 인식도 없다. 예를 들어서, 모바일이든 웹이든 'Autonomous Art'나 'First Derivative' 같은 dApp은 상태를 수정하거나 렌더링하기 위해 블록체인과 상호작용해야 한다. 그러나 블록체인은 모바일 기기(또는 데스크톱 브라우저)에 존재할 수 없기 때문에 클라이언트에서는 불가능하다. 따라서 유일한 대안은 어딘가의 서버에서 원격으로 실행되는 노드를 통해 블록체인과 상호작용하는 것이다. 그러나, 알다시피 사람들은 자신의 서버를 운영하고 싶어하지 않는다. 그래서 서비스로 운영하는 이더리움 노드에 접근하기 위한 API를 파는 회사들이 등장했다. 이 방식은 뭔가 친숙하다. 이 지점에서, 기본적으로 두 개의 회사가 있다. 대부분의 모든 dApp들은 블록체인과 상호작용하기 위해 Infura 또는 Alchemy를 사용한다. 사실 MetaMask같은 지갑을 dApp에 연결하고, dApp이 지갑을 통해 상호작용하더라도 MetaMask는 Infura를 호출하는 것 뿐이다. 이들의 클라이언트 API는 실제로 블록체인의 상태나 응답의 신뢰성을 검증하기 위해 아무것도 사용하지 않는다. 결과는 서명도 되지 않는다. 만약 Autonomous Art가 "이 스마트 컨트랙트에 있는 뷰 함수의 출력이 뭐야?"라고 말한다면 Alchemy나 Infura는 "이건 출력이야"라는 JSON 응답을 주고, 앱은 그것을 렌더링한다. 무신뢰 분산 합의 메커니즘을 만들기 위해 많은 작업과 에너지, 시간이 들었지만, 이에 접근하는 모든 클라이언트는 추가 검증없이 이 두 회사의 출력을 신뢰함으로써 접근이 가능해진다. 크롬을 사용할 때 매번 웹사이트와 상호작용할 때마다 요청이 우선 구글로 향한다고 상상해보자. 이것이 오늘날 이더리움의 상황이다. 모든 트래픽이 분명히 블록체인에 이미 공개되어 있지만, 이 회사들도 모든 유저의 모든 dApp의 모든 요청을 볼 수 있다.