Home (web3) 1. web3와 blockchain
Post
Cancel

(web3) 1. web3와 blockchain

web 1.0, 2.0, 3.0의 차이는 무엇인지 정리를 해보자.

웹은 점점 발전한 형태로 특히 사용자와 콘텐츠의 상호작용 방식에서 차이가 이뤄졌다.
web 1.0이 읽기 전용 웹이고, web 2.0이 읽기와 쓰기가 가능한 웹이라고 하면, web 3.0은 탈중앙화, 소유권이 키워드인 것 같다.

Web 1.0

처음 나온 웹의 형태로 정적인 웹사이트이다.
일부의 사용자가 대부분의 사용자를 위해 콘텐츠를 제작했다.
그렇기에 백과사전처럼 사용자들이 정보에 접근하는 것에 중점을 두었고 HTML로 작성된 정적인 정보를 제공한다.

이러면 사용자의 참여가 부족할 수 밖에 없고 명확한 제작자와 소비자의 구분이 이뤄졌다.

Web 2.0

이런 사용자의 참여적인 부분에서 개선이 이뤄진 것이 Web 2.0이다.
콘텐츠를 제작하는 사람이 증가했고 웹은 양방향으로 상호 작용이 가능한 플랫폼의 형태로 발전한다.
그리고 플랫폼은 사용자 생성 콘텐츠와 사용 편의성, 다른 시스템과 호환성에 중점을 둔다.

이 중앙화된 플랫폼이 사용자의 인증, 데이터, 권한을 통제하는 구조이다.
youtube, 인스타, 클라우드 서비스 등 플랫폼 기업이 사용자 데이터를 중앙 서버에 저장하고 관리하는 것이다.

1
2
3
4
5
사용자 → 콘텐츠 생성
    ↓
플랫폼 → 데이터 소유 및 수익화
    ↓
사용자 → 제한된 통제권

이와 같은 구조를 가지기에 콘텐츠 제작자가 만든 콘텐츠는 온전하게 자신의 것이 되지 못한다.
콘텐츠의 데이터가 플랫폼의 서버 안에 존재하고, 서버 종료나 오류가 발생하면 그 콘텐츠가 사라지기 때문이다.

제작자가 만든 콘텐츠의 소유권이 기업들에게 쌓이며 거대한 데이터가 되었고 이런 중앙집중화 구조는 힘을 가지게 된다.
서비스에서 발생한 데이터를 플랫폼이 이용하고 이를 활용한 이익도 기업이 독점하기 때문이다.
이런 것을 문제점으로 인지하고 제작한 데이터의 소유권을 사용자에게 돌려주는 구조가 Web3이다.

Web 3.0

Web3는 블록체인 기술을 기반으로 한 탈중앙화를 지향한다.

탈중앙화의 의미

탈중앙화는 특정 기업이나 플랫폼이 사용자들이 제작한 데이터를 독점하는 것이 아닌 웹을 이용하는 과정에서
생성된 데이터와 따라오는 재정적인 보상을 개인에게 온전히 주어서 데이터에 대한 통제권을 사용자가 가지도록 한다.
사용자는 자신의 데이터와 디지털 자산을 누구의 허락도 없이 완벽하게 통제하는 것이 가능해진다.

Web3의 핵심 특성

투명성과 불변성

모든 소스 코드와 거래 기록이 블록체인에 영구적으로 남는다.
누구나 이 기록을 확인할 수 있으며, 함부로 수정할 수 없다.

자기 주권적 관리

사용자는 자신의 디지털 자산을 지갑에 직접 소유한다.
은행 같은 중개자 없이 가치를 주고받을 수 있다.

그렇다면 이런 것이 어떻게 가능한 걸까?

블록체인

블록체인의 키워드는 탈중앙화, 불변성과 투명성, 합의 메커니즘이다.

탈중앙화
블록체인은 중앙 서버없이 노드(네트워트 참여자)들이 P2P 방식으로 이어져서 각 노드에 데이터를 분산 저장한다.
데이터는 불특정한 여러 노드에 의해 관리되기 때문에 중앙으로 집중되지 않는다.

불변성과 투명성
네트워크의 합의 없이 체인을 삭제하거나 수정할 수 없어서 이 데이터는 시간 순서대로 일관성이 지켜진다.
체인 위에서 일어나는 모든 거래가 기록되며 누구나 블록체인 탐색기를 통해 이 거래를 확인할 수 있다.

합의
블록체인 시스템은 거래 기록을 위한 참여자 동의에 관한 규칙을 설정한다.
네트워크 참여자의 과반수가 동의한 경우에만 새로운 거래를 기록할 수 있다.

  • PoW (Proof of Work): 작업 증명
  • PoS (Proof of Stake): 지분 증명
  • DPoS (Delegated Proof of Stake): 위임 지분 증명

와 같은 것이 있다.

Web2와 Web3의 차이

두 모델의 가장 근본적인 차이점은 ‘신뢰의 형성 방식’에 있다.

Web2 - 기업을 신뢰하는 모델

Web2는 구글, 페이스북과 같은 기업들을 신뢰하는 모델이다.
사용자는 이 기업들이 데이터를 안전하게 보관하고, 서비스를 계속 제공하고, 공정한 규칙을 유지할 것이라 믿는다.

은행을 예시로 들면 우리는 은행의 DB를 신뢰하기에 알려주는 잔고를 그대로 믿을 수 있다.

Web3 - 코드를 신뢰하는 모델

하지만 Web3는 코드와 수학적인 근거를 신뢰로 하는 모델이다.
중앙 기관이 아닌 암호학적 증명과 경제적인 인센티브 구조에 기반한 프로토콜에 의해 형성된다.

암호화폐 잔고를 확인할 때는 수학적 증명과 블록체인 네트워크의 합의 메커니즘을 신뢰히고
특정 기관이 아닌 분산된 노드들이 기록을 검증한다.

아키텍쳐

Web2 아키텍쳐

우선 Web2의 애플리케이션 구조를 보자.

1
2
3
4
5
6
7
사용자
  ↓
프런트엔드
  ↓
백엔드 (중앙 서버)
  ↓
데이터베이스 (중앙 저장)

전체 코드는 중앙 집중식 서버에 호스팅되며 인터넷 브라우저를 통해 사용자에게 전송된다.

Web3 아키텍쳐

Web3는 중앙 DB 및 서버를 가지고 있지 않다.

1
2
3
4
5
6
7
사용자
  ↓
프론트엔드 (DApp)
  ↓
스마트 컨트랙트 (블록체인에 배포)
  ↓
블록체인 (분산 저장)

익명의 웹 노드들이 유지 관리하는 분산형 상태 머신인 블록체인을 기반으로 애플리케이션을 구축한다.

각 요소를 좀 더 살펴보면

블록체인
P2P 노드 네트워크에 의해 유지 관리되는 전 세계적으로 접근 가능한 상태 머신이다.
전 세계 누구든지 상태 머신에 접근하여 데이터를 기록할 수 있고 네트워크의 모든 구성원이 공동으로 소유한다.
기록은 할 수 있지만 기존 데이터를 수정할 수는 없다.

스마트 컨트랙트
블록체인에서 실행되는 프로그램으로 개발자가 Solidity같은 언어로 작성해서 상태 변화의 논리를 정의한다.

contract SimpleStorage {
    uint storedData;
    
    function set(uint x) public {
        storedData = x;
    }
    
    function get() public view returns (uint) {
        return storedData;
    }
}

숫자 하나를 블록체인에 저장하고 꺼내는 간단한 예제이다.

이더리움 가상 머신 (EVM)
스마트 계약에 정의된 로직을 실행하고 발생하는 상태 변화를 처리한다.

프론트엔드
애플리케이션 로직을 정의하는 스마트 계약과 연결된다.

Web3의 장점

그렇다면 Web3의 장점은 무엇일까?

1. 데이터 개인정보 보호 및 관리

최종 사용자는 데이터 암호화를 통해 정보 유출로부터 자신의 정보를 보호할 수 있다.
암호학적으로 자신의 데이터가 지켜지기에 중앙 기업이 통제하지 못하고 자신의 정보에 대한 완전한 소유권을 가진다.

2. 끊김 없는 서비스

분산형 데이터 저장소는 사용자가 어떤 상황에서도 데이터에 접근할 수 있도록 보장한다.
어떤 개인이나 정부 기관도 서비스나 웹사이트를 중단시킬 수 없다.

3. 투명성

사용자가 어떤 블록체인 플랫폼을 사용해도 데이터를 추적하고 플랫폼의 코드를 검사할 수 있다.
이는 개방형 설계 및 개발 프로세스를 가능하게 하는 오픈 소스 블록체인 플랫폼을 제공한다는 의미가 된다.

또한 데이터도 어떤 기기에서 접근이 가능하고 수수료를 가져가는 중개자도 없다.

Web3의 단점

가장 큰 문제는 복잡한 기능 때문에 사용자가 시작도 어렵고, 잘 쓰기도 어렵다는 것이라 생각한다.
Web3는 새로운 사용자에게는 이해하기 어려운 기술이며 사용자 간의 상호 연결성이 특징이다.
기술적으로 뛰어난 사용자는 이점을 누릴 수 있지만 아닌 사용자는 불편할 것이다.

가스비 지불과 같은 과정에 불편함이 있고 신원을 사용자가 직접 소유하기에
개인키 관리나 개인정보 관리를 더 신경쓰고 책임을 져야 한다.
더 큰 힘이 생기는만큼 더 큰 책임을 가지게 되는 것 같다.
계정 추상화 등 사용자 경험 개선을 위해 기술들이 고민되고 있고, 앞으로 나아갈 부분이라 생각한다.

정말 Web3는 좋을까?

이렇게 자료를 찾아보다보니 과연 Web3가 미래에 이뤄져야하는 기술인가 생각이 들었다.
기본적인 진입 장벽이 너무 높고 응용하기에도 막상 하려면 좋아보이지 않는다.

하지만 탈중앙화라는 아이디어는 굉장히 좋기도 하고 재밌는 기술이라고 생각하기에 공부해보고 싶다.

Web1에서 Web2로 넘어가는 과정은 완전한 상위호환이기에 빠르고 당연하게 이루어졌지만
Web2와 Web3는 서로 문제점을 가지고 있고 보완을 할 수 있는 관계이기에
완전히 대체되기보다는 합쳐지지 않을까 생각이 든다.

앞으로 Web3의 최신 소식들에 관심을 가지고 어떻게 웹의 흐름이 변화할지 잘 따라가봐야겠다.

참고 자료 : https://aws.amazon.com/ko/what-is/blockchain/
https://www.coinex.com/ko/academy/detail/243-web-1-vs-web-2-vs-web-3?pId=31&sId=60
https://www.wepin.io/ko/blog/web2-vs-web3-architecture
https://www.singlegrain.com/web3/web-3-0/

This post is written by PRO.