블록체인 작동 원리#
이 문서에서는 블록체인의 프로세스와 기술 자체를 알기 쉬운 데모를 통해 설명합니다.
1. 해시 함수의 이해#
해시는 모든 데이터를 식별하는 고유한 고정 길이 문자열입니다. 데이터를 해시 함수에 입력하면 해시가 생성됩니다. 여기서 사용하는 해시 알고리즘은 SHA-256입니다.
해시 함수의 작동 방식#
- 문자를 숫자로 변환
- 숫자를 고정 길이 "문자열" 또는 "해시"로 변환
- 예: "Patrick Collins"는
7e5b5a1a6b80e2908b534dd5728a998173d502469c37121dd63fca283068077c로 변환됨
중요: 이더리움은 SHA-256과 정확히 같지는 않지만 SHA 계열에 속하는 자체 해시 알고리즘(Keccak256)을 사용합니다.
입력 데이터의 양에 관계없이 생성되는 해시 문자열의 길이는 항상 일정합니다.
2. 블록의 이해#
블록체인은 "블록"들의 집합입니다.
블록의 구성 요소#
- 블록 번호(Block): 블록의 순서
- 논스(Nonce): 채굴을 통해 찾아낸 값
- 데이터(Data): 블록에 저장된 정보
이 세 가지가 해시 알고리즘을 통과하여 해당 블록의 해시를 생성합니다. 데이터에 작은 변화만 있어도 완전히 다른 해시가 생성되어 블록이 무효화됩니다.
채굴(Mining)이란?#
채굴은 특정 패턴(예: 4개의 0으로 시작)을 따르는 해시를 생성하는 허용 가능한 값을 찾기 위한 계산적 시행착오 과정입니다. 이 기준을 만족하는 값을 **논스(nonce)**라고 합니다.
채굴자가 해결해야 하는 문제나 기준은 블록체인마다 다르지만 개념은 동일합니다.
3. 블록체인의 본질적 아름다움: 불변성#
블록체인은 본질적으로 블록들의 연속체입니다. 각 블록은 다음으로 구성됩니다:
- 블록 번호
- 논스
- 데이터
- 이전 블록의 해시
불변성의 의미#
체인의 어떤 블록에서든 데이터를 변경하면, 다시 계산(재채굴)할 때까지 이후의 모든 블록이 무효화됩니다.
제네시스 블록(Genesis Block): 블록체인의 첫 번째 블록입니다.
4. 탈중앙화된 분산#
단일 주체가 블록체인을 통제한다면, 원하는 데이터를 변경하고 후속 블록을 재채굴하거나 재검증할 수 있습니다. 이는 좋지 않습니다.
탈중앙화 분산의 도입#
블록체인의 힘의 핵심은 탈중앙화 또는 분산된 특성에 있습니다.
- 여러 주체 또는 "피어(peer)"가 블록체인 기술을 실행합니다
- 각 피어는 동등한 비중과 권한을 가집니다
- 서로 다른 피어들이 실행하는 블록체인 간에 차이가 있을 경우(변조 등으로 인해), 네트워크의 다수가 동의하는 다수 해시가 승리합니다
- 다수와 동의하지 않는 노드는 효과적으로 네트워크를 포크(fork)하여 자체 히스토리를 계속 유지합니다
5. 블록체인과 트랜잭션의 상호작용#
지금까지는 블록에 전달되는 데이터를 임의의 텍스트 문자열로 간주했지만, 실제로 이 데이터는 무엇이든 될 수 있습니다.
토큰 및 코인베이스 섹션의 데모에서 각 블록이 여러 트랜잭션으로 구성되고, 이들이 모두 함께 해시된다는 것을 볼 수 있습니다. 이러한 트랜잭션 중 하나라도 편집하면 체인이 무효화됩니다!
요약#
블록체인을 이해하는 핵심은 해시 개념입니다:
- 원본 데이터와 본질적으로 연결된 고유한 고정 길이 문자열
- 탈중앙화의 중요성
- 불변성 개념이 시스템 보안에 기여하는 방식
모든 트랜잭션, 블록, 그리고 전체 블록체인은 해시의 개념을 이해하는 것에서 시작됩니다.