[블록체인]

남이섬·2024년 6월 25일
0

블록체인이란 ?

블록체인이란, '분산형 데이터 저장기술'이다
말 그대로 데이터를 담은 블록(Block)을 체인(Chain) 형태로 연결했다고 하여 블록체인이라고 부른다

블록체인은 누구나 열람할 수 있는 네트워크에 데이터를 투명하게 기록하고, 여러 대의 컴퓨터에 이를 복제, 분산하여 저장한다

정보를 분산해 저장하는 형태로 관리되기 때문에 특정 주체가 통제권을 갖지 못하며, 블록체인에 기록된 정보는 변경될 수 없고 영구히 기록되기 때문에 데이터 위조가 불가하다

신뢰성이 담보되는 기술로 미래 비전이 유망하다고 볼 수 있다

블록체인에 저장하는 정보는 다양하기 때문에 블록체인을 활용할 수 있는 분야도 매우 광범위하다
대표적으로 가상화폐 거래 시 위조를 막는 데 활용될 뿐 아니라 의약품 관리 및 추적, 식품 원산지 추적, 보험금 청구, 포인트 통합 시스템, 건강 여권 등 신뢰성이 요구되는 다양한 분야에서 활용되고 있다

그렇다 보니 세계적인 경제, IT 분야의 전문가들은 블록체인 관련 시장의 성장 가능성을 높게 평가하고 있는데, 가트너는 블록체인 비즈니스 가치가 2025년 1,760억 달러를 넘을 것이며, 2030년에는 3조 1천억 달러를 넘을 것이라고 예측하기도 했다 (출처 : 코딩월드뉴스 / "블록체인 개발자"가 되기 위해서 필수적인 5가지 기술)

블록체인 개발자의 주요 직무 역량

웹개발 기초 개념

블록체인 개발자가 직무를 수행하기 위해선 웹 개발의 기본 개념을 학습하는 것부터 선행되어야 한다
개발 프로세스 및 아키텍처, git&github, 웹2.0&웹3.0 등 개발의 기본 개념부터 탄탄히 쌓아야 하며, 블록체인을 이용한 서비스 백엔드 설계 및 JaveScript, HTML, 솔리디티 등 코딩 지식을 갖추고 있어야 한다
이러한 지식을 바탕으로 메타마스크의 구조web3메타마스크 연동을 통해 DApp 개발 단계로 진입할 수 있어야 한다

web3
웹3(Web3)란 탈중앙화 오픈소스 월드와이드웹(WWW, World Wide Web)이다

블록체인에 대한 전반적인 이해

또, 블록체인 개발자는 블록체인에 대한 전반적인 이해가 필요하다
블록체인이 기존 기술 생태계 내에서 어떻게 상호 작용하며, 그 생태계가 어떻게 블록체인 솔루션 설계에 영향을 미치는지 알아야 한다
블록체인 개발자는 블록체인 원장을 철저하게 이해해야 하며, 스마트 계약 관련 업무도 알아야 한다
제조, 의료, 보험, 법률 등 여러 산업에서 구현될 수 있는 기술을 보유해야 하며, 각 산업에서 생성된 데이터를 이해하고, 이를 업무적인 맥락에서 사용할 줄 알아야 한다
또, 합의 알고리즘, 피어 투 피어(peer to peer) 네트워크블록체인 마이닝과 중요한 영역에 대해 잘 파악하고 있어야 한다

필수 프로그래밍 언어 습득

블록체인 개발에서 필수적으로 알아야 하는 언어는 '파이썬(Python)'이다
파이썬은 다양한 라이브러리를 활용할 수 있어 수백만 명의 개발자들 사이에서 상당히 잘 확립된 언어이기 때문에 프론트엔드와 벡엔드에서 모두 사용이 가능한데, 짧은 구문과 간결한 문법, 오픈소스 지원을 통해 초보 개발자도 블록체인 개발 작업을 하는데 큰 도움을 주는 언어이기도 하다
블록체인 개발자는 파이썬과 함께 루비, C+, 자바를 배워 복잡한 문제를 해결할 수 있는 기반을 닦아놓는 것이 좋다

또 한 가지 블록체인 개발을 위한 필수 언어 ‘Solidity'도 있다
Solidity는 C++, Python, JavaScript 등의 프로그래밍 언어를 기반으로 하는 높은 수준의 언어로, 이더리움의 주 언어다
다양한 블록체인 플랫폼의 스마트 계약 작성 및 구현에 사용된다는 점에서 이더리움 개발자 사이에서 인기가 높은 언어이기도 하다

with Rust

블록체인 개발자 역량의 핵심 - DApp 개발과 클론코딩

DApp 개발

그렇다면 블록체인 개발자 역량의 핵심은 무엇일까, 바로 DApp 개발이다
블록체인 개발자라면 반드시 알아야할 단어가 DApp이라는 용어일 것이다

간단히 말해서 기존 블록체인에서 동작하는 응용 프로그램, 프로그램 및 툴을 모두 통칭하는 단어이다
기존 구글플레이 또는 앱스토어에서 쉽게 다운로드 받을 수 있는 일반적인 어플리케이션과는 다르게 분산 시스템인 블록체인 내에서 사용하기 위해 제작된 차별화된 어플리케이션이다

이론상 DApp은 특정하게 중앙화된 관리자가 존재하지 않아도 되며, 운영을 하기 위한 서버 또는 관리할 인원이 필요하지 않아 유지비용이 낮고 사용자가 서비스를 유지하는 주체로써 운영되기에 비용과 인건비가 발새오디지 않는 혁신적인 시스템으로 주목 받고 있다
그렇기 때문에 블록체인 개발자가 되기 위해선 DApp 개발은 필수적으로 할 줄 알아야한다.

대표적인 DApp

1) PancakeSwap

PancakeSwap은 자동 마켓 메이커이며, 기본적으로 암호화 시장에 유동성을 제공하도록 설계된 플랫폼이다
BSC에서 실행되는 BEP-20토큰인 네이티브 토큰 CAKE로 구동되고 있는데, TVL(총 예치금) $3.02B로 BSC 1위를 차지하고 있다

BSC 란 ?
바이낸스 스마트 체인
바이낸스 체인과 병렬로 실행되는 블록체인
바이낸스 거래소에서 만든 코인
바이낸스 생태계를 이루고 있다

BEP-20토큰 이란 ?
BEP-2는 바이낸스 체인의 토큰 표준
BEP-20은 바이낸스 스마트 체인 토큰 표준
바이낸스 네트워크 이다

바이낸스 체인 vs 바이낸스 스마트 체인
바이낸스 체인과 바이낸스 스마트 체인은 서로 다른 블록체인이다
바이낸스 체인 : 빠른 거래에 최적화된 블록체인으로 바이낸스 스마트 체인과 병렬로 실행된다
바이낸스 스마트 체인 : 스마트라는 이름이 추가된 것 처럼 스마트 컨트랙트를 사용할 수 있는 디앱 (DApp) 개발 및 배포를 위한 블록체인 플랫폼이다

바이낸스 스마트 체인은 본래 이더리움 용으로 코딩된 디앱과도 호환이 된다
(지갑도 기존 이더리움 지갑주소를 그대로 사용할 수 있다)

2) CryptoKitties

CryptoKitties은 세계 최초의 이더리움 기반 블록체인 게임이다
가상의 펫을 육성하는 게임으로, 고양이 캐릭터를 수집하고 교배시키며 암호화폐를 사용하여 사고팔 수 있다
고양이의 생김새는 ERC-721 표준 기술을 사용하여 랜덤으로 결정되도록 설계되었고, 게임 유저들은 전 세계에 단 하나밖에 없는 고양이를 소유할 수 있다

3) Opensea

Opensea은 NFT의 구매자와 판매자를 위한 NFT 시장으로, 스마트컨트랙트를 활용하여 독특한 NFT를 사고팔 수 있도록 설계된 P2P 마켓 플레이스
2020년 3월 4,000명에 불과했던 월 이용자 수는 지난해 8월 450배 성장한 180만 명으로 급증하였으며 거래량, 유저 수 모두 1위를 차지한 가장 대표적인 NFT 마켓이다

스마트컨트랙트 란 ?
스마트 컨트랙트(smart contract)는 블록체인이 1세대에서 2세대로 넘어갈 수 있게 되는 가장 중요한 계기 중 하나로 블록체인 기술을 활용해 제3의 인증기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술이다
더욱 자세히는 계약상의 급부와 반대급부를 프로토콜화하여 소프트웨어 및 하드웨어에 미리 저장하고, 해당 계약을 이행하는 과정에서 조건 충족 여부에 대한 판단을 인간이 아닌 컴퓨터 등의 기계가 대신 실행함으로써 제3의 인증기관이 필요 없도록 하는 개념을 의미한다

4) UniSwap

UniSwap은 이더리움과 ERC-20 토큰 간의 자동 교환 거래를 용이하게 하도록 설계된 탈중앙화 거래소(DEX)다
탈중앙화 프로토콜을 활용하여 암호화폐 자산 거래 과정을 철저히 탈중개화 시킨 디파이(DeFi) 프로젝트다
UniSwap은 v2 TVL $5.79b의 이더리움 3위를 차지하고 있다

ERC-20 토큰
먼저, ERC'Ethereum Request for Comment'로, 이더리움 네트워크에서 토큰을 만들 때 따라야하는 프로토콜을 의미한다
그리고 많은 프로토콜 중에서 20번째 프로토콜이 ERC-20이다
그리고 ERC-20 프로토콜에 맞추어 생산된 암호화폐가 ERC-20 토큰인 것이다

이더리움 네트워크에서 생성된 대부분의 토큰들은 ERC-20을 기반으로 생성되었다
이러한 암호화폐들은 native Ethereum curreny(ETH)랑 교환이 가능하며 ERC-20 기반의 다른 화폐들과도 교환이 가능하다
게다가 토큰들은 My Ether Wallet(MEW)와 같이 ERC-20 토큰을 지원하는 Wallet들을 사용하여 자유롭게 보내질 수 있다

ERC-20의 토큰의 핵심적인 특성은 동등한 가치로 구매, 판매, 교환한다는 것이다
ERC-20 토큰의 가장 중요한 특성은 누가 토큰을 가지고 있는지 상관없이 동일한 가치를 지닌다는 것이다
따라서 이것은 우리가 일상 생활에서 사용하는 화폐와 같다
예를 들어 10000원짜리 공책은 누가 소지해도 동일하게 10000원이므로 이더리움의 관점에서 ERC-20 토큰이라고 볼 수 있다

ERC-721 이란 ?
그렇다면 위에서 설명한 ERC-20와 Non-Fungible Token(NFT)인 ERC-721의 차이점은 무엇일까?
ERC-20은 대체가능하지만 ERC-721은 대체불가능하다는 것이다 즉, ERC-721은 이더리움 네트워크에서 대체 불가능하다는 NFT의 개념이 도입된 토큰이다

예를 들어 만약 우리가 무당벌레를 그리고, 이 그림을 '무당벌레 그림'이라고 하자, 여기서 그린다는 것은 '무당벌레 그림'과 같은 하나의 작품을 만드는 것이 되는 것이다
이렇게 하나의 작품을 만드는 과정이 ERC-721 토큰을 만드는 과정에 해당하는 것이고,
'무당벌레 그림'은 다른 무당벌레를 그린 그림들과 대체가 불가능하며 가치가 다르므로 ERC-721 기반의 NFT에 해댕하는 것이다

5) Compound

Compound 은 암호화폐 대출 및 차용의 선도적인 프로토콜 중 하나다
다양한 암호화폐들을 예치하고, 이를 담보로 하여 다른 암호화폐를 차입할 수 있다
즉 담보 대출 서비스를 제공하는 DeFi 프로토콜이다
Compound은 TVL $2.89b의 이더리움 7위 랜딩 프로토콜이다

프로토콜이란 ?
블록체인 프로토콜은 개별 애플리케이션 개발에 사용할 수 있는 다양한 유형의 블록체인 플랫폼을 의미한다

DeFi 프로토콜
DeFi 프로토콜은 블록체인에서 디지털 자산의 교환 및 네트워크에 대한 일련의 규칙이다
DeFi 프로토콜은 스마트 계약과 VM을 활용하여 사용자 간의 대출 및 대출을 제어하고 탈중앙화된 자율 그룹(DAO)을 관리한다

클론코딩을 통한 개발 실력 키우기

실력 있는 블록체인 개발자로 거듭나기 위해선 현재 실제로 서비스되는 DApp을 직접 구현해보며, 배우는 것이 가장 빠를 거다

profile
즐겁게 살자

0개의 댓글