블록체인 - 블록체인 네트워크와 Infura

728x90

목차

1. Network

2. 노드의 통신방식

3. Infura

 

 

1. Network

블록체인의 네트워크에서 핵심은 P2P이다.
P2P는 "Peer-to-Peer"의 약자로 중앙 서버에 의존하지 않고 컴퓨터나 장치들이 직접적으로 연결되는 형태를 의미한다.
중앙 서버가 없기 때문에 하나의 노드에 장애가 발생하더라도 전체 시스템에 영향을 미치지 않으며, 정상적으로 작동할 수 있다.
P2P 시스템 특징으로 모든 노드에서 데이터를 공유하기 때문에 거래의 투명성 및 신뢰성이 생기며, 데이터의 수정과 조작이 어렵다.

블록체인 네트워크에서의 각 노드들이 연결되며 데이터를 서로 교환하고 공유한다.
노드는 데이터를 요청하는 Client의 역할을 하면서, 데이터를 응답해 주는 Server의 역할도 할 수 있다.

 

 

2. 노드의 통신방식

한 가지의 노드는 대표적으로 3가지 포트를 사용한다.
웹브라우저, 클라이언트 관련된 포트 2가지와 다른 노드와의 연결을 위한 포트이다.

  • 웹브라우저, 클라이언트는 HTTP 통신과, WS통신을 이용한다.
  • 다른 노드와의 상호작용을 위한 TCP 통신을 이용한다.

 

edited_Group 66.png

 

3. Infura

일반적으로 블록체인 네트워크의 데이터를 얻기 위해서 노드와 통신을 하여 데이터를 얻어와야 한다.

노드와 통신을 하기 위해서는 내가 해당 노드와 커넥션을 해야 하고 커넥션을 하기 위해서는 그 노드에 대한 정보가 있어야 하는데, 이미 네트워크에 포함되어 있는 노드에 접근은 쉽지 않다.
그래서 각 프로그래밍 언어로 만들어져 있는 기본적인 노드를 구성하는 코드를 이용해서 내가 직접 네트워크의 참여자가 되는 방법이 있다.

내가 노드를 구성해서 네트워크의 다른 노드들과 sync를 맞춰서 내 클라이언트에서 내 노드로 접근해서 데이터를 얻는 방법이 제일 일반적인 방법이지만 이 방법에 가장 큰 문제점은 동기화하는 데 걸리는 시간이다.

현재까지 비트코인이든 이더리움이든 블록이 많이 생성되어 있는데, 네트워크의 각 노드는 체인형태의 블록들을 다 가지고 있다. 내가 만든 노드도 네트워크에 참여하면서 공유되고 있는 블록들을 똑같이 동기화해야 하는데 동기화하는 과정에서 많은 시간과 비용이 든다.

이런 비용과 시간을 아끼기 위해서 infura라는 서비스를 이용할 수 있다.
Infura에 API요청을 통하여 블록체인 네트워크의 정보를 얻을 수 있기 때문에, 직접 노드를 관리하는 번거로움 및 비용을 줄이고, 네트워크에 조금 더 쉽게 접근할 수 있다.

 

 

 

 

 

 

 


반응형