스킬캠퍼스

오늘 끝나면

비트코인

  • 비트코인의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 비트코인이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

작업증명·채굴·이중지불 막기 — 중앙은행 없는 돈 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

암호 & 보안 · 15

비트코인
작업증명

중앙은행 없이 합의하는 돈이다. 해시 퍼즐을 먼저 푼 사람이 장부에 기록한다. 이게 채굴이다.

P.01암호 & 보안 · 15

누가 장부에 적을지 정해야 한다

돈은 결국 장부다. 누가 누구한테 얼마 보냈다, 이걸 적는 공책이다.

은행은 그 공책을 혼자 쥔 기관이다. 비트코인은 그 은행이 없다.

장부가 모두한테 뿌려져 있다. 그러면 누가 새 거래를 적을 권한을 가지는가가 문제다. 아무나 막 적으면 가짜 거래가 넘쳐난다. 그래서 기록할 사람을 고르는 규칙이 필요하다.

비트코인의 답이 작업증명이다. 해시 퍼즐을 먼저 푼 사람이 이번 기록권을 가진다.

중앙은행이 빠진 자리, 누가 기록하나
장부를 누가 적나
은행 방식

은행 한 곳이 장부를 쥐고 혼자 기록한다

비트코인 방식

장부가 모두한테 있다. 그런데 누가 적나

답은 해시 퍼즐을 먼저 푼 사람이 이번 기록권을 가진다
P.02암호 & 보안 · 15

해시 퍼즐: 논스를 먼저 찾기

블록(거래 묶음)에 논스라는 숫자를 하나 붙여 해시를 뽑는다.

해시가 0이 N개로 시작하게 만드는 논스를 찾아야 한다. 이게 퍼즐이다.

해시는 입력이 1만 바뀌어도 결과가 딴판이 된다. 그래서 어떤 논스가 맞을지미리 알 수가 없다.

방법은 하나뿐이다. 논스를 0,1,2,3 순서로 무식하게 다 넣어본다.

먼저 맞는 논스를 찾은 사람이 이번 블록을 장부에 적는다. 이 찾기 과정이 채굴이다.

논스를 0,1,2… 바꿔가며 조건 맞는 해시 찾기
목표: 해시가 00… 으로 시작
논스해시맞음?
0a3f1…
17b2c…
2c901…
843100d4…찾음!

논스를 다 넣어보다 처음 맞는 걸 찾으면 채굴 성공이다

P.03암호 & 보안 · 15

직접 캐보자, 채굴 시뮬

오른쪽에서 직접 캐본다. 논스를 0부터 1씩 올리며 해시를 다시 뽑다가, 조건(0이 N개로 시작)을 만족하는 논스를 먼저 찾으면 멈춘다.

몇 번 시도했고 몇 ms 걸렸는지 카운트로 보여준다.

난이도(앞자리 0 개수)를 1만 올리면 시도 횟수가 평균 16배씩 폭증한다. 찾기는 점점 어려워진다.

논스 1씩 올리며 해시 계산, 조건 맞으면 멈춤
채굴 시뮬레이터 · 직접 캐본다
블록 데이터, 장부에 적을 거래
난이도, 해시 앞자리 0 개수2
목표: 해시가 00… 로 시작해야 한다
출력, 찾은 결과

[채굴 시작]을 누르면 논스를 0부터 1씩 올리며 해시를 계속 다시 뽑는다. 조건 맞는 논스를 먼저 찾으면 멈춘다.

P.04암호 & 보안 · 15

찾기는 어렵고, 검증은 즉시

작업증명의 핵심은 비대칭이다. 찾기는 수백만 번 굴려야 하지만, 확인은 단 한 번이면 된다.

자물쇠 비번 찾기와 같다. 직접 풀려면 수없이 돌려야 하지만, 정답을 받으면 한 번 넣어보고 딸깍 끝난다.

채굴자가 찾은 논스 하나만 받으면 모두가 해시 한 번으로 검증한다.

그래서 거짓말을 못 한다. 기록권을 얻으려면 계산 비용을 치렀다는 증거(=논스)를 내야 한다. 그게 “작업”을 “증명”한다는 뜻이다.

비대칭 비용, 한 번 풀면 누구나 1번에 확인
찾기와 검증, 비용이 다르다
찾기 (채굴)
또 돌림…
또 돌림…
또 돌림…
또 돌림…
또 돌림…
또 돌림…

수백만 번 굴려야 한다

검증 (확인)
해시 1번

찾은 논스 하나만 넣고
해시 딱 한 번이면 끝난다

누구나 즉시 확인한다

P.05암호 & 보안 · 15

난이도가 오르면 조작 비용도 폭증

난이도가 오르면 시도 횟수가 폭증한다. 0 한 자리 더 요구하면 평균 16배 더 굴려야 한다.

블록들은 사슬로 엮여 있다. 과거 한 블록을 고치면 그 뒤 모든 블록의 해시가 깨진다.

그걸 다시 맞추려면 그 블록부터 끝까지 전부 다시 채굴해야 한다. 그것도 전 세계 채굴자보다 빨리 해야 한다. 사실상 불가능하다.

이 막대한 비용이 곧 보안이다. 과거를 못 바꾸니 이중지불도 못 한다. 한 코인을 두 번 못 쓴다.

Q. 작업증명에서 채굴이 일부러 어렵게 설계된 이유는?기록에 비용을 들게 해서 과거 조작을 비싸게 만들려는 것이다. 한 블록을 고치면 뒤 블록을 전부 다시 캐야 하는데, 난이도 때문에 그 비용이 천문학적이다. 반면 검증은 쉬워서 논스 하나로 모두가 한 번에 확인한다. 어렵게 풀고 쉽게 확인하는 이 비대칭이 비트코인을 지킨다.
난이도 1 오르면 시도 16배, 과거 조작은 비현실적
앞자리 0 개수가 늘면 평균 시도 횟수도 는다
0 1개≈ 16
0 2개≈ 256
0 3개≈ 4,096
0 4개≈ 65,536
0 5개≈ 100만+

0 한 자리 더 요구하면 약 16배 더 굴려야 하고 조작 비용도 같이 폭증한다

3줄 요약

  1. 1작업증명·채굴·이중지불 막기 — 중앙은행 없는 돈
  2. 2비트코인은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

비트코인

작업증명·채굴·이중지불 막기 — 중앙은행 없는 돈

암호를 잠그고 풀 때 쓰는 비밀 또는 공개 숫자

해시

데이터를 고정 길이 지문으로 바꾸는 함수