0Pricing
Cryptology Academy · 강의

해시 체인과 블록 연결

불변성을 이해하기 위해 해시 포인터를 사용하는 최소 블록체인을 구축합니다.

해시 체인과 블록 연결은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

해시 체인이란 무엇인가

해시 체인은 각 블록이 이전 블록의 해시를 포함하도록 데이터 블록을 연결합니다. 어느 블록이든 수정하면 해당 블록의 해시가 변경되어 이후의 모든 블록이 무효화됩니다. 이렇게 하면 변조 여부를 확인할 수 있고 추가만 가능한 원장이 만들어집니다.

블록 구조

각 블록에는 다음이 포함됩니다: (1) 데이터 페이로드(거래), (2) 이전 블록 해시(이전 블록을 가리키는 포인터), (3) 타임스탬프, (4) 논스(PoW용), (5) 거래의 Merkle 루트입니다. 첫 번째 블록(제네시스 블록)의 previous_hash = "0"*64입니다.

Python 최소 블록체인

import hashlib, json class Block: def __init__(self, data, prev_hash): self.data = data self.prev_hash = prev_hash self.hash = hashlib.sha256( json.dumps({'data':data,'prev':prev_hash}).encode() ).hexdigest()

해시 포인터가 무결성을 보장하는 이유

공격자가 블록 3의 데이터를 수정하면 블록 3의 해시가 변경됩니다. 블록 4는 블록 3의 이전 해시를 참조하므로 블록 4에서 체인이 끊어집니다. 공격자는 블록 3, 4, 5, ...부터 끝 블록까지 모든 해시를 다시 계산해야 합니다. PoW를 사용하면 이는 계산상 실행하기 어렵습니다.

불변성과 변조 증거

해시 체인은 그 자체로 불변성을 제공하는 것이 아니라 변조 증거를 제공합니다. 추가 메커니즘(PoW, 디지털 서명, 분산)이 없으면 체인을 제어하는 공격자가 체인을 다시 작성할 수 있습니다. 실제로 블록체인을 변조에 강하게 만드는 것은 분산 합의입니다.

최장 체인 규칙

Bitcoin의 최장 체인 규칙에서는 누적 작업 증명이 가장 큰 유효 체인을 정본으로 간주합니다. 공격자가 체인을 분기하면 정직한 채굴자들이 정직한 체인을 더 빠르게 확장합니다(51% 가정). 공격자의 분기는 더 짧으므로 폐기됩니다.

헤더와 전체 블록 비교

Bitcoin의 SPV(단순 결제 검증) 클라이언트는 80바이트 블록 헤더(previous hash, Merkle root, nonce, timestamp, bits를 포함)만 다운로드합니다. 전체 노드는 모든 거래를 저장합니다. SPV 클라이언트는 헤더의 Merkle root에 대한 Merkle 증명을 사용해 거래를 검증합니다.

제네시스 블록

Bitcoin의 제네시스 블록(블록 0, 2009년 1월 3일)의 prev_hash = 0x000...0입니다. Satoshi는 타임스탬프의 증거로 코인베이스 거래에 "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"라는 헤드라인을 삽입했습니다.

보관 연쇄

해시 체인은 블록체인보다 먼저 사용되었습니다. 용도: 인증서 폐기 목록(해시로 연결), 로그 무결성(이전 로그 항목의 해시), DNSSEC 신뢰 사슬입니다. 이 개념은 일반화할 수 있습니다. 즉, 각 항목이 이전의 모든 항목에 대한 커밋을 포함하는 추가 전용 구조입니다.

체크포인트 설정

초기 동기화를 빠르게 하기 위해 Bitcoin Core는 체크포인트를 하드코딩합니다. 체크포인트는 특정 높이에서 유효성이 알려진 블록 해시입니다. 동기화를 시작하는 클라이언트는 하드코딩된 해시를 신뢰하여 체크포인트 이전 블록의 PoW 검증을 건너뛸 수 있습니다. 단점은 신뢰 최소화 수준이 낮아진다는 것입니다.

콘텐츠 주소 지정

Git도 같은 원리를 사용합니다. 각 커밋은 콘텐츠와 부모 커밋 해시의 SHA-1/SHA-256으로 식별됩니다. 특정 커밋 해시를 체크아웃하면 정확히 그 상태가 복원됩니다. Git의 전체 이력은 객체로 이루어진 해시 연결 트리입니다.

빠른 확인

공격자가 블록 하나를 수정한 후 그 이후의 모든 블록 해시를 다시 계산해야 하는 이유는 무엇입니까?

복습

해시 체인은 암호학적 포인터를 통해 블록을 연결합니다. 수정 사항은 이후의 모든 블록으로 연쇄적으로 전파됩니다. PoW 및 분산 합의와 결합하면 실제로 블록체인을 불변하게 만들 수 있습니다. 다음 주제: 효율적인 거래 무결성 검증을 위한 Merkle 트리입니다.

자주 묻는 질문

“해시 체인과 블록 연결” 강의는 무료인가요?

네 — “해시 체인과 블록 연결” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“해시 체인과 블록 연결”에서 뭘 배우나요?

불변성을 이해하기 위해 해시 포인터를 사용하는 최소 블록체인을 구축합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“해시 체인과 블록 연결” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 해시 체인과 블록 연결
  2. Merkle 트리: 대규모 트랜잭션 무결성
  3. 작업 증명: 채굴과 난이도 조정
  4. Bitcoin Script와 UTXO 서명 검증
← Cryptology Academy(으)로 돌아가기