블록체인 기초
Web3 개발의 복잡성에 대해 더 깊이 파고들기 전에, 그것이 무엇이며 왜 존재하는지 살펴보겠습니다. 우선 숫자 3은 무엇을 의미하나요? 일반적으로 World Wide Web 또는 인터넷은 수년에 걸쳐 발전해 왔으며 대략 3개의 "세대"로 나눌 수 있습니다.
- Web 1.0 - 1세대, 대략 1991년부터 2004년까지를 의미합니다. 당시 인터넷은 느리고 비용이 많이 들었으며 정적 웹 페이지가 대부분이었습니다. 대부분의 사람들은 사이트를 만들고 호스팅하는 소수의 콘텐츠 제작자로 구성된 콘텐츠 소비자였습니다. JavaScript는 초기 단계였고 미디어는 거의 볼 수 없었으며(속도와 비용으로 인해), 소셜 미디어는 아직 발명되지 않았습니다. 인터넷은 고도로 분권화되었고 누구에게나 개방되었습니다. 모두가 자신의 서버를 운영하거나 수많은 호스팅 제공업체 중 하나를 사용했습니다. 개방형 프로토콜과 표준은 HTTP, HTML, FTP, SMTP 등 모든 것들에 사용되었습니다.
- Web 2.0 - 2004년경부터 현재까지의 현재 세대. 2000년대 초반에 대대적인 패러다임의 변화가 일어나기 시작했습니다. 인터넷은 더 빠르고 저렴해졌으며 느리지만 꾸준히 일반 사람들의 삶에 퍼졌습니다. 그리고 사람들이 흘러들어오자 기업도 뒤를 따랐습니다. 결제, 쇼핑, 배달과 같은 점점 더 많은 서비스가 웹을 통해 제공되었습니다. 페이지는 미디어를 통해 보다 활발히 상호 작용하고 풍부해졌지만, 가장 중요한 것은 사용자가 콘텐츠를 소비하는 것에서 능동적으로 콘텐츠를 만드는 주체로 전환했다는 것입니다. 소셜 미디어가 붐을 이루고 스마트폰이 발명되었으며, 웹이 폭발적으로 성장하기 시작했습니다. 현재 인터넷은 현대 생활의 거의 모든 측면에 영향을 미치고 있지만 그 유용성에는 어두운 면도 있습니다. 성장함에 따라 점점 더 중앙 집중화되었다는 것입니다. 이러한 중앙 집중화는 많은 이점을 가져왔지만 많은 문제도 동반하였습니다. 디지털 소유권은 그 중 하나입니다. 디지털 자산이 유비쿼터스화되면서 사용자가 실제로 자산을 소유하지 않는다는 것이 명백해졌습니다. 대신 소유권은 중앙 집중식 회사에 남아 있습니다. Google은 언제든지 Gmail의 이메일에 대한 액세스를 차단할 수 있고(예시), 게임 회사는 게임 서버를 종료하고 한 번 구매한 게임을 영원히 파괴할 수 있습니다. 또 다른 주요 문제는 사생활 침해입니다. 사용자가 자신의 개인 데이터로 서비스 비용을 "결제"하는 새로운 비즈니스 모델이 등장했습니다. 소셜 플랫폼은 우리가 보고 싶은 정보를 제공할 수 있도록 개인 정보를 공유하도록 요청합니다. 일단 그들이 우리의 관심을 끌면, 그들은 그것을 살 사람에게 정보를 판매합니다. 이는 금전적 이익을 위해 사회에 해를 끼치는 행위라고 할 수 있습니다.
- Web 3.0 - 다음 세대의 인터넷입니다. 아직 초기 단계에 있으며 어떻게 발전할지 아무도 모르지만 몇 가지 주요 측면은 이미 요약되어 있습니다.
- 탈중앙화 및 개인 정보 보호에 중점을 둡니다. 디지털 소유권을 회사에서 사용자로 전환합니다.
- 무신뢰 / 무허가 환경입니다.
- 토크노믹스와 거버넌스를 통해 커뮤니티에 의해 이끌어집니다.
이 가이드에서는 이러한 Web3 원칙 중 일부를 실제로 설명하고, 디지털 자산이 분산되어 사용자가 소유할 수 있는 애플리케이션을 구축하는 방법을 보여줍니다.
웹 분산화의 블록 빌딩
이미 간단히 논의한 것처럼 현재 웹은 고도로 중앙 집중화되어 있으며 대부분 클라우드(AWS, Azure, GCP 등) 중 하나에서 호스팅되는 중앙 집중식 서버에서 클라이언트-서버 아키텍처를 사용하여 구축됩니다. 한 보고서에 따르면 모바일 트래픽의 90%가 클라우드로 이동합니다. 즉, 인터넷의 상당 부분이 기본적으로 소수의 회사에 의해 제어된다는 의미입니다. 이러한 권력 집중화에는 여러 가지 단점이 있으며, "탈중앙화가 중요한 이유"에 대한 이 기사는 이러한 문제 중 일부를 잘 설명합니다.
최초의 탈중앙화 혁명은 그 유명한(혹은 악명 높은...) BitTorrent 프로토콜의 도래와 함께 파일 공유 섹터에서 일어났습니다. 이는 p2p 프로토콜이기 때문에 진정으로 분산되어 있으며, 중앙 권한 없이 데이터를 분산 저장할 수 있습니다. 이 프로토콜의 이면에 있는 아이디어는 IPFS 및 FileCoin과 같은 최신 분산 파일 저장소에서 사용되어 왔으며, 나중에 이에 대해 자세히 살펴보겠습니다.
다음 혁명은 금융 세계에서 일어났습니다. 오랫동안 돈을 이체하려면 이러한 이체를 모니터링, 승인 및 실행하는 중앙 기관(은행)이 필요했습니다. 이것은 최초의 암호화폐인 비트코인이 등장하면서 바뀌었습니다. 이미 언급한 BitTorrent 프로토콜도 p2p 통신을 사용하지만, 파일 대신 블록체인으로 저장되는 트랜잭션 렛저를 운영합니다. 저장된 렛저가 변경되지 않도록 하는 동시에 이 데이터의 저장을 장려하려면, 블록체인 구조가 필요합니다. BitTorrent와 달리 Bitcoin 네트워크 참가자는 "채굴"이라는 프로세스를 사용하여 서비스에 대한 보상을 받습니다. 이를 통해, 중앙 권한이 필요하지 않은 고유한 속성을 가진 새로운 형태의 디지털 통화(또는 암호 화폐)의 토대를 만들었습니다. 대신에, 사용자가 이를 스스로 유지 및 운영합니다. 그리고 이전의 탈중앙화 시스템인 BitTorrent와 마찬가지로, 유지 및 운영에 있어 중앙화된 권한이 존재하지 않습니다.
Bitcoin의 성공에 따라 다른 암호 화폐가 나타나기 시작했습니다. 가장 중요한 것은 Ethereum으로, 블록체인의 개념을 한 단계 더 발전시켜 트랜잭션 렛저뿐만 아니라 모든 종류의 데이터, 그리고 가장 중요한 코드(데이터의 또 다른 형식)를 저장하도록 조정했습니다. 기본적으로 이를 탈중앙화 데이터베이스 트랜잭션 로그로 사용할 수 있습니다. 그리고 탈중앙화 데이터베이스에 데이터와 코드가 있는 경우, 탈중앙화 애플리케이션을 구축하는 데 부족한 유일한 것은 이 코드를 실행할 수 있는 능력입니다. Ethereum은 이를 스마트 컨트랙트를 통해 갖추었습니다. 이제 블록체인, 스마트 컨트랙트 세계에 대해 더 깊이 알아보고 이를 통해 탈중앙화 애플리케이션을 구축할 수 있는 방법을 살펴보겠습니다.
블록체인 기초
블록체인과 스마트 컨트랙트가 무엇인지에 대한 간략한 개요부터 시작하겠습니다.
기존 Web 2.0 애플리케이션에서 어플리케이션 백엔드를 구축하려면 데이터를 저장할 데이터베이스와 코드를 실행할 서버라는 두 가지가 필요합니다. Web 3.0도 마찬가지지만 데이터베이스 대신 블록체인이 있고, 서버 대신 스마트 컨트랙트가 있습니다.
블록체인 자체는 트랜잭션의 연결된 목록(체인)일 뿐입니다. 성능 최적화를 위해, 개별 트랜잭션 하나하나를 모두 연결하는 대신 블록으로 그룹화해서 연결합니다. 연결할 때는 해시를 사용하게 됩니다. 즉, 각 블록에는 이전 블록의 암호화 해시가 포함됩니다. 이러한 구조는 우리에게 중요한 속성을 부여합니다. 체인 내부의 개별 트랜잭션을 수정하게 되면 블록의 해시가 변경되고, 이후의 모든 트랜잭션이 무효화되기 때문에 트랜잭션은 변경할 수 없습니다. 즉, 모든 사람이 체인 내 트랜잭션(및 전체 체인)의 무결성을 신속하게 확인할 수 있기 때문에, 이 사실은 블록체인을 탈중앙화된 방식으로 데이터를 저장하기에 이상적인 구조로 만듭니다.