📢 블록체인: 데이터가 저장된 ‘블록’이 ‘체인’으로 연결

[구조의 이해] ‘동일한 거래내역’을 기존 구조와 블록체인 구조를 비교한다면?

  1. 기존의 데이터 구조
INDEX 판매자 구매자 개수 시간
0 파랑불 김민수 3개 1990년 1월 1일 00시 00분 00초
1 김민수 김영수 3개 1990년 1월 2일 01시 02분 03초
2 김영수 박영수 3개 1990년 1월 3일 02시 03분 04초
3 박영수 이미래 3개 1990년 1월 4일 02시 03분 04초
4 이미래 손영호 3개 1990년 1월 5일 02시 03분 04초
5 손영호 수영호 3개 1990년 1월 6일 02시 03분 04초
  1. 블록체인의 데이터 구조

┌───────────────┐ │ 블록1 │ │--------------- │ │ 'INDEX' : 0 │ │ '판매자' : 파이썬 │ │ '구매자' : 김민수 │ │ '개수' : 3개 │ │ '시간' : 1990-01-01 00:00:00 │ └───────────────┘ │ ▼ ┌───────────────┐ │ 블록2 │ │--------------- │ │ 'INDEX' : 1 │ │ '판매자' : 김민수 │ │ '구매자' : 김영수 │ │ '개수' : 3개 │ │ '시간' : 1990-01-01 00:00:00 │ └───────────────┘ │ ▼ ┌───────────────┐ │ 블록3 │ │--------------- │ │ 'INDEX' : 3 │ │ '판매자' : 김영수 │ │ '구매자' : 박명수 │ │ '개수' : 3개 │ │ '시간' : 1990-01-01 00:00:00 │ └───────────────┘

1.파이썬으로 만드는 블록체인

➡️ 여기서 핵심은 ‘previous_block’

previous_block이 chain역할을 함

block1 = {
    'INDEX': 0,
    '판매자': '파이썬',
    '구매자': '김민수',
    '개수': '3개',
    '시간': '2022년 5월 11일 16시 25분 16초',
    'previous_block': None
}

block2 = {
    'INDEX': 1,
    '판매자': '김민수',
    '구매자': '김영수',
    '개수': '3개',
    '시간': '2022년 5월 12일 13시 25분 16초',
    'previous_block': block1
}

block3 = {
    'INDEX': 2,  # 수정: 3 → 2 (순서대로)
    '판매자': '김영수',
    '구매자': '박명수',
    '개수': '3개',
    '시간': '2022년 5월 13일 16시 25분 16초',
    'previous_block': block2
}

block4 = {
    'INDEX': 3,  # 수정: 4 → 3 (순서대로)
    '판매자': '박명수',
    '구매자': '이미래',
    '개수': '3개',
    '시간': '2022년 5월 14일 16시 25분 16초',
    'previous_block': block3
}

block5 = {
    'INDEX': 4,  # 수정: 5 → 4 (순서대로)
    '판매자': '이미래',
    '구매자': '최용수',
    '개수': '3개',
    '시간': '2022년 5월 15일 16시 25분 16초',
    'previous_block': block4
}

block6 = {
    'INDEX': 5,  # 수정: 6 → 5 (순서대로)
    '판매자': '최용수',
    '구매자': '강영희',
    '개수': '3개',
    '시간': '2022년 5월 16일 16시 25분 16초',  # 수정: 공백 추가
    'previous_block': block5
}

➡️ 참고로 비트코인은 75만개의 블록이 생성되어 있으며, 실시간으로 약 10분당 1개의 블록이 생성되고 있음

➡️ 또 이더리움은 150만개 이상의 블록이 생성되어 있으며, 실시간으로 약 12초에 1개씩 블록이 생성되고 있음

✅ 이런 방식으로 블록이 이어진다면 최후 블록의 길이가 너무 길어져서 아무도 블록체인을 쓰지 않을듯..

그래서 필요한 것이 바로 ‘암호해시’

2.블록체인의 핵심: 암호’해시’가 필요한 이유