block chain basic

블록 체인
공개

2025년 2월 22일

What is Block Chain?

  • 우리가 돈을 관리하는 방식부터 집단적 합의를 이루는 방식에 이르기까지, 중앙집중식 시스템에 내재된 취약점과 한계에 대한 대응책
  • 중앙집중식 시스템: 종종 효율적이지만, 중앙 권력에 대한 의존은 통제, 허가, 그리고 신뢰와 관련된 심각한 문제들을 야기
    • 절대적인 통제권
    • 배제(검열) 가능성
    • 프라이버시 부재
  • 신뢰가 최소화된 시스템:
    • 공유된 탈중앙화 원장(The Shared, Decentralized Ledger)
      • 노드들은 탈중앙화된 P2P 네트워크를 형성하고, 중앙 서버나 단일 실패 지점이 없다.
      • 새로운 거래가 발생하면 네트워크에 전파되고, 마치 소문이 퍼지듯 노드에서 노드로 전달되어 결국 모든 참여자가 동일한 최신 원장 사본을 갖게 된다.
    • Blocks
      • 거래들은 블록이라는 그룹으로 모이고 묶인다. 블록을 글로벌 기록 장부의 한 페이지라고 생각하면 됨.
      • 한 페이지가 검증된 거래 목록으로 채워지면, 장부에 추가될 준비가 된 것.
        • 해시: 블록이 생성될 때, 내부의 모든 거래 데이터는 암호화 알고리즘을 거쳐 해시라는 고유한 코드를 생성.
        • 이 해시는 해당 블록에 대한 디지털 지문이나 승인 도장 역할을 함. 거래 데이터의 글자 하나만 바뀌어도 해시는 완전히 달라짐.
        • 체인 연결: 각 블록은 이전 블록의 해시를 포함하여, 블록들이 시간 순서대로 연결되고 암호화 기술로 보안이 유지되어, 영구적이고 끊어지지 않는 기록을 만듦.
    • Chain
      • 블록들은 시간 순서대로 연결되고 암호화 기술로 보안이 유지되어, 영구적이고 끊어지지 않는 기록을 만듦.

History

  • 이중지불문제: 디지털 화폐 한 단위가 한 번 이상 사용될 수 있는 내재적 위험.
  • 일부 노드가 악의적이고 거짓 정보(이중 지불 시도 등)를 퍼뜨리려 하더라도, 네트워크는 어떤 거래가 유효하고 어떤 순서로 발생했는지에 대해 집단적으로 합의해야 함.
  • 2008년, 사토시 나카모토는 비트코인 백서를 발표하여, 탈중앙화된 디지털 화폐 시스템을 제안.
  • 2015년, 돈 뿐만 아니라 합의에도 적용할 수 있는 스마트 계약 개념이 도입됨.(이더리움)

Chain in Block Chain

  • 거래 수요가 처리 능력을 훨씬 초과하면 네트워크는 혼잡해짐.
  • 혼잡한 블록체인에서는 거래 속도가 급격히 떨어지고, 거래 수수료 비싸짐
  • Layer 1 (L1): 기초적이고 독립적인 블록체인
    • 각각이 독립적인 개발 커뮤니티, 생태계를 가지고 있음
  • Layer 2 (L2): L1 블록체인 위에 구축된 확장 솔루션
    • 대량의 거래 묶음을 매우 저렴한 비용으로 오프체인에서 처리하고, 이를 압축된 요약본으로 묶은 뒤, 그 요약본을 다시 L1에 제출

Problem

  • Oracale Problem: 블록체인 외부의 데이터를 신뢰할 수 있는 방식으로 블록체인에 제공하는 문제
    • 스마트 계약은 블록체인 내부의 데이터에만 접근할 수 있음
    • 외부 데이터를 필요로 하는 스마트 계약은 신뢰할 수 있는 제3자(오라클)를 필요로 함
    • 오라클이 악의적이거나 오류가 있을 경우, 스마트 계약이 잘못된 데이터를 기반으로 실행될 수 있음
  • DON(Decentralized Oracle Network): 여러 오라클로부터 데이터를 수집하고, 이를 집계하여 스마트 계약에 제공하는 네트워크
    1. 네트워크 내의 여러 독립적인 노드가 현실 세계에서 동일한 데이터를 가져온다. (예: 여러 프리미엄 데이터 소스에서 이더리움 가격을 수집)
    2. 노드들은 서로 데이터를 교차 검증.
    3. 합의 프로토콜을 실행하여 하나의 정확한 값에 동의.
    4. 검증되고 합의된 이 값이 스마트 계약을 위해 온체인에 제출.
  • Chain link: 오라클 문제를 해결하기 위한 핵심 인프라를 제공하는 업계 표준의 모듈식 탈중앙화 오라클 네트워크

Smart Contract

  • 모든 노드가 동일한 스마트 계약 코드를 실행하여, 동일한 출력을 생성
    • EVM을 통해 deterministic하게 실행됨
      • 등가성: EVM 등가성을 가진 체인은 모든 면에서 이더리움 메인넷과 똑같이 작동하도록 설계
      • 호환성: 내부적으로 이더리움 스마트 계약과 작동하는 방식에서 차이가 있음

Architecture

Consensus Mechanism

  • 하나의 공유된 ’진실의 원천’을 만들기 위해 아래 세 가지 주요 과제를 해결해야 함
  1. 시빌 저항성(Sybil Resistance)으로 조작 방어하기
    • 각 노드가 거래 내역에 대해 하나의 “투표권”을 가진다고 볼 수 있는 블록체인에서, 시빌 공격은 치명적인 위협.
    • 네트워크를 위협할 만큼 큰 규모로 운영하는 것을 엄청나게 비싸게 만들어서 시빌 공격을 방어
      • 작업 증명(PoW): 네트워크 합의에 참여하려면 노드는 막대한 컴퓨팅 파워와 전기를 소모하는 복잡한 수학 퍼즐을 풀어야 한다.
      • 지분 증명(PoS): 검증자로 참여하려면 사용자는 네트워크의 기축 암호화폐 상당량을 담보로 예치해야 한다.
        1. 검증자가 일정 양의 코인을 예치
        2. 무작위로 선택된 검증자가 블록 제안
        3. 다른 검증자들이 블록을 검증하고 투표
  2. 완결성(Finality)으로 영구적 보장하기
    • 일단 거래가 확정되어 블록체인에 추가되면, 되돌릴 수 없으며 결코 변경되거나 취소되거나 삭제될 수 없다는 보장
    • 블록체인마다 이 보장을 달성하기 위한 규칙과 소요 시간이 다름
    • 비트코인에서는 6 컨펌 이후 완결성 보장
    • 이더리움에서는 네트워크 전체 예치된 지분의 최소 2/3이 블록을 포함하는 체인을 지지할 때 정당화 되고, 2/3의 검증자가 합의하면 블록이 최종 확정
  3. 합의 문제(Consensus Problem) 해결하기
    • 거래의 올바른 순서, 어떤 거래가 유효하고 어떤 것이 사기인지, 블록체인의 어떤 버전이 유일한 진짜 정본(canonical) 체인인지
      • 보통 제일 긴 체인(longest chain)을 진짜 체인으로 간주

블록체인의 취약점

  1. Sybil Attack
    • 공격자가 네트워크에서 다수의 가짜 신원을 만들어, 네트워크의 합의를 조작하거나 방해하는 공격
    • 방어 방법: PoW, PoS 등 시빌 저항성 메커니즘 도입
  2. 51% Attack
    • 공격자가 네트워크의 해시 파워 또는 스테이킹된 코인의 51% 이상을 통제하여, 거래를 되돌리거나 이중 지불을 수행하는 공격
  3. MEV와 샌드위치 공격
    • MEV(Maximal Extractable Value): 블록 생산자가 거래 순서를 조작하여 얻을 수 있는 추가 수익
    • 샌드위치 공격: 공격자가 피해자의 거래 전후에 자신의 거래를 삽입하여 가격을 조작하고 이익을 얻는 전략
  4. 클라이언트 소프트웨어 버그
  5. 리플레이 공격
    • 공격자가 이전에 유효했던 거래 데이터를 다른 네트워크에서 재전송하여, 동일한 거래를 두 번 이상 실행하는 공격
    • 방어 방법: chain ID, nonce

Hard Fork

  • 이더리움에서 프로토콜 업그레이드를 구현하는 데 사용되는 기술적 과정
  • 하드 포크가 활성화되면 새로운 규칙이 이전 규칙과 너무 달라져서 더 이상 호환되지 않음.
  • 즉, 새로운 소프트웨어로 업데이트하지 않은 노드(블록체인 소프트웨어를 실행하는 컴퓨터)는 새로운 블록과 거래를 검증할 수 없게 됨.
  • EIP(Ethereum Improvement Proposal) 작성 및 승인으로 업데이트가 이루어짐
    • ERC(Ethereum Request for Comments): 애플리케이션 레벨의 상호작용을 위한 규칙을 만드는 EIP의 필수적인 부분집합으로, 생태계가 번영할 수 있도록 하는 상호운용성을 촉진
  • 종류
    • 비경합적 하드 포크: 커뮤니티 전체가 제안된 변경 사항이 유익하다는 데 동의하고, 모두가 소프트웨어를 업그레이드하기로 협력한다.
    • 경합적 하드 포크: 커뮤니티 내에서 의견이 갈려 일부 노드가 업그레이드를 거부하고 이전 규칙을 계속 따르는 경우
  • 개발자가 코드를 작성하지만, 새 소프트웨어를 실행할지 말지 최종적으로 선택하는 것은 노드를 운영하는 수천 명의 개인과 조직. 그들이 업데이트하지 않으면 업그레이드는 실패.

Gas Fee

  • 이더리움에서 작업을 실행하는 데 필요한 연산 작업량을 측정하는 단위
  • 필요성:
    1. 검증자에 대한 보상: 가스비는 필수적인 작업을 수행한 대가로 받는 보상이며, 정직하게 참여하고 네트워크를 계속 가동하게 만드는 직접적인 경제적 유인을 제공함.
    2. 스팸 방지: 모든 연산에 수수료를 요구함으로써, 가스는 스팸 공격 비용을 엄두도 못 낼 만큼 비싸게 만드는 금전적 장벽을 형성하여 네트워크의 제한된 블록 공간을 보호함.
  • 각 블록의 공간은 유한함. 더 많은 사용자가 거래를 제출하려고 하면 이 제한된 공간에 대한 수요가 증가하고, 결과적으로 블록에 포함되기 위해 필요한 가격(가스비)이 올라감.
  • 변화:
    1. 래거시 거래(type 0): 최고가 입찰 경매 모델
      • 사용자가 gasPrice, gasLimit 설정. 거래를 빨리 포함시키려면 사용자는 다른 사람들이 gasPrice로 얼마를 입찰하고 있는지 추측해야 하고, 이로 인해 비용을 과도하게 지불하거나, 너무 적게 지불하여 사용자 경험에 어려움을 줌.
    2. EIP-1559 거래(type 2): 기본 수수료 + 팁 모델
      • 기본 수수료: 네트워크 혼잡에 따라 자동으로 조정되는 수수료
      • 팁: 거래를 우선 처리하도록 채굴자에게 주는 추가 수수료
      • 기본 수수료는 소각되어 네트워크에서 영구적으로 제거됨

Account Abstraction

  • EOA(Externally Owned Accounts): 개인 키로 제어되는 계정
  • 스마트 계약 계정(Smart Contract Accounts): 스마트 계약을 계정처럼 사용하는 것. smart contract 주소가 계정 주소 역할
    • transaction을 실행할 수 없으나, 프로그래밍 가능한 계정처럼 사용할 수 있다.
    • authentication이나 account recovery, gas fee automation 같은 기능을 스마트 계약 코드로 구현 가능
  • Abstracted Account: EOA와 스마트 계약 계정의 기능을 결합한 계정
    • smart contract를 main account로 사용
  • 구현(EIP-4337):
    1. User Operation: 사용자가 서명한 거래 요청
    2. Entry Point Contract: User Operation을 수신하고 처리하는 스마트 계약
    3. Bundler: 여러 User Operation을 Alt Mempool에 모아서 Entry Point Contract에 제출하는 역할
    4. Paymaster: 사용자의 가스비를 대신 지불하는 역할

Blockchain Use Cases

DeFi

  • 사용자가 탈중앙화된 방식으로 금융 서비스와 상호작용할 수 있게 해주는 모든 프로토콜, 서비스, 애플리케이션을 포괄
  • DeFi 애플리케이션은 본질적으로 블록체인에 배포된 스마트 계약, 혹은 스마트 계약들의 시스템.
  • 결정론적 실행, 결합성
  • 사례:
    • 탈중앙화 거래소 (DEX): 용자가 중앙 중개인 없이 서로 직접 디지털 자산을 거래할 수 있게 함
    • 대출 및 차입: 사용자가 자산을 빌려주고 이자를 얻거나, 기존 암호화폐 보유량을 담보로 사용하여 자산을 빌릴 수 있게 함
    • 이자 농사(Yield Farming) 및 유동성 채굴: 많은 프로토콜이 사용자에게 플랫폼에 유동성(자금)을 제공한 대가로 추가 토큰을 보상하여 참여를 장려함
  • 토큰:
    • 네이티브 토큰: 블록체인 프로토콜의 기본 암호화폐 (예: 이더리움의 ETH, 비트코인의 BTC)
    • 대체 가능 토큰(ERC20): 상호 교환 가능하고 동일한 가치가 있는 토큰 (예: USDC, DAI)
    • 대체 불가능 토큰(ERC721): 고유한 디지털 자산을 나타내며, 예술 작품, 수집품, 게임 아이템 등에 사용됨
    • 준 대체 가능 토큰(ERC155): 여러 개의 동일한 복사본이 존재할 수 있지만, 각 복사본이 여전히 개별적으로 추적되고 소유되는 자산에 사용됨

중앙화 거래소 vs 탈중앙화 거래소

  • 중앙화 거래소:
    • 자금을 입금할 때 자산의 통제권을 거래소로 넘기게 됨. 회사가 자신의 지갑에 코인을 보관하며, 이는 곧 그들이 개인키를 통제한다는 뜻.
    • 법정 화폐를 코인으로 바꾸게 해주고, 코인을 다시 법정 화폐로 바꿔 은행으로 출금할 수 있게 해줌.
    • 거래소의 지급 능력과 보안에 완전히 의존하게 됨
  • 탈중앙화 거래소(DEX):
    • 자동화된 시장 조성자 모델

DAO

  • 참여자들이 자신의 금융 자산을 걸고 투표
  • 탈중앙화 금융(DeFi)에서 가장 큰 프로토콜들을 관리하는 데 실제로 사용됨.

Scalability

  • Roll up: L2 체인에서 트랜잭션을 실행한 다음, 수백 개의 트랜잭션을 하나의 압축된 트랜잭션 배치로 묶거나 말아 올려서, L1 네트워크에 게시하는 방식으로 작동
    • Optimistic Rollup: 트랜잭션이 유효하다고 가정. L2 운영자가 L1에 배치를 게시하면, 일반적으로 약 일주일 동안 지속되는 이의 제기 기간이 시작
    • ZK Rollups: 모든 트랜잭션 배치의 유효성을 선제적으로 증명. 증명이 유효하다면, 배치는 즉시 수락되고 확정됨.
  • sequencer: L2 네트워크에서 트랜잭션의 순서를 정하고, 이를 롤업 배치로 묶어 L1에 제출하는 역할.
    • 현재 대부분의 시퀀서가 중앙화되어 있음.
    • 평판이 좋은 프로젝트라면 장기 로드맵에 점진적 탈중앙화 전략을 반드시 포함하고 있음.
    • 롤업 시퀀서의 상태는 그 프로젝트의 성숙도, 보안, 그리고 Web3 핵심 원칙에 대한 의지를 보여주는 가장 중요한 지표 중 하나

Rollup Stage

  1. 완전한 보조 바퀴
    • 신뢰할 수 있는 운영자 팀과 보안 위원회에 크게 의존
    • 오픈 소스 데이터 재구성: 롤업 소프트웨어는 오픈 소스여야 하며, 누구나 L1 체인에 게시된 데이터를 사용하여 롤업의 상태를 재구성할 수 있어야 함.
    • 제한된 사용자 탈출: 원치 않는 업그레이드나 시스템 장애 발생 시, 운영자의 협조와 함께 사용자가 시스템을 빠져나가 자금을 출금할 수 있는 짧은 기간이 주어짐.
  2. 강화된 롤업 거버넌스
    • 보안 위원회는 여전히 존재하지만, 그 역할은 종종 긴급 버그 수정 등으로 축소
    • 운영 증명 시스템: 완전히 기능하는 탈중앙화된 사기 증명 또는 유효성 증명 시스템을 갖추고 있음.
    • 무허가 사용자 탈출: 롤업 운영자의 허가나 조정 없이 출금할 수 있는 더 긴 기간이 주어짐
  3. 보조 바퀴 제거
    • 완전한 스마트 계약 거버넌스: 롤업은 중앙화된 운영자에 대한 의존 없이 온체인 스마트 계약에 의해 완전히 관리됨.
    • 무허가 증명 시스템: 사기 또는 유효성 증명 시스템은 완전히 무허가형이며, 누구나 체인 검증에 참여할 수 있음.
    • 제한된 보안 위원회: 보안 위원회가 여전히 존재한다면, 그 권한은 온체인에서 판결된 오류를 해결하는 것으로 엄격히 제한됨.
    • 충분한 탈출 기간: 제안된 업그레이드가 실행되기 전에 사용자에게 시스템을 빠져나갈 수 있는 상당한 시간이 제공되어, 변경 사항에 동의하지 않을 경우 자산을 안전하게 출금할 수 있도록 보장
맨 위로