재밌는 IT기술/블록체인

블록체인 메인넷

doriver 2024. 8. 27. 15:35

블록체인 메인넷

분산형 네트워크로, 참여자(노드)들이 공통된 원장(블록체인)을 유지

지금의 웹의 경우에는,  중앙 서버에서 클라이언트(브라우저)가 요청하는 데이터를 제공 

 

네트워크의 모든 노드가 데이터를 공유해야 하므로 확장성에 제한이 있다.

이를 해결하기 위해 다양한 솔루션(Layer 2, 샤딩 등)이 개발되고 있다.

 

공통된 원장(블록체인)을 어떻게 유지?

1. 트랜잭션 생성

  • 사용자가 블록체인 네트워크에 어떤 작업을 수행하고자 할 때(예: 암호화폐 전송, 스마트 계약 실행 등), 그 작업에 대한 트랜잭션을 생성함
  • 이 트랜잭션은 네트워크에 ' 브로드캐스트 '되어 다른 노드들이 이를 검증

2. 트랜잭션 검증

  • 네트워크에 있는 각 노드가 수신한 트랜잭션을 검증함. 
  • 검증된 트랜잭션은 블록에 포함될 준비가 됨

3. 블록 생성(마이닝/검증)

  • 검증된 트랜잭션들은 블록이라는 단위로 묶임, 블록을 생성하는 노드는 마이너(Miner) 혹은 검증자(Validator)라고 불림.
  • 노드들은 블록 생성의 권한을 얻기 위해 서로 경쟁하거나 협력( 합의 알고리즘에 따라 )

4. 블록의 전파

  • 새로 생성된 블록은 네트워크의 모든 노드에 ' 브로드캐스트 '됨
  • 각 노드는 새로운 블록을 수신한 후, 해당 블록이 유효한지 검증함. 검증이 완료되면 해당 블록을 자신이 가진 블록체인에 추가한다.

5. 블록체인의 지속적인 동기화

 

합의 알고리즘

  • Proof of Work (PoW): 노드들은 복잡한 수학 문제를 풀어야 하며, 이를 가장 먼저 푼 노드가 블록을 생성할 권한을 얻습니다. 비트코인이 대표적인 예
  • Proof of Stake (PoS): 노드들은 자신이 소유한 코인의 양에 따라 블록 생성 권한을 얻습니다. 더 많은 코인을 가진 노드가 블록을 생성할 확률이 높습니다.

 

브로드캐스트(Broadcast)

네트워크에서 데이터를 여러 노드(참여자)에게 동시에 전송하는 방식을 의미

한 노드가 연결된 다른 노드에게 데이터를 전송하고, 수신한 노드가 다시 연결된 다른 노드들에게 데이터를 전파하는 방식으로 이루어짐, 이를 통해 데이터가 네트워크 전체로 확산

블록체인에서 "브로드캐스트"는 트랜잭션이나 블록 같은 데이터를 네트워크에 연결된 모든 노드에 전달하는 과정을 의미

블록체인에서 브로드캐스트를 구현할 때 주로 사용하는 네트워크 프로토콜은 P2P(Peer-to-Peer) 프로토콜 이다

여기서 각 노드는 다른 여러 노드와 직접 연결

 

블록체인 네트워크에서 브로드캐스트를 구현할 때 주로 P2P 프로토콜이 사용되며, 데이터를 효율적으로 전파하기 위해 Gossip 프로토콜이 종종 사용됩니다. 이러한 프로토콜은 TCP/IP와 같은 인터넷 표준 프로토콜 위에서 동작

 

이 선 아래로 아직 안봄, 보고나서 정리해야함


1. P2P 프로토콜

  • 기본 개념: P2P 프로토콜에서는 각 노드가 동등한 위치에 있으며, 중앙 서버 없이 서로 직접 통신합니다. 이 방식은 네트워크의 탈중앙화를 촉진하며, 각 노드가 독립적으로 데이터를 전송하고 수신할 수 있게 합니다.
  • 예시: 비트코인과 이더리움 네트워크는 P2P 프로토콜을 사용하여 노드 간 트랜잭션 및 블록 데이터를 전송합니다.

2. Gossip 프로토콜

  • 기본 개념: Gossip 프로토콜은 P2P 네트워크에서 데이터를 효율적으로 전파하는 데 사용됩니다. 각 노드는 자신이 알고 있는 정보를 무작위로 선택한 다른 노드들에게 전달하며, 이 과정이 반복되면서 데이터가 네트워크 전체로 확산됩니다.
  • 특징: 이 방식은 데이터 전파가 빠르고 신뢰성 있게 이루어지지만, 동일한 데이터를 여러 번 전달하게 되어 중복된 메시지가 발생할 수 있습니다.
  • 사용 예시: 이더리움 네트워크는 블록과 트랜잭션을 전파할 때 Gossip 프로토콜을 활용합니다.

3. TCP/IP (Transmission Control Protocol/Internet Protocol)

  • 기본 개념: TCP/IP는 인터넷 상의 표준 통신 프로토콜입니다. 블록체인 네트워크에서도 기본적으로 TCP/IP를 사용해 데이터를 전송합니다. TCP는 데이터 전송의 신뢰성을 보장하고, IP는 네트워크 내에서 데이터 패킷의 라우팅을 담당합니다.
  • 특징: TCP/IP를 통해 노드 간에 안정적이고 신뢰성 있는 데이터 전송이 가능해집니다.
  • 사용 예시: 대부분의 블록체인 네트워크에서 트랜잭션 및 블록 데이터를 전송할 때 기본적으로 TCP/IP 프로토콜이 사용됩니다.

4. UDP (User Datagram Protocol)

  • 기본 개념: UDP는 TCP와 달리 데이터를 빠르게 전송하지만, 데이터의 신뢰성이나 순서를 보장하지 않는 프로토콜입니다.
  • 특징: 빠른 전송이 필요한 경우에 적합하지만, 패킷 손실이 발생할 수 있습니다. 블록체인에서는 상대적으로 덜 사용되지만, 특정 상황에서는 사용될 수 있습니다.
  • 사용 예시: 특정 블록체인 네트워크 또는 P2P 시스템에서 빠른 메시지 전송이 필요한 경우에 UDP가 사용될 수 있습니다.

5. Custom Protocols

  • 기본 개념: 일부 블록체인 프로젝트는 네트워크의 특성과 요구에 맞춘 맞춤형 프로토콜을 개발하여 사용합니다.
  • 예시: IOTA의 Tangle은 기존의 블록체인과는 다른 구조를 사용하며, 데이터 전파를 위해 독자적인 프로토콜을 설계했습니다.