🔎 Web 3.0 이란 무엇인가?
-
Web 1.0 = 웹 1.0은 오로지 ‘읽기’만 가능했고 클릭 외에는 어떠한 상호 작용도 없는 정적인 웹페이지였습니다. 즉 다수의 이용자는 소수가 제공하는 제한된 형태의 콘텐츠를 그저 읽을 수만 있었습니다.
-
Web 2.0 = ‘읽기’만 가능했던 이용자들은 이제 직접 컨텐츠를 ‘생산’하고 ‘공유’하며 적극적으로 ‘참여’하기 시작했습니다. 웹 1.0은 단순한 웹페이지들의 집합으로 단방향 커뮤니케이션만 가능했지만 웹이 플랫폼의 형태로 발전한 웹 2.0은 양방향 커뮤니케이션이 가능해졌습니다. (플랫폼 웹 서비스의 등장)
Web2 서비스는 운영서가 서비스를 종료하면, 서비스를 더이상 이용할 수 없으며, 서비스 로직은 운영사의 서버에 종속됩니다.
이미지 출처 : https://luniverse.io/2022/05/16/difference-between-web2-and-web3/?lang=ko
- Web 3.0 = 웹 2.0에서 ‘소유’ 개념이 추가되면 웹 3.0이 됩니다 . 웹 2.0에서 사용자도 정보를 제공・수정할 수 있지만, 정보 소유권은 플랫폼에 있습니다. 반면, 웹 3.0은 분산 슈퍼 컴퓨팅(DSC)으로 인해 데이터를 분산 저장하며 정보 소유권은 해당 사용자에게 있습니다. 따라서 블록체인을 통해 웹 3.0은 데이터를 암호화하고 개인이 데이터를 소유할 수 있어 중앙의 통제로부터 자유롭습니다.
Web3 서비스는 웹 UI 서버를 운영하는 방식으로 누구나 서비스를 제공할 수 있으며, 서비스 로직이 누구나 접근가능한Smart Contract
에 존재, 서비스 운영사가 UI 서버를 종료해도 스마트 컨트랙트가 남아있는 한 서비스 지속 가능
이미지 출처 : https://luniverse.io/2022/05/16/difference-between-web2-and-web3/?lang=ko
🔎 Smart Contract 란?
어떤 조건이 맞으면 자동으로 특정한 이벤트가 취해지는 프로그램
스마트 컨트랙트는 1994년 Nick Szabo 에 의해 처음 사용하게 된 개념이지만 당시 실제로 구현하지 못하였고
2013년 이더리움 창시자 Vitalik Buterin이 이더리움 블록체인에 해당 개념을 도입하여 구현하면서 대금결제, 송금 등 금융거래뿐 아니라 모든 종류의 계약을 처리 할 수 있도록 기능을 확장하며 본격적으로 사용되기 시작하였습니다.
블록체인에서의 스마트 컨트랙트
서면으로 이루어지던 계약을 코드로 구현하고 특정 조건이 충족되었을 때 해당 계약이 이행되도록 하는 script에 가깝습니다.
스마트컨트랙트의 목적은 신뢰할 수 없는 컴퓨터 네트워크 환경에서 계약 조건만 모두 충족된다면 자동으로 계약 내용이 실행되는 것으로 상대를 신뢰하지 않아도 거래에는 문제가 발생하지 않고, 투명한 거래가 가능합니다. 또한, 중개인 없이도 계약을 이행할 수 있다는 것이 스마트 컨트랙트의 특징입니다.
단, Contract 호출 시에 즉시 자산의 이동이 일어나며, 반영 시 되돌릴 수 없기 때문에, 보안 취약점 존재 시 , 직접적인 자산의 손실이 발생하며 이미 배포된 스마트 컨트랙트는 수정이 불가능하여 업그레이드나 버그 패치 등에 어려움이 존재합니다.
한번 Deploy가 이루어지면 수정이 이루어지지 않는 프로토콜 : Uniswap, Curve
대부분의 Defi 프로젝트나 Web3 프로젝트는 프록시 컨트렉트
구조하에 코드 업데이트나 토큰 등 수정이 가능합니다.
그러나 3~4byte만의 잘못된 코드 수정으로도 엄청난 사이드 이펙트의 취약점을 가져올 수 있습니다.
대표적인 스마트 컨트랙트 언어 : Solidity
Soldity
는 Ethereum에서 Smart Contract를 개발할 때에 가장 널리 사용되는 프로그래밍 언어입니다.
EVM (Ethereum Virtual Machine)이라는 실행환경이 호환되는 모든 블록체인 스마트 컨트랙트 개발에 사용 가능하며 다양한 개발 도구들(Hardhat,Truffle,Foundry 등)에서 지원합니다.
이미지 출처 : https://medium.com/haechi-audit-kr/smart-contract-a-to-z-79ebc04d6c86
📃 References
- Bug Hunting Smart Contract For Fun&Profit - 수호아이오 세미나
- 인스타그램과 블록체인의 차이, Web 3.0에 대한 모든 것
- 스마트컨트랙트(Smart Contract), 글 한 편으로 제대로 이해하기