블록체인 밋업데이 특강 -FIN

kyoungyeon·2025년 7월 2일
0

특강- IT CONCERT

목록 보기
29/29

회고

  • 진입 장벽이 있긴 했다.

    • 개념에 따라 코인,NFT, 토큰 여러 종류가 있고 이 모든게 조금씩 다른 개념이라서 역시 코린이는 직접 사봐야함
    • 게다가 거래소 또한 종류가 다양함 (CEX,DEX)
      • Dapp으로 개인 투자도 가능하다!
   $ ./btcminer --wallet=1XYZabc123... --pool=somepool.io

단점

  • 해킹에 취약한 듯하다 (개인 wallet자체가)
    • 하드웨어 wallet을 구매하는 경향도 있다고 함 (부자나 많이 운용하는경우 )
      • 비싼거 사도 해킹당하는건 똑같다고 하다는데..
        • 아무래도 개인 보안이라는게 한계가 있고. (업체만큼 전문성 있게 보안을 하지 않겠죠..?)
        • 강사님도 블록체인 트레이딩 봇용 홈 server 를 별도 구매해 사용중이라고 함.
          • 접근성을 위해 apple 폰 과 mac을 추천받음
            엔드포인트가 이렇게 위험한 겁니다..
  • 다만 코인 수익도 최근 불장이라는 sns를 봤다. (BTC는 건재..)
    • 발바닥에서 구매 가능?

거래소 종류

국가/영역대표 거래소특징
글로벌Binance전 세계 1위. KYC 필수.
미국Coinbase나스닥 상장사. 미국 규제에 적합
한국Upbit, Bithumb원화 기반 거래. 국내 규제에 최적화
아시아OKX, KuCoin다양한 알트코인 취급

NFT | token | coin

항목설명대표 예시공통점
코인 (Coin)블록체인 자체 통화BTC, ETH, LTC독립 블록체인 보유
토큰 (Token)기존 블록체인 위 자산USDT(테더), APE, SHIBERC-20 기반 등
NFT유일한 번호 가진 자산BAYC, CryptoPunk, 게임 아이템ERC-721, ERC-1155 기반

코인 종류

  • 💰 Bitcoin (BTC): 거래량 최고, 스프레드 낮음 → 기본 중의 기본

  • Ethereum (ETH): 시장 트렌드 따라가기에 적합하며, 변동성 보통

  • Binance Coin (BNB): 바이낸스 연계, 수수료 절약 효과 있음

  • Solana (SOL): 속도 빠르고 변동성도 있어 단타 거래에 적합

  • XRP, DOGE, MATIC 등: 단기 변동성이 높아 기회 많음

그외 공부 정리 요약

개념 재복습

블록체인은 이름 그대로 '블록(Block)'이라는 데이터 묶음을 '체인(Chain)'처럼 연결한 분산원장기술(DLT)입니다. 각 블록은 고유한 암호화된 값인 해시(Hash)를 가지며, 이전 블록의 해시를 포함하여 연결됩니다. 이 해시는 입력된 모든 데이터(블록 번호, 이전 블록 해시, 거래 데이터, 타임스탬프, 논스 등)를 기반으로 생성되므로, 데이터의 무결성과 순서가 철저히 보장됩니다.

블록의 생성 과정:
블록은 0(genesis block + prev + data)_Hash 형태로 이전 블록의 해시와 현재 블록의 데이터를 포함하여 새로운 해시를 생성하며 연결됩니다. 여기서 해시는 무작위적인 값이 아니라, 입력값에 따라 결정론적으로 생성되는 고유한 값입니다.

노드의 역할:
블록체인 네트워크는 수많은 '노드'로 구성된 분산 시스템입니다. 이 노드들은 블록을 검증하고 관리하는 역할을 합니다. 모든 개인이 직접 노드를 운영하여 블록체인 전체를 다운로드하고 검증하는 것은 현실적으로 어렵습니다. 대신, 채굴자, 거래소, 인퓨라(Infura), ITM(Interchain Transaction Manager)과 같은 '노드 운영자'들이 자체적으로 장부를 관리하며 블록을 받습니다. 개인 사용자들은 이러한 노드를 통해 블록체인 네트워크에 접근하고 거래를 수행하며, 이를 통해 접근성과 기술 장벽이 낮아집니다.

Transaction_flow

중앙화 시스템과의 차이점:
기존 중앙화 시스템은 은행과 같은 '유통 플랫폼'이 필수적입니다. 반면 블록체인은 이러한 중간 매개체가 필요 없어 거래 처리 시간이 단축되는 장점이 있습니다. 하지만 이는 노드 운영자가 유통업자처럼 통로를 열어주어 개인 유저들이 거래를 할 수 있는 시스템이 구축될 때 가능합니다.


2. 블록체인의 심장, 합의 알고리즘 (비잔틴 장군의 딜레마를 넘어)

블록체인의 핵심 중 하나는 바로 '합의 알고리즘'입니다. 이는 분산 시스템에서 '비잔틴 장군의 딜레마'를 해결하기 위해 고안된 메커니즘입니다. 비잔틴 장군의 딜레마란, 분산된 시스템에서 신뢰할 수 없는 노드(배신자)가 존재해도 전체 시스템이 일관된 결정을 내릴 수 있는 방법에 대한 문제입니다. 블록체인은 다양한 합의 알고리즘을 통해 이 난제를 해결하고 신뢰성과 안정성을 보장합니다.

주요 합의 알고리즘은 다음과 같습니다:

  • 작업 증명 (Proof of Work, PoW): 비트코인에서 사용하는 방식으로, 노드들이 복잡한 암호화 퍼즐(해시 계산)을 풀기 위해 경쟁합니다. 가장 먼저 정답을 찾은 노드가 새로운 블록을 제안할 권리를 얻습니다. 악의적인 노드가 기록을 조작하려면 전체 네트워크 컴퓨팅 파워의 51% 이상을 확보해야 하는데, 이는 막대한 컴퓨팅 파워를 요구하므로 사실상 불가능하다고 간주됩니다. 채굴 시 '무작위 값을 계속 넣는 방식'은 사실 특정 조건을 만족하는 해시값을 찾기 위해 '논스(nonce)' 값을 변경하며 해시 함수를 반복 실행하는 과정에 가깝습니다. 이는 마치 퍼즐을 푸는 것과 같습니다.
  • 지분 증명 (Proof of Stake, PoS): 이더리움 2.0(Serenity)을 비롯한 많은 블록체인에서 사용합니다. 컴퓨팅 파워 대신 해당 암호화폐의 '지분(Stake)'을 많이 가진 노드가 블록을 생성하고 검증할 권리를 얻을 확률이 높아집니다. 악의적인 행동을 하면 자신이 스테이킹한 코인을 잃게 되는 페널티(Slashing)가 부과되어, 시스템을 해치려는 동기를 경제적으로 억제합니다.
  • 위임 지분 증명 (Delegated Proof of Stake, DPoS): EOS, Tron 등에서 사용합니다. 코인 보유자들이 '증인(Witness)' 또는 '생산자(Producer)'라고 불리는 소수의 노드를 투표로 선출하고, 이들이 블록을 생성하고 검증하는 역할을 담당합니다. 소수의 선출된 노드들이 합의를 진행하므로 훨씬 빠르고 효율적이며, 악의적인 행동 시 다음 투표에서 제외될 수 있습니다.
  • 실용적 비잔틴 장애 허용 (Practical Byzantine Fault Tolerance, PBFT): Hyperledger Fabric과 같은 프라이빗/컨소시엄 블록체인에서 주로 사용됩니다. 네트워크에 참여하는 노드 수가 비교적 적고 신원이 알려진 환경에서 효율적입니다. 모든 노드가 서로의 메시지를 직접 확인하고, 2/3 이상의 다수 동의에 도달해야만 최종 결정을 내립니다.

3. 블록체인 기술, 장점만 있을까? (단점과 극복 노력)

블록체인은 혁신적인 기술이지만, 아직 해결해야 할 과제들도 있습니다.

  • 단점:
    • 통신 속도: 기존 시스템에 비해 트랜잭션 처리 속도가 느리다는 단점이 있습니다.
    • 초기 설치 비용: 특히 PoW 기반 블록체인은 막대한 컴퓨팅 파워를 요구하므로 초기 설치 비용이 많이 듭니다.
    • 효율성: 모든 거래를 모든 노드가 검증해야 하므로, 특정 용도에서는 비효율적일 수 있습니다.
  • 극복 노력 (최근 장점):
    • 속도 개선: PoW에서 PoS, DPoS 순으로 합의 알고리즘을 계속 발전시키며 통신 속도를 빠르게 하려는 노력이 활발합니다. 이더리움 2.0의 PoS 전환이 대표적인 예시입니다.

이더리움 consensus layer 글 참조

4. 개발자를 위한 핵심 개념: 트랜잭션과 보안

블록체인 개발에서 가장 중요한 부분은 '트랜잭션' 처리와 '보안'입니다.

트랜잭션의 서명과 검증:
블록체인에서 거래(트랜잭션)가 발생하면, 사용자는 자신의 개인키(Private Key)로 해당 트랜잭션에 서명합니다. 이 서명된 트랜잭션은 네트워크에 전파되고, 다른 노드들은 사용자의 공개키(Public Key)를 사용하여 서명이 유효한지 검증합니다. 여기서 공개키는 서명이 해당 개인키의 소유자에 의해 생성되었음을 확인하는 데 사용되며, 거래 내용 자체를 '복호화'하는 과정은 아닙니다. 거래 내용이 위변조되지 않았음을 증명하는 것이 핵심입니다.

개인키 보안의 중요성:
개인키가 유출되면 해당 지갑의 모든 자산을 잃을 수 있으므로, 개인키 보안은 아무리 강조해도 지나치지 않습니다.

  • 하드웨어 지갑: 개인키를 오프라인에 저장하여 해킹 위험을 줄이는 가장 안전한 방법 중 하나입니다. 즉각적인 사용은 소프트웨어 지갑보다 번거롭지만, 보안을 위한 중요한 선택지입니다.
  • 거래용 분리 PC: 개인키를 온라인에서 사용해야 한다면, 외부 정보 유입 통로를 최소화한 전용 PC(워크스테이션)를 사용하는 것이 가장 현실적인 보안 강화 방법입니다.

Web3 서비스와 EIP-191, JWT:
일반적인 Web3 서비스에서는 EIP-191 표준을 활용하여 사용자 인증을 진행합니다. 사용자가 지갑(예: MetaMask)을 통해 특정 메시지에 개인키로 서명하면, 서비스 서버는 이 서명을 검증하고 사용자에게 JWT(JSON Web Token)를 발행합니다. 이후 클라이언트는 이 JWT를 통해 서비스에 접근할 권한(인가)을 부여받습니다.


5. 블록체인의 새로운 지평: NFT와 Ordinals

NFT(Non-Fungible Token, 대체 불가능 토큰)는 블록체인 세상의 가장 뜨거운 화두 중 하나입니다. 그리고 최근 비트코인 네트워크에서도 NFT와 유사한 개념이 등장했습니다.

  • NFT: 특정 예술품, 수집품, 게임 아이템 등 고유한 소유권을 증명하는 디지털 증표로 사용됩니다.
  • Ordinals(오디널스): 비트코인에서 가장 작은 단위인 사토시(Satoshi)에 순서 번호(Ordinal Number)를 부여하고, 이 사토시에 이미지, 텍스트, 비디오 등 다양한 디지털 데이터를 "새겨넣는(Inscribe)" 방식으로 작동합니다. 이렇게 새겨넣어진 사토시를 인스크립션(Inscription)이라고 부르며, 비트코인 블록체인에 영구적으로 기록됩니다. 오디널스는 기존 비트코인이 화폐 기능에 집중했지만, NFT와 같은 더 복잡한 데이터와 자산의 개념을 비트코인 블록체인에 도입했다는 점에서 큰 의미가 있습니다. 오디널스와 이더리움 NFT는 기술적 구현 방식과 특성이 다르며, 효율성은 사용 목적과 네트워크 구조에 따라 다르게 평가될 수 있습니다.

6. 개발자를 위한 실전 가이드: 스마트 컨트랙트와 툴

블록체인 개발의 핵심은 스마트 컨트랙트 작성입니다.

Solidity 언어와 EVM:
이더리움 기반 스마트 컨트랙트는 주로 Solidity 언어로 작성됩니다. 작성된 코드는 EVM(Ethereum Virtual Machine) 위에서 실행됩니다.

스마트 컨트랙트 주요 개념:

  • 저장 공간: 스마트 컨트랙트 내 데이터는 저장 용도와 휘발성 여부에 따라 다양한 공간에 저장됩니다.
    • 스토리지 (Storage): 컨트랙트의 상태 변수(데이터베이스)를 영구적으로 저장하며 가장 비쌉니다.
    • 메모리 (Memory): 함수 내 임시 변수나 복합 데이터 처리용으로 사용되며, 트랜잭션 실행 중에만 유효한 휘발성이고 스토리지보다 저렴합니다.
    • 칼데이터 (Calldata): 외부 함수 호출의 읽기 전용 입력 데이터로, 휘발성이며 메모리보다 저렴합니다.
    • 블롭 (Blob): 레이어2 롤업 데이터 게시용으로 대량의 데이터를 단기적으로 저장하며 가장 저렴합니다. 최근에는 bit 단위 개발보다는 optimizer를 잘 활용하여 배포량과 가스비를 최적화하는 데 집중합니다.
  • pureview 함수: 스마트 컨트랙트의 상태를 변경하지 않고 단순히 조회만 하는 함수는 pure 또는 view 키워드를 사용하며, 이 함수들은 가스비가 발생하지 않습니다. 하지만 노드에서 데이터를 가져오는 네트워크 지연이나 노드의 부하로 인해 체감상 느리다고 느껴질 수 있습니다.
  • virtualoverride: Solidity 0.6 버전부터 도입된 개념으로, 상속 관계에서 부모 컨트랙트의 함수를 자식 컨트랙트에서 재정의(Override)하려면 부모 함수에 virtual 키워드를, 자식 함수에 override 키워드를 사용해야 합니다.
  • 이벤트 (Event): 스마트 컨트랙트에서 특정 중요한 상태 변화나 액션(예: 토큰 전송, 값 변경)이 발생했을 때 이를 기록하는 메커니즘입니다. 이는 블록체인 외부의 애플리케이션(익스플로러, 백엔드 서비스)이 블록체인 상태 변화를 모니터링하고 추적할 수 있도록 해줍니다. logger와 유사한 개념으로, 변수 선언까지 이벤트로 남기는 경우가 많습니다.

개발자 필수 툴:

  • 이더스캔 (Etherscan): 이더리움 블록체인의 모든 트랜잭션, 블록, 컨트랙트 등을 조회할 수 있는 웹사이트입니다. 개발 중 문제가 발생했을 때 디버깅 및 정보 확인에 필수적입니다.
  • 컨트랙트 통신: 배포된 컨트랙트에 접근하고 함수를 호출하려면 해당 컨트랙트의 ABI(Application Binary Interface)컨트랙트 주소 두 가지가 필요합니다.

블록체인 개발 학습 채널:

  • 공식 문서 및 커뮤니티: 텔레그램, 미디엄, 트위터, 디스코드 등에서 최신 트렌드를 파악하고 질문을 해결할 수 있습니다.
  • 해커톤: EthGlobal Events (https://ethglobal.com/events)와 같은 해커톤은 실제 프로젝트 경험을 쌓고 최신 기술 트렌드를 익히는 데 매우 유용합니다.
  • 프로젝트 쇼케이스: EthGlobal Showcase (https://ethglobal.com/showcase/)를 통해 다양한 프로젝트들을 살펴보며 아이디어를 얻고 트렌드를 파악할 수 있습니다.
  • Kaia 플랫폼: Kaia는 토큰을 제공하는 사이트이며, 블록체인 앱체인 구축에 사용되는 코스모스 SDK와 Tendermint Core를 활용하여 블록체인 간의 인터넷을 만들려는 시도를 합니다.
profile
🏠TECH & GOSSIP

0개의 댓글