본문으로 건너뛰기
0%

블록체인 개발자가 되려면: 알아야 할 것들

Alchemy team headshot

작성자 Alchemy

2022년 5월 7일에 게시됨8분 읽기

90년대 후반, 인터넷이 막 대중화되기 시작하던 시절로 돌아갔다고 상상해보세요. 그리고 그 흐름에 일찍 올라탈 기회가 주어졌습니다.

예를 들어 Yahoo의 초기 직원 12명 중 한 명으로 합류할 기회가 있다면, 받아들이시겠습니까? 지금 알고 있는 것을 감안하면, 아마 받아들일 가능성이 높을 것입니다.

시간을 되돌릴 수는 없지만, 다행히 기술 혁신의 최전선에 있는 사람들에게는 여전히 놀라운 기회들이 존재합니다. 그리고 사실, 우리는 지금 역사상 비슷한 순간에 서 있습니다.

암호화폐, 그리고 DeFi(탈중앙화 금융), NFT(대체 불가능 토큰), DAO(탈중앙화 자율 조직) 같은 블록체인 기반 기술은 2022년 우리가 비즈니스를 하고 상호작용하는 방식에서 여전히 큰 역할을 하고 있습니다.

수십억, 수천억 달러의 투자 자금이 크립토 분야로 계속 유입되고 있으며, 그 흐름이 둔화될 기미는 보이지 않습니다.

아래는 Web3의 미래를 만들어가고 있는 여러 신흥 기업들 중 일부입니다.

Layer
Category
Projects/Services

Decentralized Applications

DeFi

UNISWAP, AAVE, SUSHISWAP

Decentralized Applications

Identity & Auth.

ENS, METAMASK, ARGENT

Decentralized Applications

NFTs

OPENSEA, NIFTY GATEWAY, RARIBLE

Decentralized Applications

Data

HANSEN, CHAINLINK, THE GRAPH

Presentation Layer

Web3 Native Libraries

ETHER.JS, WEB3.JS, ALCHEMY WEB3

Presentation Layer

Developer Environments

HARDHAT, TRUFFLE, BROWNIE

Presentation Layer

File Storage

IPFS, FILBASE, ARWEAVE

Blockchain Interaction Layer

Data Access

SUPERNODE, BUILD, MONITOR, NOTIFY, APIS, NFT API

Blockchain Interaction Layer

Self-Hosted Nodes

Self-Hosted Nodes

Blockchain Interaction Layer

Block Explorers

SNOWTRACE, ETHERSCAN, POLYGONSCAN

Network Layer

EVM Blockchains

ETHEREUM, POLYGON, ARBITRUM, AVALANCHE, STARNET, CRONOS, OPTIMISM, ZK SYNC

Network Layer

Non-EVM Blockchains

NEAR, FLOW, SOLANA, TERRA

암호화폐 자산 가격 추적 사이트인 CoinGecko에 따르면, 전 세계 암호화폐의 총 시가총액은 2조 달러에 근접한 수준입니다(2022년 상반기 기준).

전 세계 암호화폐 시가총액이 2조 달러에 근접하는 것을 보여주는 CoinGecko 차트
출처

수치 이야기는 이쯤 하겠습니다. 그래서 이게 여러분에게 어떤 의미가 있을까요?

블록체인 개발은 좋은 커리어일까요?

현재 가장 수익성 높은 커리어 경로 중 하나는 블록체인 개발자가 되는 것입니다. Talent에 따르면, 평균적인 블록체인 개발자의 연봉은 145,000달러입니다. 블록체인 개발자에 대한 수요가 계속 증가하고 있는 지금이 뛰어들 때입니다.

블록체인 개발자로서, 여러분은 초기 단계 프로젝트에 투자하는 등 여러 기회를 남들보다 먼저 잡을 수 있는 독특한 위치에 있습니다.

블록체인을 직접 개발해보면 성공 가능성이 높은 프로젝트를 알아보고, 추진력이 없는 프로젝트를 피하는 눈이 생깁니다. 무엇이 통하고 무엇이 통하지 않는지를 실시간으로 지켜보면서, Web3의 미래를 직접 만들어가게 됩니다.

블록체인 개발자가 알아야 할 것은 무엇일까요?

블록체인 개발자로서 알아야 할 기술로는 Javascript, Python, Solidity 같은 프로그래밍 언어와, 블록체인, 합의 메커니즘, 해시 함수, gas 등 핵심 개념에 대한 지식이 있습니다.

새로운 기술을 배우는 감각이 있고 근본적으로 개발자 기질을 가지고 있다면, 전문적으로 성공할 기회는 얼마든지 있습니다. 하지만 그 나머지 길을 가려면 몇 가지 기술과, 블록체인 개발의 핵심 개념에 대한 이해가 필요합니다.

집중해야 할 기본 사항 몇 가지를 소개합니다.

블록체인 개발자가 되기 위해 알아야 할 5가지 기술

1. 널리 쓰이는 블록체인 프로그래밍 언어

블록체인 개발자로서, 여러 프로그래밍 언어를 배워야 할 가능성이 높지만, Javascript 숙달은 피할 수 없습니다.

Javascript는 다재다능하고 이식성이 좋은 언어로, 블록체인 생태계에서 널리 사용됩니다. 예를 들어, Javascript 라이브러리만 사용해서 이미 존재하는 스마트 컨트랙트와 상호작용하는 탈중앙화 애플리케이션을 만들 수 있습니다.

다른 언어에도 능숙하다면 좋습니다. 예를 들어 C++(전설적인 Bitcoin이 이 매우 유연한 언어로 작성되었습니다)나 Python이 그렇습니다. Python은 특히 백엔드 개발과 고급 스크립팅에 집중하고 싶다면 매우 유용합니다.

빠르게 익숙해지기 위해 Ethereum Javascript 자료들을 살펴보는 데 시간을 투자하시길 강력히 권장합니다. 물론 Solidity도 배우는 데 투자해야 하는데, 이는 여기에서 자세히 다룹니다.

여러 코딩 언어를 배우는 것으로 끝나지 않습니다.

2. 블록체인 기술의 기본 원리

블록체인 개발자에게 블록체인 기술의 기초를 이해하는 것은 매우 중요합니다. BitcoinEthereum 백서를 읽는 것은 필수입니다. 하지만 몇 가지 핵심 개념도 이해해야 합니다.

예를 들어, 블록체인은 본질적으로 **분산 원장 기술(DLT)**의 일종이라는 것을 아는 것이 중요합니다. 이는 중앙 관리자 없이 데이터베이스가 작동할 수 있도록 하는 프로토콜로, 데이터 블록이 여러 위치나 주체에 분산되어 있습니다. 블록체인은 암호화폐에도 쓰이지만, 사용 사례는 거기서 끝나지 않습니다. 앞으로 조직, 심지어 국가들도 선거를 치르거나 각종 정부 자금 사용을 결정하는 데 블록체인을 활용하는 사례가 계속 늘어날 것으로 보입니다. 블록체인은 대부분 누구나 열람할 수 있는 공개 원장이라는 점에서 책임성도 어느 정도 제공합니다. 이러한 사용이 더 널리 퍼질수록 정치, 비즈니스 환경에 어떤 영향을 미칠지 상상해볼 수 있습니다. 블록체인이 세상의 모든 문제를 해결해주지는 않겠지만, 우리는 블록체인이 제공할 수 있는 다양하고 강력한 사용 사례를 이제 막 이해하기 시작한 단계입니다.

3. 블록체인 합의 메커니즘

블록체인과 암호화폐의 핵심적인 발명은 합의 메커니즘입니다. 이는 중앙 권한이 없는 탈중앙화된 P2P 시스템이 의사결정을 내리는 절차입니다. 어떤 트랜잭션을 원장에 어떤 순서로 추가할지 합의하는 방법인 것입니다. 간단한 예를 들어보겠습니다:

블록체인 합의 메커니즘이 분산 노드 간 합의를 유지하는 방식을 보여주는 다이어그램

Proof of Work와 Proof of Stake

앞서 언급했듯이 블록체인은 보통 여러 합의 메커니즘을 가지고 있지만, 모두 같은 목표를 위해 존재합니다. 즉, 원장에 기록된 내용이 신뢰할 수 있도록 보장하는 것입니다.

가장 널리 쓰이는 두 가지 합의 메커니즘:

Bitcoin 네트워크를 구동하는 것으로 가장 잘 알려진 proof of work는, 계산 능력(채굴자를 통해)을 사용해 복잡한 수학 방정식을 풀어 블록체인의 보안성과 정확성을 보장하는 과정을 말합니다.

그 대가로, 이 방정식을 풀기 위해 필요한 자원을 투입한 채굴자들은 Bitcoin으로 보상을 받습니다.

Proof of work는 Bitcoin을 구동하고 있지만, 상당히 많은 에너지를 소비하는 것으로 밝혀졌습니다. Solana 같은 많은 새로운 블록체인들은 이를 피하려 하고 있습니다. 그럼에도 불구하고 proof of work를 사용하는 블록체인은 대체로 높은 수준의 보안성을 가지며, 네트워크상의 트랜잭션을 검증하는 탈중앙화된 방식을 제공합니다.

반면 proof of stake는 에너지 비용이 훨씬 낮은 proof of work의 대안입니다. 트랜잭션을 검증하는 데 에너지를 사용하는 대신, Proof-of-Stake는 검증자들의 올바른 행동을 강제하기 위해 금전적 페널티를 사용합니다.

"에너지 소비는 두 합의 메커니즘 간의 중요한 차이점 중 하나입니다. Proof-of-stake 블록체인은 채굴자들이 동일한 퍼즐을 풀기 위해 경쟁하며 중복된 과정에 전력을 소비할 필요가 없기 때문에, proof of stake는 네트워크가 훨씬 적은 자원 소비로 운영될 수 있게 해줍니다." Coinbase의 글

원래 proof of work로 출시되었던 Ethereum은 이제 Proof-of-Stake를 사용하고 있습니다.

두 합의 메커니즘을 더 자세히 비교해보겠습니다.

Proof of Work
Proof of Stake

Proof of work is a requirement to define an expensive computer calculation, also called mining

Proof of stake, the creator of a new block is chosen in a deterministic way, depending on its wealth, also defined as stake.

A reward is given to the first miner who solves each blocks problem.

The PoS system there is no block reward, so, the miners take the transaction fees.

Network miners compete to be the first to find a solution for the mathematical problem

Proof of Stake currencies can be several thousand times more cost effective.

Aspect
PoS (Proof of Stake)
PoW (Proof of Work)

Full Name

Proof of Stake

Proof of Work

How It Works

Owners of the cryptocurrency can stake their coins, then the protocol selects a validator who adds a new block of transactions and earns rewards.

The first miner to solve the puzzle (finding a target hash) gets to add a block of transactions and earn rewards.

Energy Usage

Low

High

Equipment & Resources Required

PoS doesn't require validators to purchase specialized equipments or to solve complex equations.

PoW requires hardwares and energy, because mining capacity depends largely on a miner's computational power.

두 합의 메커니즘의 기본을 이해하는 데 도움이 될 훌륭한 온라인 자료가 많이 있으니, 시간을 들여 공부해보시길 권장합니다.

물론 크립토와 블록체인이 계속 발전함에 따라, 추가적인 합의 메커니즘들도 계속 만들어지고 사용될 것입니다.

4. 해시 함수

합의 메커니즘 외에도, 해시 함수를 이해할 필요가 있습니다.

해시 함수는 새로운 트랜잭션을 블록체인에 기록하고, 인코딩된 데이터가 안전하게 유지되도록 하는 데 사용됩니다.

해싱이란 수학적 함수를 이용해 임의의 데이터 입력을 고정된 크기의 텍스트 문자열로 바꾸는 연산입니다. 간단히 말하면, 어떤 문자열이 알고리즘을 통해 정해진 배열의 숫자와 문자로 바뀐다는 뜻입니다.

이러한 함수들은 결국 블록체인의 불변성—트랜잭션의 영구적인 기록으로 남는 능력—을 보장합니다. 하지만 이것이 바로 블록체인 개발이 중앙화된 생태계에서의 프로그래밍보다 다소 어려운 이유이기도 합니다.

이러한 프로토콜을 설계하는 데는 오랜 시간이 걸립니다. 완벽에 가깝게 만들어야 하기 때문입니다. 이론적으로는, 코드를 업로드한 후에는 극히 일부 예외를 제외하고는 변경할 수 없습니다.

이 기술을 더 잘 이해하기 위해 가능한 한 많은 온라인 강의를 들어보시길 권장합니다.

시작하기에 좋은 자료들:

영상 강의와 코스 외에도 좋은 책들이 있습니다.

이 목록이 전부는 아니지만, 위의 자료들을 읽고 실제로 적용해본다면 블록체인 개발자가 되는 길에 잘 들어선 것입니다.

5. Gas, 채굴자, 그리고 스마트 컨트랙트 실행 비용

스마트 컨트랙트 실행에 대해 채굴자에게 지불되는 Ethereum 가스비를 보여주는 다이어그램

블록체인 개발자로서, Ethereum 생태계에서 "gas"가 어떤 역할을 하는지도 이해해야 합니다.

Ethereum Virtual Machine(모든 트랜잭션이 계산적으로 실행되는 곳)은 공간이 매우 제한적입니다. 특정 시점마다, 한정된 계산 공간에 대한 수요 수준은 계속 변합니다.

그리고 사용자들이 Ethereum 상에서 "gas", 즉 계산 능력의 단위에 대해 값을 지불하는 끊임없는 경매가 벌어지고 있습니다.

사용자로서 gas 비용을 절약하는 방법을 아는 것은 여러분의 크립토 포트폴리오에 도움이 됩니다. 채굴자들을 공정하게 대우하면서도 gas 비용을 더 합리적으로 만드는 것은 크립토 분야의 많은 개발자들에게 우선순위입니다.

블록체인 개발자 커뮤니티와는 어떻게 연결될 수 있을까요?

블록체인 개발자 커뮤니티와 연결되는 가장 좋은 방법은 Discord 서버와 커뮤니티에 가입하고, Twitter에서 web3 개발자들 및 오피니언 리더들과 교류하고, web3 해커톤과 컨퍼런스에 참여하는 것입니다.

프로그래밍 능력이 블록체인 개발자의 성공에서 가장 큰 역할을 한다는 것은 공공연한 사실이지만, 코드 한 줄 작성하지 않고도 할 수 있는 일들이 많이 있습니다.

블록체인 창작자 커뮤니티는 주로 웹상 두 곳에서 모입니다: Discord와 Twitter입니다. 가장 중요한 논의는 그곳에서 이루어지며, 관계를 쌓고 일자리를 찾을 수 있는 곳도 그곳입니다.

전통적인 직장과 달리, LinkedIn에 정장을 입은 진지한 프로필 사진을 올릴 필요가 없습니다. Web3의 세계에서 가장 중요한 것은 여러분의 실질적인 지식—주로 실습, 크립토 인플루언서 추적, 강의 수강, 해커톤 참여 등을 통해 쌓은 블록체인 노력의 결과물입니다.

크립토와 블록체인에 대한 흥미로운 콘텐츠를 게시한다면, 익명으로 우스꽝스러운 프로필 사진을 쓰고 있어도 사람들을 만나고 주목받을 수 있습니다.

여러분이 참여해볼 만한 훌륭한 Discord 서버와 커뮤니티를 소개합니다:

그리고 팔로우해볼 만한 크립토와 블록체인 분야의 주요 오피니언 리더들입니다:

또한 모두의 취향에 맞는 것은 아니지만, 컨퍼런스에 참석하는 것도 직접 만나 전문적인 인맥을 쌓는 좋은 방법이 될 수 있습니다. 모든 컨퍼런스를 나열할 수는 없지만, 시작하는 데 도움이 될 방대한 목록을 소개합니다.

미래의 블록체인 개발자가 될 여러분

프로그래밍 세계에 처음 발을 들이는 것이든, 블록체인 커리어를 한 단계 끌어올리고 싶은 것이든—방법은 하나뿐입니다. 노력을 들이는 것입니다. 그럼에도 불구하고, 크립토와 블록체인 기술은 금융, 비즈니스, 문화 등 여러 분야를 변화시키고 있으며, 그 기회는 끝이 없습니다.

이 가이드에서 제시한 제안과 팁을 따른다면, 이 전 지구적 변화의 최전선에 선 개발자가 되는 길에 잘 들어설 수 있을 것입니다. Alchemy는 Web3의 대표적인 노드 서비스 제공업체 중 하나입니다. 저희가 제공하는 다른 서비스로는 Enhanced APIs, Notify API, 그리고 새롭게 추가된 NFT API가 있습니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.