[가상화폐] 비트코인의 원리 PART 5-3: 블록체인 원리

image.png

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

image.png

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

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

image.png

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

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

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

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

image.png

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

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

image.png

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

image.png

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

image.png

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

image.png

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

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

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

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

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

다음 포스팅에서 뵐게요 ~

참조링크

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

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

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

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
89 가상화폐 [Ethereum] Ethernaut 풀이 - 0.Hello Ethenaut icon Work4Block 06-21 2,496
88 가상화폐 [Ethereum] Ethernaut 소개 icon Work4Block 06-21 3,253
87 정보 [개념 정리] 온 체인(Onchain), 오프 체인(Offchain)이 무엇인가? icon Work4Block 06-21 3,607
86 가상화폐 나의 이더리움 분석기 - 중간정리 - 2 icon Work4Block 06-21 3,129
85 가상화폐 이더리움이 go를 사용하는 이유(개인적인 생각) icon Work4Block 06-21 2,328
84 가상화폐 [Ethereum] Smart Contract 개발을 위한 환경 세팅 (Remix, Ganache) icon Work4Block 06-19 7,620
83 가상화폐 나의 이더리움 분석기 - 중간정리 - 1 icon Work4Block 06-19 5,138
82 가상화폐 이더리움 프로토콜 매니져로부터 insertChain함수 호출 까지(Fetcher) icon Work4Block 06-18 2,458
81 가상화폐 이더리움 트렌젝션의 실행 icon Work4Block 06-18 2,426
80 가상화폐 나의 이더리움 분석기 - Light Ethereum Service icon Work4Block 06-18 3,672
79 가상화폐 Technical White Paper for QtumX icon Work4Block 06-09 3,373
78 가상화폐 Traceto(트레이스투) 코인 분석 icon Work4Block 06-09 2,513
77 가상화폐 엑심체인[Eximchain] 제대로 알기 2편 icon Work4Block 06-09 2,366
76 가상화폐 엑심체인[Eximchain] 제대로 알기 1편 icon Work4Block 06-09 2,624
75 가상화폐 Eximchain 미래의 무역과 상거래 플랫폼[백서포함] icon Work4Block 06-09 2,428
74 가상화폐 어거(Augur) 토큰 이코노미에 대한 이슈와 평가 icon Work4Block 06-08 2,539
73 가상화폐 어거(Augur)의 토큰이코노미 설명 icon Work4Block 06-08 2,416
72 가상화폐 팩텀(Factom)의 프로토콜 icon Work4Block 06-08 2,869
71 가상화폐 팩텀(Factom)의 토큰 공급 방식과 가치평가 방법 icon Work4Block 06-08 2,457
70 가상화폐 비트코인의 원리 PART 7: 비트코인의 원리와 인터넷의 원리를 마치며 (에필로그) icon Work4Block 06-07 4,854