개발관련 소식을 듣다보면 언제나 암호화폐 뉴스를 접하게 되기 마련이다.

블록체인 자체에 대해서도, 블록체인 개발에 대해서도 전혀 지식이 없어 GPT에 궁금한점을 물어 알게된점을 메모한다.

 

 

1. 블록체인이란 것은 어떻게 코딩되는 것 ?

블록체인은 블록들이 연결된 구조로, 각 블록은 이전 블록의 해시를 참조하고 데이터 무결성을 보장한다.

구성요소는 아래와 같다.

 

A. 블록(Block): 데이터와 메타 정보를 포함한 단위

  1. 블록 번호
  2. 이전 블록 해시
  3. 거래 데이터
  4. 시간(Timestamp)
  5. 현재 블록의 해시

B. 트랜잭션(Transaction): 블록에 저장되는 데이터(보통 금전 거래정보, 문서 해시, 계약 정보 등)

C. 해시(Hash): 특정 블록의 고유값을 나타내는 암호화된 문자열

D. 노드(Node): 네트워크에 참여하는 컴퓨터들

2. 블록체인 프로젝트에 어떤 기술이 사용되나 ?

  • 비트코인: C++ 기반
  • 이더리움: Go 언어(Golang) 기반으로 코어 개발
  • 스마트 컨트랙트: Solidity 언어
  • 하이퍼레저 패브릭: Go, Node.js 등 사용 가능

3. 블록체인 개발 시 중요한 개념

  • 합의 알고리즘: 네트워크 노드들이 같은 데이터 상태를 유지하도록 보장(PoW, PoS, PBFT 등)
  • 분산노드: 블록체인은 중앙 서버가 아닌 분산된 컴퓨터들이 동기화됨
  • 스마트 컨트랙트: 자동화된 계약 시스템으로, 조건을 만족하면 자동으로 실행되는 코드

.....

 

아직은 처음 들어보는 용어와 내용들이 더 많다.

다시 돌아가서, 블록체인의 강점으로 꼽는 점이 '분산 원장 구조로 모든 참여자가 동일한 데이터를 공유한다'는 점인데 이게 어떻게 가능한 것일까 ?

 

아직 디테일한 내용은 알 필요 없을 것 같아 당장 궁금한 질문만 해본다.

 

암호화폐 거래소에서 거래를 했다고 가정하자, 모두 웹상에서 일어나는 일인데, 내 컴퓨터에 거래기록을 저장한다? 어떻게 모든 참여자가 동일한 데이터를 거래하는가 ?

맨~ 위의 블록체인 개념도는 사실 굉장히 단순화 되어있는 것 같다.

사실 암호화폐 거래소, 블록체인 네트워크로 다시 분리해 보아야 한다.

  • 암호화폐 거래소: 거래소는 블록체인이 아니라 중앙화된 시스템으로 운영된다.
  • 블록체인 네트워크: 실제 거래는 블록체인 네트워크 전체에 기록된다. 즉, 내가 암호화폐 지갑을 통해 거래하면 내 컴퓨터가 아니라 블록체인 네트워크 노드들이 이 거래를 복제해 저장하는 것이다.

따라서 암호화폐 거래를 한다고 해서 그 기록을 내 컴퓨터에 저장하거나 다른사람에게 공유하는 것이 아니라, 블록체인 네트워크에 나의 거래기록을 모두가 공유하는 데, 그 네트워크 장부에 기록해주는 역할을 암호화폐 거래소가 대신 해주는 것이었다.

 

영화나 드라마 혹은 뉴스에서 나오는 거래소, 혹은 누군가의 해킹관련 이야기는 어떤 이야기일까 ?

이는 거래소 자체의 중앙화된 DB가 해킹당한 것이지, 블록체인 네트워크가 해킹된 것은 아니라고 한다.

그러나, 암호화폐를 거래소에 보관하면 거래소 지갑에 있는 암호화폐가 위험해질 수 있다고 한다.

암호화폐 보관방식 역시 거래소, 개인(블록체인 네트워크 상에 직접 소유, 보관), 하드웨어(주로 USB형태)로 나뉜다고 한다.

 

 

4. 그럼 거래소는 어떻게 블록체인 네트워크에 접속하나 ?

  1. 풀 노드(Full Node) 운영: 풀 노드란 블록체인의 모든 데이터를 다운로드하고 블록을 검증하는 역할을 한다. 이를 비트코인 코어나 다른 소프트웨어를 설치하고 해당 소프트웨어로 네트워크에 접속해 운영한다.
  2. 블록체인 노드 API 사용: JSON-RPC, gRPC, REST API 등의 방법을 사용해 트랜젝션을 생성, 검증 혹은 전송한다.
  3. 트랜잭션 생성 및 서명: 보내는 주소, 받는 주소, 송금할 금액 등의 트랜잭션을 생성하고, 거래소의 비밀 키로 디지털 서명을 해, 블록체인 네트워크에 해당 트랜잭션을 전송한다.

 

막연하게 블록체인, 암호화폐 정도만 알았는데, 대강의 흐름을 파악하게 된 것 같다.

어떻게 분산이 어떻게 저장되고 공유되는지 이정도까지만 알아두면 될 것 같다 !

'Curiosity' 카테고리의 다른 글

Bluetooth(블루투스) 어떻게 동작하는지 알아보기  (4) 2025.01.31

+ Recent posts