블록체인
Phase 1: 블록체인 기초 다지기2
senpro
2025. 5. 30. 13:30
728x90
반응형
블록체인은 암호학적 기술을 기반으로 데이터를 안전하게 연결하고, 분산된 참여자 간의 합의를 통해 그 내용을 확정하는 방식으로 작동합니다. 핵심 구성 요소는 암호학 기초, 블록 구조, 합의 메커니즘, 그리고 거래 처리 과정입니다.
암호학 기초 🔑
블록체인의 보안과 신뢰성은 암호학 기술에 크게 의존합니다.
- 해시 함수 (Hash Functions):
- 임의의 길이 데이터를 고정된 길이의 고유한 문자열(해시값)로 변환하는 함수입니다. 마치 데이터의 '디지털 지문'과 같습니다.
- 단방향성이 특징으로, 해시값에서 원본 데이터를 역추적하기는 거의 불가능합니다.
- 데이터가 조금만 변경돼도 해시값이 완전히 달라지므로, 데이터의 무결성 검증에 사용됩니다. (예: SHA-256)
- 공개키-개인키 암호화 방식 (Public-Key Cryptography):
- 쌍으로 이루어진 공개키와 개인키를 사용합니다. 공개키는 누구나 알 수 있지만, 개인키는 소유자만 안전하게 보관해야 합니다.
- 디지털 서명: 개인키로 데이터를 암호화(서명)하면, 해당 공개키로 서명의 유효성을 검증할 수 있습니다. 이를 통해 데이터 작성자의 신원과 데이터의 변경 여부를 확인할 수 있습니다.
- 소유권 증명: 암호화폐 거래 시 개인키를 이용한 서명은 해당 암호화폐의 소유권을 증명하는 역할을 합니다.
- 머클 트리 (Merkle Tree):
- 여러 거래 데이터를 해시하여 두 개씩 짝지어 다시 해시하는 과정을 반복, 최종적으로 하나의 루트 해시값을 만드는 트리 구조입니다.
- 많은 거래 데이터를 효율적으로 요약하고 검증할 수 있게 해줍니다. 특정 거래가 블록에 포함되었는지 확인할 때 전체 거래 데이터를 다운로드할 필요 없이 머클 경로를 통해 빠르게 검증 가능합니다.
블록체인 구조 ⛓️
블록체인은 말 그대로 블록(Block)들이 체인(Chain) 형태로 연결된 구조입니다.
- 블록의 구성:
- 블록 헤더 (Block Header): 블록의 메타데이터를 담고 있습니다.
- 이전 블록 해시 (Previous Block Hash): 바로 앞 블록의 해시값. 이 값을 통해 블록들이 체인으로 연결됩니다.
- 타임스탬프 (Timestamp): 블록이 생성된 시간.
- 논스 (Nonce): 작업증명(PoW) 방식에서 채굴자들이 찾는 특정 값. 해시 목표값(Target)보다 작은 해시값을 만들기 위한 임의의 숫자입니다.
- 머클 루트 (Merkle Root): 해당 블록에 포함된 모든 거래 데이터의 머클 트리 루트 해시값.
- 기타 정보 (버전, 난이도 조절용 비트 등)
- 거래 내역 (Transactions): 해당 블록에 포함되는 실제 거래 데이터들의 묶음.
- 블록 헤더 (Block Header): 블록의 메타데이터를 담고 있습니다.
- 블록 연결 방식:
- 각 블록은 자신의 헤더에 이전 블록의 해시값을 가지고 있습니다. 이 연결고리 때문에 시간 순서대로 블록들이 체인처럼 이어지게 됩니다.
- 하나의 블록 내용이 변경되면 해당 블록의 해시값이 바뀌고, 그 결과로 다음 블록의 '이전 블록 해시' 값과 불일치가 발생하여 체인 연결이 깨지게 됩니다. 이는 데이터 위변조를 어렵게 만듭니다.
합의 메커니즘 (Consensus Mechanisms) 🤝
분산된 네트워크 참여자들이 새로운 블록의 유효성에 대해 동의하고 블록체인에 추가하는 규칙 또는 알고리즘입니다. 이를 통해 네트워크의 일관성과 보안을 유지합니다.
- 작업증명 (Proof of Work, PoW):
- 복잡한 수학적 문제(주로 해시 목표값보다 작은 해시값을 찾는 것)를 해결한 노드에게 새로운 블록을 생성할 권한을 부여합니다. 이 과정을 '채굴(Mining)'이라고 합니다.
- 가장 많은 연산력(해시 파워)을 투입한 쪽이 블록 생성 확률이 높아지므로, 네트워크를 공격하려면 전체 네트워크 연산력의 과반수를 확보해야 해 보안성이 높습니다.
- 예시: 비트코인, 초기 이더리움
- 단점: 막대한 에너지 소모, 상대적으로 느린 처리 속도.
- 지분증명 (Proof of Stake, PoS):
- 해당 암호화폐를 더 많이, 더 오래 보유한(스테이킹한) 노드에게 블록 생성 권한을 더 많이 부여합니다.
- PoW에 비해 에너지 효율적이며, 처리 속도도 빠를 수 있습니다.
- 예시: 현재 이더리움, 카르다노, 솔라나
- 고려사항: 부의 집중화 가능성.
- 위임지분증명 (Delegated Proof of Stake, DPoS):
- 암호화폐 보유자들이 투표를 통해 소수의 대표(블록 생산자)를 선출하고, 이 대표들이 합의 과정에 참여하여 블록을 생성합니다.
- PoS보다 더 빠른 거래 처리 속도와 효율성을 목표로 합니다.
- 예시: EOS, 트론
- 고려사항: 소수 대표에 의한 중앙화 가능성.
- 기타 합의 방식 개요:
- 권위증명 (Proof of Authority, PoA): 사전에 허가된 소수의 검증인(Validator)들이 블록을 생성하고 검증합니다. 주로 프라이빗 또는 컨소시엄 블록체인에서 사용됩니다.
- 경과시간증명 (Proof of Elapsed Time, PoET): 인텔 SGX와 같은 신뢰 실행 환경(TEE)을 활용하여 무작위로 리더를 선출해 블록을 생성합니다.
- 역사증명 (Proof of History, PoH): 솔라나에서 사용하는 방식으로, 트랜잭션 발생 순서를 암호학적으로 증명하여 합의 과정의 효율성을 높입니다.
거래(트랜잭션) 처리 과정 🔄
블록체인에서 하나의 거래가 생성되고 최종적으로 확정되기까지의 일반적인 과정입니다.
- 생성 (Creation): 사용자가 암호화폐 지갑 등을 이용해 거래(예: A가 B에게 1 BTC 전송)를 생성하고 개인키로 디지털 서명합니다.
- 전파 (Propagation/Broadcasting): 생성된 거래는 해당 블록체인 네트워크에 연결된 주변 노드들에게 전파됩니다.
- 검증 (Verification): 각 노드(특히 채굴자 또는 검증인 노드)는 전파받은 거래의 유효성(서명의 유효성, 잔액 유무 등)을 검증하고, 유효한 거래들을 모아 메모리 풀(Mempool) 등에 저장합니다.
- 블록 포함 (Inclusion in a Block): 합의 메커니즘에 따라 블록 생성자로 선정된 노드는 검증된 거래들 중 일부(수수료, 우선순위 등에 따라)를 선택하여 새로운 블록에 포함시키고, 해당 블록을 네트워크에 전파합니다.
- 최종 확정 (Finality): 새로운 블록이 네트워크의 다른 노드들에게 전파되고 검증을 거쳐 기존 블록체인에 연결됩니다. 이후 몇 개의 블록이 더 쌓이면(블록체인마다 기준이 다름) 해당 거래는 비로소 되돌리기 어려운 상태, 즉 최종적으로 확정된 것으로 간주합니다.
728x90
반응형