본문으로 건너뛰기
0%

Arbitrum 노드: 알아야 할 모든 것

작성자 John Favole

2022년 10월 19일에 게시됨4분 읽기

Arbitrum은 Ethereum의 확장성 문제인 낮은 트랜잭션 처리량과 높은 트랜잭션 수수료를 optimistic rollups를 사용해 해결하면서 Ethereum의 레이어 1 보안을 유지하는 레이어 2 스케일링 솔루션이다.

Arbitrum 애플리케이션을 구축하기 시작하려면 개발자는 Arbitrum 노드 제공업체에 연결하거나 직접 Arbitrum 노드를 설정해야 한다. 이 가이드에서는 Alchemy의 무한 확장 가능한 Arbitrum RPC 노드 서비스를 사용하는 방법과, 직접 Arbitrum 풀 노드를 운영하는 방법을 설명한다. ‍‍

Arbitrum 노드란 무엇인가?

Arbitrum 노드는 Arbitrum 블록체인 내에서 연결 지점 역할을 하는 컴퓨터이며, 이들 다수는 서로 의존 관계에 있다.

Arbitrum 노드를 더 잘 이해하려면 노드가 무엇인지, 트랜잭션 전파에서 노드가 하는 역할, 그리고 블록이 어떻게 검증되는지 이해하는 것이 중요하다.

트랜잭션은 대기 중인 트랜잭션의 전역 풀에 제출되고, 블록으로 정리되기 전에 네트워크상의 다른 노드로 브로드캐스트된다. 공정성을 보장하기 위해, 네트워크 내 노드들은 블록에 포함된 트랜잭션에 대해 합의에 도달해야 하며, 그 후에야 해당 트랜잭션 블록이 네트워크에 추가된다. 노드는 블록 제안의 승인 또는 거부에 관여하며, 네트워크의 과거 트랜잭션 데이터도 저장한다.

Arbitrum 노드 제공업체란 무엇인가?

Arbitrum 노드 제공업체는 Arbitrum 노드를 운영하여 일반 사용자와 개발자가 직접 노드를 설정하고 관리하지 않고도 블록체인에 요청을 보내고 응답을 받을 수 있게 해주는 회사다.

Arbitrum 노드 제공업체는 하나 이상의 Arbitrum 노드를 설정하고 유지 관리하며, API나 RPC를 만들어 누구나 이를 이용할 수 있도록 개방한다. 다른 말로 하면, Arbitrum 노드 제공업체는 Arbitrum-node-as-a-service를 제공하는 사업을 하는 것이다.

사용자는 Alchemy 노드 제공업체의 Arbitrum API에 접근하게 되면, Arbitrum 블록체인과 실시간으로 상호작용할 수 있다.

적지 않은 수의 Arbitrum 노드 제공업체가 있지만, Alchemy가 선두 업체다. 이 가이드의 뒷부분에서 Alchemy Arbitrum 노드를 활용하는 방법을 다룰 것이다.

직접 Arbitrum 노드를 운영하는 것과 Arbitrum 노드 제공업체를 이용하는 것의 차이는 무엇인가?

직접 노드를 운영하려면 컴퓨터나 기기가 Arbitrum 메인넷에 연결될 수 있도록 필요한 프로그램을 설치하고 운영을 관리해야 하는 반면, 노드 제공업체를 이용하면 운영을 대신 관리해준다.

따라서 직접 Arbitrum 노드를 운영하는 것과 Arbitrum 노드 제공업체를 이용하는 것의 주된 차이는 노드를 설정하고 그에 맞게 유지 관리하는 관리 측면에 있다.

Arbitrum 노드 제공업체를 이용하면 그 책임을 제3자에게 넘기는 것이다. 신뢰할 수 있는 노드 제공업체를 선택하는 데는 초기에 다소의 노력이 들 수 있지만, 그 이후에는 하드웨어를 유지 관리하는 문제를 신경 쓸 필요가 없다.

직접 Arbitrum 노드를 운영할 때의 어려움은 무엇인가?

직접 Arbitrum 노드를 운영할 때의 어려움에는 적절한 저장 공간, 긴 준비 기간, 그리고 풀타임 노드를 관리하는 데 필요한 대역폭이 포함된다.

하지만 직접 노드를 구축하려는 생각이 든다면, 처음에는 좋은 아이디어처럼 보일 수 있다. 그리고 물론, 직접 운영하는 노드에는 나름의 이점이 있다.

자체 노드를 보유한다는 것은 특정 체인의 보안과 건전성을 유지하는 데 있어 직접적인 이해관계자가 된다는 의미다. 이는 악의적 행위자가 해당 체인에서 해킹을 실행하기 어렵게 만든다. 둘째로, 체인의 상태, 즉 네트워크의 전체 데이터에 접근할 수 있게 된다.

하지만 직접 노드를 운영할 때의 어려움은 잘 논의되지 않는 경우가 많으므로, 여기서 다루도록 하겠다.

1. 저장 공간

풀 노드를 운영하려면 컴퓨터에 넉넉한 저장 공간이 필요하다. Arbitrum 노드를 운영하는 데 특별히 요구되는 공간은 없지만, 모든 블록체인 네트워크에서 대체로 200GB에서 300GB 사이의 범위를 보인다.

2. 설정 시간

풀 노드를 운영하려고 하면, 컴퓨터는 처음 채굴된 블록부터 바로 직전에 채굴된 블록까지 블록체인의 원장 전체를 다운로드해야 한다. 이는 항상 시간이 걸리는데, 체인과 여러 관련 요인에 따라 며칠, 몇 주, 심하면 한 달까지도 걸릴 수 있다.

3. 노드 관리

풀 노드를 결국 설정하고 나면, 이를 관리해야 할 필요가 생기는데, 실제 어려움은 여기에 있다. 풀 노드를 운영하는 것은 많은 시간을 요구하는데, 오랜 시간 온라인 상태를 유지해야 할 뿐만 아니라 대부분의 시간 동안 업그레이드와 디버깅을 계속 따라가야 하기 때문이다.

이제 Web3에서 가장 앞선 노드 제공업체인 Alchemy에서 Arbitrum 노드에 연결하는 방법을 살펴보자.

Alchemy에서 Arbitrum 노드에 연결하는 방법

Alchemy를 노드 제공업체로 사용하여 Arbitrum 노드에 연결하는 방법을 단계별로 안내하며, 이를 통해 Arbitrum에서 개발을 시작할 수 있다:

1단계. Alchemy 가입하기

첫 번째로 해야 할 일은 Alchemy 웹사이트로 이동해 가입하고 몇 가지 정보를 입력하는 것이다. 이미 가입한 적이 있다면 로그인만 하면 된다.

무료 개발자 계정을 생성하는 Alchemy 가입 페이지
Alchemy 가입 페이지

2단계. 새 Arbitrum 앱 생성하기

로그인했다면, Alchemy에서 앱을 생성한다. 이때 Arbitrum 메인넷을 선택한다.

Alchemy 대시보드: Arbitrum Mainnet에서 새 앱 생성
Arbitrum 메인넷 노드 설정

3단계. ethers.js 설치하기

아직 Node.js와 npm이 없다면 앞으로 진행을 위해 필요하다. 그 다음, 다음 명령을 실행해 ethers.js를 설치한다.

text
Copied
npm install ethers

4단계. Arbitrum 메인넷에 연결해 노드 요청 보내기

ethers.js를 사용해 JsonRpcProvider을 임포트하여 노드 요청을 만든다:

text
Copied
import { JsonRpcProvider } from 'ethers';

이제 Alchemy Arbitrum API key로 provider를 설정한다. API key를 찾으려면 Alchemy 대시보드로 가서 앱에서 view key 를 클릭한다.

Alchemy 대시보드: Arbitrum 앱의 API 키 확인
Arbitrum 프로젝트용 Alchemy API 키

환경에서 다음 명령을 실행한다:

text
Copied
const provider = new JsonRpcProvider( 'https://arb-mainnet.g.alchemy.com/v2/<API_KEY>', ); provider.getBlockNumber().then(console.log);

5단계. 노드 요청 분석 및 리포트

요청이 성공했는지 여부와 실행 속도를 모니터링할 수 있으며, 모든 내용은 대시보드에 표시된다.

Alchemy 대시보드에서 실행 중인 Arbitrum 노드
Alchemy 대시보드에서 실행 중인 Arbitrum 노드

직접 Arbitrum 풀 노드 설정하는 방법

직접 Arbitrum 풀 노드를 설정하고 운영하고 싶다면, 아래 단계를 따르면 된다.

1단계. Arbitrum 노드 Docker 이미지 받기

Arbitrum 노드를 실행하기 전에, docker 이미지에 포함된 몇 가지 의존성과 라이브러리가 필요하다.

2단계. Ethereum 노드 RPC 엔드포인트 확보하기

이를 얻는 방법에는 두 가지가 있다. Arbitrum RPC 엔드포인트 제공업체를 이용하거나, 완전히 별개의 과정인 자체 Ethereum 노드를 직접 구축하는 것이다.

Arbitrum RPC 노드 제공업체를 활용하고 싶다면 Alchemy를 사용할 수 있다.

text
Copied
--l1.url=<insert your RPC URL here>

3단계. Arbitrum 메인넷에 연결하기

의존성을 모두 설정했다면, 다음 코드를 실행해 Arbitrum 메인 네트워크에 노드 요청을 보낼 수 있다:

text
Copied
docker run --rm -it -v /some/local/dir/arbitrum-mainnet/:/home/user/.arbitrum/mainnet -p 0.0.0.0:8547:8547

이 시점에서, 이 프로그램을 실행했을 때 컴퓨터에서 작동하지 않더라도 놀라지 말자. 현재로서는 Arbitrum 풀 노드를 실행하는 표준적인 방법이 없다.

Arbitrum의 개발팀인 Offchain Labs는 아직 노드 운영 방법에 대한 공식적인 상세 문서를 공개하지 않았다.

따라서 노드를 성공적으로 실행할 수 있는지 여부는 사용 중인 기기의 호환성과 CLI 숙련도에 달려 있다.

지금 Arbitrum 노드를 가동해 보세요!

Arbitrum 풀 노드를 운영하는 것은 시간과 비용이 많이 드는 작업이며, 개발자로서 실제로 작업하는 내용에 직접적인 영향을 주지 않는다. 적절한 하드웨어 사양을 갖춘 기기를 마련하고, 전체 블록체인 원장이 다운로드될 때까지 기다린 뒤, 이를 매일 관리해야 한다.

대부분의 개발자는 이 번거로운 과정을 건너뛰고 노드 제공업체의 서비스를 이용하는 쪽을 택한다. Alchemy는 몇 번의 클릭만으로 Arbitrum 노드를 설정할 수 있게 도와주는 대표적인 노드 서비스 제공업체다! 지금 Alchemy를 시작해 보세요.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.