block chain basic
블록 체인
![]()
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): 여러 오라클로부터 데이터를 수집하고, 이를 집계하여 스마트 계약에 제공하는 네트워크
- 네트워크 내의 여러 독립적인 노드가 현실 세계에서 동일한 데이터를 가져온다. (예: 여러 프리미엄 데이터 소스에서 이더리움 가격을 수집)
- 노드들은 서로 데이터를 교차 검증.
- 합의 프로토콜을 실행하여 하나의 정확한 값에 동의.
- 검증되고 합의된 이 값이 스마트 계약을 위해 온체인에 제출.
- Chain link: 오라클 문제를 해결하기 위한 핵심 인프라를 제공하는 업계 표준의 모듈식 탈중앙화 오라클 네트워크
Smart Contract
- 모든 노드가 동일한 스마트 계약 코드를 실행하여, 동일한 출력을 생성
- EVM을 통해 deterministic하게 실행됨
- 등가성: EVM 등가성을 가진 체인은 모든 면에서 이더리움 메인넷과 똑같이 작동하도록 설계
- 호환성: 내부적으로 이더리움 스마트 계약과 작동하는 방식에서 차이가 있음
- EVM을 통해 deterministic하게 실행됨
Architecture
Consensus Mechanism
- 하나의 공유된 ’진실의 원천’을 만들기 위해 아래 세 가지 주요 과제를 해결해야 함
- 시빌 저항성(Sybil Resistance)으로 조작 방어하기
- 각 노드가 거래 내역에 대해 하나의 “투표권”을 가진다고 볼 수 있는 블록체인에서, 시빌 공격은 치명적인 위협.
- 네트워크를 위협할 만큼 큰 규모로 운영하는 것을 엄청나게 비싸게 만들어서 시빌 공격을 방어
- 작업 증명(PoW): 네트워크 합의에 참여하려면 노드는 막대한 컴퓨팅 파워와 전기를 소모하는 복잡한 수학 퍼즐을 풀어야 한다.
- 지분 증명(PoS): 검증자로 참여하려면 사용자는 네트워크의 기축 암호화폐 상당량을 담보로 예치해야 한다.
- 검증자가 일정 양의 코인을 예치
- 무작위로 선택된 검증자가 블록 제안
- 다른 검증자들이 블록을 검증하고 투표
- 완결성(Finality)으로 영구적 보장하기
- 일단 거래가 확정되어 블록체인에 추가되면, 되돌릴 수 없으며 결코 변경되거나 취소되거나 삭제될 수 없다는 보장
- 블록체인마다 이 보장을 달성하기 위한 규칙과 소요 시간이 다름
- 비트코인에서는 6 컨펌 이후 완결성 보장
- 이더리움에서는 네트워크 전체 예치된 지분의 최소 2/3이 블록을 포함하는 체인을 지지할 때 정당화 되고, 2/3의 검증자가 합의하면 블록이 최종 확정
- 합의 문제(Consensus Problem) 해결하기
- 거래의 올바른 순서, 어떤 거래가 유효하고 어떤 것이 사기인지, 블록체인의 어떤 버전이 유일한 진짜 정본(canonical) 체인인지
- 보통 제일 긴 체인(longest chain)을 진짜 체인으로 간주
- 거래의 올바른 순서, 어떤 거래가 유효하고 어떤 것이 사기인지, 블록체인의 어떤 버전이 유일한 진짜 정본(canonical) 체인인지
블록체인의 취약점
- Sybil Attack
- 공격자가 네트워크에서 다수의 가짜 신원을 만들어, 네트워크의 합의를 조작하거나 방해하는 공격
- 방어 방법: PoW, PoS 등 시빌 저항성 메커니즘 도입
- 51% Attack
- 공격자가 네트워크의 해시 파워 또는 스테이킹된 코인의 51% 이상을 통제하여, 거래를 되돌리거나 이중 지불을 수행하는 공격
- MEV와 샌드위치 공격
- MEV(Maximal Extractable Value): 블록 생산자가 거래 순서를 조작하여 얻을 수 있는 추가 수익
- 샌드위치 공격: 공격자가 피해자의 거래 전후에 자신의 거래를 삽입하여 가격을 조작하고 이익을 얻는 전략
- 클라이언트 소프트웨어 버그
- 리플레이 공격
- 공격자가 이전에 유효했던 거래 데이터를 다른 네트워크에서 재전송하여, 동일한 거래를 두 번 이상 실행하는 공격
- 방어 방법: chain ID, nonce
Hard Fork
- 이더리움에서 프로토콜 업그레이드를 구현하는 데 사용되는 기술적 과정
- 하드 포크가 활성화되면 새로운 규칙이 이전 규칙과 너무 달라져서 더 이상 호환되지 않음.
- 즉, 새로운 소프트웨어로 업데이트하지 않은 노드(블록체인 소프트웨어를 실행하는 컴퓨터)는 새로운 블록과 거래를 검증할 수 없게 됨.
- EIP(Ethereum Improvement Proposal) 작성 및 승인으로 업데이트가 이루어짐
- ERC(Ethereum Request for Comments): 애플리케이션 레벨의 상호작용을 위한 규칙을 만드는 EIP의 필수적인 부분집합으로, 생태계가 번영할 수 있도록 하는 상호운용성을 촉진
- 종류
- 비경합적 하드 포크: 커뮤니티 전체가 제안된 변경 사항이 유익하다는 데 동의하고, 모두가 소프트웨어를 업그레이드하기로 협력한다.
- 경합적 하드 포크: 커뮤니티 내에서 의견이 갈려 일부 노드가 업그레이드를 거부하고 이전 규칙을 계속 따르는 경우
- 개발자가 코드를 작성하지만, 새 소프트웨어를 실행할지 말지 최종적으로 선택하는 것은 노드를 운영하는 수천 명의 개인과 조직. 그들이 업데이트하지 않으면 업그레이드는 실패.
Gas Fee
- 이더리움에서 작업을 실행하는 데 필요한 연산 작업량을 측정하는 단위
- 필요성:
- 검증자에 대한 보상: 가스비는 필수적인 작업을 수행한 대가로 받는 보상이며, 정직하게 참여하고 네트워크를 계속 가동하게 만드는 직접적인 경제적 유인을 제공함.
- 스팸 방지: 모든 연산에 수수료를 요구함으로써, 가스는 스팸 공격 비용을 엄두도 못 낼 만큼 비싸게 만드는 금전적 장벽을 형성하여 네트워크의 제한된 블록 공간을 보호함.
- 각 블록의 공간은 유한함. 더 많은 사용자가 거래를 제출하려고 하면 이 제한된 공간에 대한 수요가 증가하고, 결과적으로 블록에 포함되기 위해 필요한 가격(가스비)이 올라감.
- 변화:
- 래거시 거래(type 0): 최고가 입찰 경매 모델
- 사용자가 gasPrice, gasLimit 설정. 거래를 빨리 포함시키려면 사용자는 다른 사람들이 gasPrice로 얼마를 입찰하고 있는지 추측해야 하고, 이로 인해 비용을 과도하게 지불하거나, 너무 적게 지불하여 사용자 경험에 어려움을 줌.
- EIP-1559 거래(type 2): 기본 수수료 + 팁 모델
- 기본 수수료: 네트워크 혼잡에 따라 자동으로 조정되는 수수료
- 팁: 거래를 우선 처리하도록 채굴자에게 주는 추가 수수료
- 기본 수수료는 소각되어 네트워크에서 영구적으로 제거됨
- 래거시 거래(type 0): 최고가 입찰 경매 모델
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):
- User Operation: 사용자가 서명한 거래 요청
- Entry Point Contract: User Operation을 수신하고 처리하는 스마트 계약
- Bundler: 여러 User Operation을 Alt Mempool에 모아서 Entry Point Contract에 제출하는 역할
- 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
- 완전한 보조 바퀴
- 신뢰할 수 있는 운영자 팀과 보안 위원회에 크게 의존
- 오픈 소스 데이터 재구성: 롤업 소프트웨어는 오픈 소스여야 하며, 누구나 L1 체인에 게시된 데이터를 사용하여 롤업의 상태를 재구성할 수 있어야 함.
- 제한된 사용자 탈출: 원치 않는 업그레이드나 시스템 장애 발생 시, 운영자의 협조와 함께 사용자가 시스템을 빠져나가 자금을 출금할 수 있는 짧은 기간이 주어짐.
- 강화된 롤업 거버넌스
- 보안 위원회는 여전히 존재하지만, 그 역할은 종종 긴급 버그 수정 등으로 축소
- 운영 증명 시스템: 완전히 기능하는 탈중앙화된 사기 증명 또는 유효성 증명 시스템을 갖추고 있음.
- 무허가 사용자 탈출: 롤업 운영자의 허가나 조정 없이 출금할 수 있는 더 긴 기간이 주어짐
- 보조 바퀴 제거
- 완전한 스마트 계약 거버넌스: 롤업은 중앙화된 운영자에 대한 의존 없이 온체인 스마트 계약에 의해 완전히 관리됨.
- 무허가 증명 시스템: 사기 또는 유효성 증명 시스템은 완전히 무허가형이며, 누구나 체인 검증에 참여할 수 있음.
- 제한된 보안 위원회: 보안 위원회가 여전히 존재한다면, 그 권한은 온체인에서 판결된 오류를 해결하는 것으로 엄격히 제한됨.
- 충분한 탈출 기간: 제안된 업그레이드가 실행되기 전에 사용자에게 시스템을 빠져나갈 수 있는 상당한 시간이 제공되어, 변경 사항에 동의하지 않을 경우 자산을 안전하게 출금할 수 있도록 보장