본문 바로가기
  • 시 쓰는 개발자
1일 1개념정리 (24년 8월~)/블록체인

1일1개 (34) - 화성 보내주는 단 하나의 도구

by poetDeveloper 2024. 9. 14.
반응형

1일 1개념정리 24.08.09.금 ~ 

 

큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.

무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!


#34. 블록체인

웃기게도 ERC-721 먼저 소개하고 블록체인을 쓰게 되었는데,,, 암튼 이어서 보면 그냥저냥 이해가 될 수도 있다 ... 블록체인에 대해 알아보자. 비트코인에서 사용되는 기술이다 !!

 

블록 + 체인

블록체인은 말 그대로 블록들이 체인으로 연결되어 있는 것이다.

  • 블록 = 블록체인의 기본 단위는 '블록'인데, 이 안에 정보들이 담겨있다. 예를 들면 돈을 주고받은 내역, 계약 내용, 파일 등 어떤 종류의 정보든 넣을 수 있다.
  • 체인 = 이 블록들은 연결되어 있는데, 하나의 블록이 다음 블록과 연결되면서 체인이 만들어진다. 이렇게 연결된 덕분에 블록이 수정되거나 삭제되기 어렵다. 즉, 누군가 정보를 바꾸려면 연결된 모든 블록을 바꿔야 하는데, 이게 사실상 불가능에 가깝기 때문이다. 이에 대한 내용은 아래에서 자세히 알아보자 !!!

 

블록체인 특징과 예시

1. 특징

  • 공개 장부 : 블록체인은 '공개 장부'의 성격을 가진다. 뭔소리냐면, 블록체인 관련 정보를 모두가 볼 수 있다. 블록체인에 저장된 정보는 모두에게 공개되기 때문에 투명하다.
  • 분산 저장 : 블록체인은 정보를 한 곳에만 저장하지 않는다. 여러 대의 컴퓨터(노드)에 분산해서 저장한다. 그래서 한 컴퓨터가 고장 나거나 해킹을 당해도 다른 컴퓨터에 정보가 남아 있어서 안전하다.
  • 위조 불가능 : 블록체인에 한 번 저장된 정보는 쉽게 수정하거나 삭제할 수 없다. 모든 참여자가 기록을 가지고 있기 때문에 누군가 조작하려면 모든 사람의 기록을 바꿔야 하는데, 현실적으로 매우 어렵다.

2. 예시

  • 가상화폐 : 가장 유명한 블록체인 사례일텐데 바로 비트코인이다. 은행같은 기관 없이도 거래가 가능하고 이때의 내역이 투명하게 저장된다.
  • NFT : 블록체인을 활용하면 디지털 자산에 고유한 값을 부여할 수 있다. 예를 들어 디지털 그림이나 음악 파일을 NFT로 만들어 거래할 수 있다.
  • 계약 관리 : 블록체인으로 '스마트 계약'을 만들 수 있다. 이는 사람이 아닌 프로그램이 자동으로 조건을 판단하고 실행하는데, 예를 들어 '돈을 지불하면 상품을 배송한다' 같은 계약을 블록체인에 기록하면 사기를 방지할 수 있다.

 

조금 이해가 안갈 수 있는데, 아래 보충설명을 보자 !!!

 

특징 보충설명

상상해보자. "A랑 B가 연결되어있다"면, B가 A에 대한 내용도 조금은 필요하지 않겠는가 ?? 정확히는 각 블록은 자신의 바로 이전 블록과 연결되어있다. 이 연결 정보는 블록 내부에 포함된 해시값으로 표현된다. 만약 C-A-B 라고 블록들이 이어져 있다면,

  • B는 A의 정보를 해시로 가지고 있고,
  • A는 C의 정보를 해시로 가지고 있다.

즉, 각 블록은 이전 블록에 대한 정보만 가지고 있다. 모든 블록과 직접 연결된 것은 아니다.

 

Q. 모든 블록과 연결되어있는 게 아니면, B랑 A만 조작하면 위조할 수 있는 것 아닌가 ??

A. 좋은 질문이다 !!! (자문자답) A와 B만 조작하면 위조가 가능해 보이지만, 실제로는 그게 쉽지 않다. 핵심은 연결된 모양보다, 분산 네트워크와 블록 생성에 따른 검증 과정이다.

블록체인은 수~~많은 컴퓨터에 복사되어 저장된다. 이때 각 컴퓨터들을 노드라고 표현한다. 각 노드는 동일한 블록체인 사본을 가지게 되는 것이다. 예를 들어 비트코인 네트워크에는 수만 대의 컴퓨터(노드)가 참여하고 있는데, 이 컴퓨터들은 모두 동일한 거래 내역을 저장한다. 그래서 새로운 거래가 발생하면 네트워크에 있는 모든 노드가 그 정보를 검증하고, 동의하면 자신의 사본에 그 정보를 추가한다. 이를 통해 블록체인 네트워크 전체가 블록의 유효성을 확인하고 유지한다.

  • 예를 들어, A와 B를 조작해서 위조한 블록체인을 만들어도, 이 위조된 블록체인이 "전체 네트워크의 사본"과 일치하지 않으면 노드들이 이를 거부한다. wow
  • 새로운 블록이 생성될 때마다 각 노드는 이전 블록의 해시값을 검증하고, 대부분의 노드가 동의해야 블록이 추가된다. 따라서 A와 B를 조작하려면 네트워크에 참여하는 노드의 51% 이상을 "동시에 해킹"해서 위조된 블록체인을 전파해야 하는데 이건 사실 현실적으로 불가능에 가깝다고 한다. 결과적으로 A, B뿐만 아니라 B 이후에 연결되는 모든 블록을 다 수정해야하고 이때 필요한 계산량이 기하급수적으로 늘어나서 불가능에 가깝다.
반응형