비트코인의 원리 PART 5-3: 블록체인 원리

안녕하세요 여러분. 참새입니다.

비트코인의 채굴자가 아니라면 다른 사람들의 거래 기록들 (블록체인에 추가되기 전의 거래 기록들)을 들을 필요가 없습니다. 인증된 거래 기록들을 블록에 추가하고 블록을 블록체인에 추가하는 일은 채굴자들이 하는 것이니까요.

비트코인을 단순히 결제 시스템으로 사용하는 채굴자가 아닌 일반 유저들은 채굴자들이 블록체인에 업데이트하는 블록들의 기록들만 전달받으면 됩니다 ^^ 다시 말해서, 모두가 인정하는 블록체인에 정식으로 업데이트 되는 인증된 블록들의 상황만 알 수 있으면 되죠.

그런데, 블록체인은 수 많은 채굴자들에 의해서 동.시.에. 업데이트 되기 때문에 특이한 상황이 생길 때가 있습니다.

만약에, A라는 채굴자와 B라는 채굴자가 서로 다른 블록체인 (블록체인 끝부분의 블록의 기록이 다른 블록체인 두 개)을 유저들에게 전달하면 어떻게 될까요?

이 경우에, A버전의 블록체인과 B버전의 블록체인이 생기게 되는데요, 이런 경우에는 ‘블록체인의 길이가 더 긴 블록체인’을 채택하게 됩니다. 블록체인의 길이가 더 길다는 말은 인증된 블록들이 더 ‘많다’라는 의미고, 블록의 개수가 더 많다는 의미는 ‘더 많은 컴퓨터 작업’이 투입되었다는 말이니까 결과적으로는 “더 많은 컴퓨터 작업이 투입된 블록체인을 채택하자!”가 됩니다.

저번에도 다뤘듯이, 비트코인 생태계에서는 ‘더 많은 컴퓨터 작업’이 투입된 것을 채택하는 일종의 규칙이 존재합니다. 여러 개의 블록체인들이 존재하게 되는 경우에는, 똑같은 규칙을 따라서, 더 많은 컴퓨터 작업이 투입된 비트코인 블록체인이 살아남게 됩니다 ^^

만약에, A버전의 블록체인과 B버전의 블록체인의 길이가 똑.같.다.면. 어떻게 될까요?

이 경우에는, 시간을 두고 기다렸다가 더 빨리 블록이 추가되어서 더 길어진 블록체인을 채택하면 됩니다 ^^ 결론은, 더 긴 블록체인이 언제나 살아남게 됩니다 ㅎㅎ

이렇듯, 블록체인의 생태계에서는 특정 중앙 권한/기관 (예. 은행, 정부)을 신뢰할 필요없이 ‘더 많은 컴퓨터 작업이 투입된 블록체인’을 채택하는 방식으로 ‘탈중앙화 방식으로의 합의’를 이룰 수 있습니다. 은행이 어떤 기록이 옳고 틀린지 결정하는 것이 아니라, 더 많은 컴퓨터 작업이 투입된 기록들을 ‘신뢰할 수 있는 기록’이라고 칭하는 것이죠. 이러한 개념이 바로 가상화폐에 쓰이는 블록체인 기술이 새로운 방법으로 ‘중앙 권력을 신뢰할 필요없는 신뢰’를 구축하는 방법입니다.

이제 여태까지 나온 개념들을 통해서 비트코인 기록을 조작하기가 왜 힘든지 알아보도록 하겠습니다 ^^

예를 들어보겠습니다. 앨리스 (Alice)가 밥 (Bob)한테 사기를 치려고 “앨리스가 밥한테 비트코인 100개를 보냄.”이라는 기록을 블록체인에 인증된 기록으로 추가하려고 합니다.

이 경우에, 앨리스는 다른 채굴자들과 ‘다른’ 블록체인을 구축해야 합니다. 왜냐하면 앨리스가 포함시키려고 하는 조작된 거래 기록을 인증된 거래 기록으로 블록체인에 추가하려면 앨리스의 거래 기록을 살아남게 만들어야 하니까요. 즉, 앨리스의 블록체인 vs. 다른 채굴자들의 블록체인의 경쟁이 시작되죠. 누가 더 빨리 마법의 숫자들을 찾아서 블록들을 블록체인에 추가해서 더 긴 블록체인을 구축할 수 있는지 경쟁하는 것과 같죠!

앨리스의 블록체인이 살아남으려면 앨리스의 블록체인의 길이가 남들의 블록체인 길이보다 더 길어야 합니다. 당연히 블록체인의 길이를 늘리려면 마법의 숫자를 찾아서 블록을 인증한 다음에 블록체인에 추가해야 되겠지요? 앨리스가 정말 우연히 마법의 숫자를 빨리 찾아서 다른 모든 채굴자들보다 먼저 앨리스의 블록체인의 길이를 늘릴 수 있을 수도 있습니다! 가능한 시나리오입니다.

하지만, 확률적으로 앨리스 혼자서 마법의 숫자를 찾는 속도가 다른 모든 채굴자들이 함께 마법의 숫자를 찾는 속도보다 빠르기는 힘듭니다 ^^;; 확률적으로 비트코인 생태계에서 작동하고 있는 모든 컴퓨터 자원의 50% 이상이 있어야지만 자기가 원하는 거래 기록을 마음대로 조작해서 ‘인증된 거래 기록’으로서 살아남는 블록체인에 추가할 수 있을 겁니다. ‘50% 공격’이라고 들어보신 적 있으신가요? 바로 이러한 시나리오에서 나온 단어입니다! ㅎㅎ

결과적으로, 전체의 50% 이상의 컴퓨터 자원을 가지고 있지 않는 이상, 비트코인 거래 기록을 조작하는 것을 불.가.능.합니다. 그러므로 50% 공격이 이론상 가능하긴 하지만 현실적으로는 불가능합니다. (그러니까 너무 걱정하지 마세요 ^^)

가상화폐 거래소가 해킹당할 수는 있어도 비트코인 블록체인 자체가 해킹당할 수는 없다는 말이 이제 이해가셨나요? ㅎㅎ 이해하시는데 도움이 되었으면 좋겠습니다.

다음 포스팅에서 뵐게요 ~

참조링크

제 포스팅이 유익하였다면 보팅 , 리스팀, 팔로잉 부탁드립니다 ^^

인터넷의 원리 PART.1: 인터넷이란 무엇인가?
@kim066/part-1
인터넷의 원리 PART 2: 와이어, 케이블, 그리고 와이파이 (Wifi) - 1
@kim066/part-2-wifi-1
인터넷의 원리 PART 3: 와이어, 케이블, 그리고 와이파이 (Wifi) - 2
@kim066/part-3-wifi-3
인터넷의 원리 PART 4: IP 주소 & DNS – (1)
@kim066/part-4-ip-and-dns-1
인터넷의 원리 PART 5: IP 주소 & DNS – (2)
@kim066/part-5-ip-and-dns-2
인터넷의 원리 PART 6: IP 주소 & DNS – (3)
@kim066/part-6-ip-and-dns-3
인터넷의 원리 PART 7: 패킷, 라우팅, 그리고 신뢰성 – (1)
@kim066/part-7-1
인터넷의 원리 PART 8: 패킷, 라우팅, 그리고 신뢰성 – (2)
@kim066/part-8-2
인터넷의 원리 PART 9: TCP/IP와 UDP/IP (번외편)
@kim066/part-9-tcp-ip-udp-ip
인터넷의 원리 PART 10: 암호화와 공개 키– (1)
@kim066/part-9-1
인터넷의 원리 PART 11: 암호화와 공개 키– (2)
@kim066/part-11-2
인터넷의 원리 PART 12: 사이버 보안과 사이버 범죄 – (1)
@kim066/part-12-1

비트코인의 원리 PART 1: 가상화폐란?
@kim066/4urqt9-part-1
비트코인의 원리 PART 2: 전자서명이란? (1)
@kim066/part-2-1
비트코인의 원리 PART 3: 비트코인의 기본적 정의
@kim066/part-3
비트코인의 원리 PART 4-1: 해쉬 함수와 작업 증명 방식의 원리
@kim066/part-4-1
비트코인의 원리 PART 4-2: 해쉬 함수와 작업 증명 방식의 원리
@kim066/part-4-2
비트코인의 원리 PART 5-1: 블록체인 원리
@kim066/part-5-1
비트코인의 원리 PART 5-2: 블록체인 원리
@kim066/part-5-2

H2
H3
H4
3 columns
2 columns
1 column
5 Comments