블록체인 핵심 개념 정리
블록체인은 탈중앙화된 분산 원장 기술로서, 암호학적 기법과 합의 메커니즘을 통해 데이터의 무결성과 불변성을 보장한다.
1. 블록체인 기본 작동 원리
- 블록 (Block): 트랜잭션 데이터를 담는 단위. 이전 블록의 해시를 포함하여 체인처럼 연결됨.
- 트랜잭션 (Transaction): 블록체인 상에서 발생하는 모든 유효한 기록 (예: 코인 전송, 스마트 컨트랙트 호출).
- 트랜잭션 풀 (Mempool): 네트워크에 전파되었지만 아직 블록에 포함되지 않은 미확정 트랜잭션들의 대기 공간.
- 트랜잭션 실행 시점: 트랜잭션이 블록에 포함되어 네트워크에 추가되고 모든 노드에 의해 검증 및 확정(Confirmed/Finalized)되었을 때 스마트 컨트랙트가 실행되며 그 결과가 블록체인 상태에 기록됨.
- 컨펌 (Confirmation / Confirmations): 트랜잭션이 블록에 포함된 후, 그 블록 위에 새로운 블록이 추가될 때마다 증가하는 수치. 컨펌 수가 많아질수록 트랜잭션의 보안성과 최종성(Finality)이 강화되며, 이중 지불 공격 위험이 현저히 감소.
- 확정성 (Finality): 특정 블록의 내용이 더 이상 되돌려지거나 변경될 수 없음을 보장하는 수준. PoW는 확률적 확정성, PoS/BFT는 즉각적 확정성을 제공.
- 블록 재조직 (Reorganization, Reorg): PoW 블록체인에서 두 개 이상의 유효한 블록이 동시에 발견되어 체인이 잠시 분기했다가, 더 긴 체인이 선택되면서 짧은 체인에 포함된 트랜잭션이 일시적으로 멤풀로 되돌아가는 현상. 컨펌 수가 적을 때 발생 가능성 높음.
- 하드 포크 (Hard Fork): 기존 프로토콜과 호환되지 않는 새로운 규칙을 도입하여 완전히 새로운 블록체인을 생성하는 방식. 대규모 해킹이나 심각한 버그 발생 시 커뮤니티 합의를 통해 특정 시점으로 되돌아간 '새로운 체인'을 만들 수 있으며, 이는 사실상의 '롤백' 효과를 가짐.
2. 블록체인 합의 알고리즘
- 작업 증명 (Proof of Work, PoW):
- 방식: 채굴자들이 복잡한 연산 문제 해결 (해시 퍼즐) 경쟁을 통해 블록 생성 권한 획득.
- 특징: 높은 보안성과 탈중앙화, 비트코인 적용. 에너지 소모가 큼.
- 지분 증명 (Proof of Stake, PoS):
- 방식: 검증자들이 보유하고 예치(Staking)한 암호화폐 지분량에 비례하여 블록 생성 및 검증 권한 획득.
- 특징: 에너지 효율성 높음, 이더리움 및 코스모스 적용.
- 코스모스 PoS: Tendermint Core 엔진 기반. 검증자는 ATOM 토큰을 스테이킹하고, 일반 토큰 보유자는 검증자에게 위임(Delegation)하여 네트워크 보안에 기여하고 보상 공유. 악의적 행위 시 지분 몰수(Slashing) 메커니즘.
- 위임 지분 증명 (Delegated Proof of Stake, DPoS):
- 방식: 토큰 보유자들이 투표로 소수의 '대표자'를 선출하고, 이 대표자들이 블록 생성 및 검증 수행.
- 특징: 빠른 처리량 가능, 중앙화 위험성.
3. 암호화폐 소유권 및 거래 보안
- 개인키 (Private Key):
- 정의: 블록체인 주소의 소유권을 암호학적으로 증명하고 트랜잭션을 서명하는 비밀 정보. 유출 시 해당 주소의 모든 자산 탈취 위험.
- 시드 문구 (Seed Phrase): 여러 개인키를 파생하고 복구할 수 있는 '마스터 키' 역할. 단어 목록 형태로 백업이 용이하나, 유출 시 모든 연결 자산에 대한 접근 권한 상실.
- 디지털 서명 (Digital Signature):
- 정의: 개인키로 메시지의 해시 값을 암호화하여 송신자의 신원(개인키 소유자)과 데이터의 무결성을 증명하는 암호학적 기술. 블록체인 거래의 신뢰성, 부인 방지 보장.
- 메타마스크 (MetaMask):
- 정의: 이더리움 및 EVM 호환 블록체인에서 개인키를 안전하게 관리하고 DApp과 상호작용을 돕는 소프트웨어 지갑. 사용자의 시드 문구를 바탕으로 개인키를 생성하고 암호화하여 보관. 사용자 설정을 통해 다양한 EVM 호환 네트워크에 연결 가능.
- 이더리움 서명 표준:
- EIP-191 (Signed Data Standard): 메시지 서명 시 데이터 앞에 특정 프리픽스를 추가하여, 유효한 트랜잭션과의 혼동을 방지하고 리플레이 공격을 막는 표준.
- EIP-712 (Typed Structured Data Hashing and Signing): EIP-191을 확장하여, 복잡한 데이터를 구조화된 형태로 정의하고 서명함으로써 지갑이 사용자에게 서명 내용을 가독성 있게 표시하도록 지원. 피싱 공격 방지 및 사용자 투명성 향상.
4. 스마트 컨트랙트 개발 및 데이터 관리
- Solidity (솔리디티):
- 정의: 이더리움 EVM(Ethereum Virtual Machine) 기반 블록체인에서 스마트 컨트랙트를 작성하기 위해 특별히 설계된 고수준 프로그래밍 언어.
- 특징: 컴파일 언어, 정적 타입 언어. 블록체인 환경에 특화된 내장 함수 및 변수 보유.
- 가스 (Gas):
- 정의: 블록체인에서 트랜잭션 및 스마트 컨트랙트 연산을 수행하는 데 필요한 '계산 비용'의 추상적인 측정 단위.
- 수수료 산정: 실제 지불하는 수수료는
사용된 가스량 × 가스 가격
으로 결정. 네트워크 혼잡도에 따라 가스 가격 변동.
- 환경 문제와 구분: 가스는 추상적인 연산 비용 단위일 뿐, 실제 이산화탄소 배출량과는 무관. 에너지 소모는 주로 PoW 블록체인 채굴 방식에서 발생하는 이슈.
- 스마트 컨트랙트 데이터 저장 공간:
- 스토리지 (Storage): 스마트 컨트랙트의 영구적인 데이터 저장 공간. 블록체인 상태의 일부로 모든 노드에 복제되며, 가장 높은 가스 비용 소모.
- 메모리 (Memory): 스마트 컨트랙트 실행 중 임시로 사용되는 휘발성 저장 공간. 트랜잭션 완료 후 데이터 소멸. 스토리지보다 저렴.
- 칼데이터 (Calldata): 외부 함수 호출 시 입력으로 전달되는 읽기 전용의 임시 데이터 저장 공간. 메모리보다 저렴.
- 블롭 (Blob): 이더리움 EIP-4844(Proto-Danksharding)를 통해 도입된 새로운 단기 임시 저장 공간. 주로 레이어2 롤업의 대량 트랜잭션 데이터를 이더리움 메인넷에 저렴하게 게시하여 데이터 가용성을 보장하는 데 사용. 일정 기간 후 자동 삭제되며, 가장 낮은 가스 비용 소모.
5. 블록체인 기술의 확장 및 응용
- 블록체인 스택 (Web3 Stack): 탈중앙화 애플리케이션(dApp)의 구성을 설명하는 개념적 계층 모델. 애플리케이션, 스마트 컨트랙트/미들웨어, 데이터 가용성/확장성(레이어2, 블롭 포함), 합의, 네트워크, 하드웨어 계층 등으로 구성. OSI 7계층과 같은 네트워크 통신 모델과는 다른 개념.
- 엔디안 (Endianness): 컴퓨터 시스템이 메모리나 네트워크를 통해 데이터를 저장하거나 전송할 때 바이트의 순서를 결정하는 방식. 비트코인의 경우, 해시 값의 내부 계산 순서(빅 엔디안)와 외부 표시 순서(리틀 엔디안)가 달라 변환 과정이 필요할 수 있음.
- 탈중앙화 신원 (Decentralized Identity, DID): 사용자가 자신의 신원 정보를 스스로 통제하고 관리하며, 필요할 때 블록체인을 통해 그 진위 여부를 증명할 수 있도록 하는 기술.
- 증표 토큰 (Proof Token / Attestation Token):
- 개념: 특정 사실, 권리, 자격 등을 '증명'하는 데 사용되는 블록체인 기반 토큰.
- 유형: NFT(고유 자산 소유권 증명), 소울바운드 토큰(SBT: 학위, 자격증 등 양도 불가능한 자격 증명), 검증 가능한 자격 증명(VC: W3C 표준 디지털 자격 증명) 등이 포함.