이 글은 블록체인에 대한 관심은 있지만 기술적인 지식은 높지 않은 분들도 쉽게 이해하도록 작성했습니다.
본 문서에서는 실제 사례인 ARK의 BaaS, ARK Deployer에 대해 알아보겠습니다.

먼저, 블록체인 네트워크와 ARK에 대해 간단히 살펴보겠습니다.

블록체인 네트워크는 Public과 Private 네트워크로 나눌 수 있습니다.
Public 네트워크는 제네시스 블록이 만들어진 후 그 생태계를 발전시키기 위해 전 세계의 사람들이 자발적으로 참여하는 공개형 네트워크입니다. 반면, Private 네트워크는 특정한 목적을 위해 특정 사람들만 사용하는 비공개형 네트워크입니다.

BaaS(Blockchain as a Service)는 무엇일까요?

BaaS는 사용자로 하여금 블록체인의 기술적 요소보다 사업 모델에 더 집중할 수 있도록 해줍니다.
또한, 인프라 구성부터 블록체인 노드 설치 및 운영 등 블록체인을 활용하기 위해 필요로 하는 사전 작업들을 도와줍니다. BaaS를 한마디로 정의하면, “블록체인 Private 네트워크의 생성 및 관리를 간편하게 해준다”라고 할 수 있겠습니다.

ARK는 무엇인가요?

“목표나 기술적 배경에 관계없이 모든 사람이 블록체인 기술을 빠르고 쉽게 활용할 수 있도록 합니다. 우리는 개인, 개발자 및 신생 기업이 자체 프로젝트, 응용 프로그램 및 아이디어의 기초로 블록체인 기술을 적용할 수 있는 도구와 리소스를 제공합니다.” – 출처: https://ark.io/

ARK는 우리가 흔히 알고 있는 이오스나 이더리움과 유사하게 자체 생태계를 조성하고 노드 운영, 스마트컨트랙트 배포, 디앱 개발을 할 수 있도록 도와줍니다.

“ARK Deployer란 어떤 것일까?”


[ARK Deployer 메인 화면 – 출처: https://deployer.ark.io/]

ARK Deployer는 웹 형태로 되어있어 설치가 필요 없고, 별도의 로그인 없이 서비스를 이용할 수 있습니다. 하지만 ARK는 자체 클라우드 서비스가 없기 때문에 인프라 부분에 대한 준비가 별도로 필요합니다.

블록체인 기반의 서비스를 준비하는 분들에게 직접 인프라를 구축하고 준비하는 것은 부담이 될 수도 있습니다. 다른 블록체인의 경우 자체 클라우드를 운용하는 기업과 협약을 맺어 인프라에 대한 부분을 보완하기도 했습니다.
(QTUM 블록체인과 아마존: https://blog.qtum.org/qtum-announces-a-historic-partnership-with-amazon-web-services-6a197568f6a0)

“실력에 맞게 체인을 생성하기”

 
[ARK Deployer의 레벨 설정 화면 -출처: https://deployer.ark.io/select-level]

ARK Deployer 메인화면에서 체인 생성하기를 누르면 처음으로 나오는 화면입니다.
3가지 레벨로 나누어져 있으며, 블록체인을 잘 모르는 사람이라 할지라도 Basic 단계를 통해 쉽게 체인을 생성할 수 있습니다. 만약 어느 정도 지식이 있는 경우엔 더 많은 설정을 직접 할 수 있는 Intermediate나 Advanced 레벨을 선택하면 되겠습니다.

“나만의 블록체인 설정하기”


[ARK Deployer의 체인 배포 전 설정 화면(Advanced) – 출처: https://deployer.ark.io/fees-static]

그다음 단계는 사용자가 사용할 체인에 대한 설정을 할 수 있습니다.
ARK 네트워크의 합의 알고리즘은 AERGO나 EOS와 마찬가지로 DPOS 방식입니다.
따라서, 두 블록체인의 BP(Block Producer)와 유사한 개념인 Forgers가 있습니다.

ARK Deployer에서 Forgers, 블록 생성 시간, 총 발행량, 수수료 등 블록에 대한 세부적인 사항들을 목적에 맞게 직접 설정할 수 있습니다.
Forgers들은 블록을 생성하는데, 생성된 블록 안에는 해당 시간 동안 발생한 트랜잭션의 정보가 담겨있습니다.
그러한 트랜잭션의 정보들은 보통 탐색기라 불리는 Scan, Explorer를 통해 확인할 수 있습니다.

“트랜잭션 조회는 어떻게?”


[AERGO Scan(왼쪽), ARK Explorer(오른쪽)]

-AERGO Scan: https://mainnet.aergoscan.io/
-ARK Explorer: https://explorer.ark.io/

AERGO 체인에 AERGO Scan이 있는 것처럼 ARK 체인에는 ARK Explorer가 있습니다.
해당 체인에서 발생한 트랙잭션의 기록과 현재 생성 중인 블록에 대한 정보를 볼 수 있습니다.

 

마지막으로, 아래는 ARK Deployer로 브릿지 체인을 생성하는 방법에 대한 요약입니다.
– 출처: https://deployer.ark.dev/

Step 1 Prepare: 체인을 생성하기 전에 알아야 할 사항들
  1. 목적 정의

a. 어떤 용도로 체인을 사용할지에 따라 레벨(3가지)을 선택할 수 있으며, 각 레벨마다 커스터마이징 가능한 옵션이 다름

    • Basic Level: ARK 퍼블릭 네트워크 설정과 동일
    • Intermediate Level: 체인 이름, 심볼, 수수료, 공급량 등 커스텀 가능
    • Advanced Level: 모든 세부사항(호스트, 포트 번호, Explorer 등) 커스텀 가능

b. 잘못된 설정 조합은 체인의 안정성을 떨어뜨리며, 포크를 야기할 수 있음 (권장 설정, 퍼블릭 네트워크)

    • Number of Forgers: 51
    • Block Time: 8 Seconds
    • Number of Transactions per Block: 150
  1. 네트워크 형태

a. 노드(제네시스 노드, 피어 노드)의 IP 주소

    • 제네시스 노드
    • 피어 노드

b. 네트워크 상태

    • Mainnet: 제품군에서 사용, 퍼블릭 네트워크의 실제 코인과 Tx를 사용 (최소 20개의 피어 노드)
    • Devnet: 메인넷에 올리기 전에 사용 (최소 5개의 피어 노드)
    • Testnet: 로컬에서 운영, 테스트 용도 (피어 노드 필요 없음)
  1. 서버 운영 방법

a. 서버 종류와 서비스 공급자를 설명하며, 노드 운영 수에 따라 예상되는 비용을 예시로 듦

b. 서버 종류 및 필요 사양

    • VPS(Virtual Private Server)
    • Dedicated Server
    • Local Hardware
    • 요구 하드웨어 사양
Type Value
OS Ubuntu

16.x/18.x

CPU 2 Core
RAM 8GB RAM
Storage 20 + GB

SSD(HDD)

  1. 서버 연결 및 준비

a. 서버 연결: 운영체제별로 서버에 연결하는 방법을 안내(PuTTy, ssh 등)

b. 서버 준비: 사용자 추가 및 권한 부여

c. Github 준비: 프로젝트를 위한 Github Repo 생성 및 연동

Step 2 Customize: 체인 커스터마이징
  1. 커스텀 레벨 선택

a. 기본 레벨, 중급 레벨, 고급 레벨로 선택 가능

  1. 브릿지체인 이름 설정
  1. 체인 설정(Forger 수, 블록 생성 시간, 블록당 Tx 수, 코인 유통량, 채굴자 보상 등)
  1. 수수료 설정

a. Static fees: 설정값의 최소, 최대치를 제공함 (합리적인 수준)

b. Dynamic fees: 트랜잭션 크기에 따라 동적으로 수수료를 부과할 수 있음 (선택적)

  1. 서버 설정(호스트, DB 포트, API 포트 등)
  1. Explorer
  1. 추가 옵션(Git, License)
  1. 피어 설정

a. 메인넷: 최소 20 피어

b. 개발넷: 최소 5 피어

Step 3 Deploy: 체인 생성
  1. 스크립트 배포

a. 체인 커스터마이징이 끝나면 배포 스크립트가 생성되는데, 이를 제네시스 노드에서 실행함

b. 제네시스 노드 생성 과정에서 address와 passphrases가 표시됨

    • 한 번만 보이며, 사용자 스스로 안전하게 보관해야 함
  1. 피어 추가

a. 제네시스 노드 동작 후 피어 노드들을 추가하여 네트워크 안정성을 높임

    • 테스트넷: 상관없음
    • 개발넷: 5 피어
    • 메인넷: 20 피어
  1. 지갑 연동

a. 브릿지체인에서 사용하는 코인을 ARK Desktop Wallet에 추가할 수 있음

  1. Forger 추가

a. 지갑을 생성하여 토큰을 추가한 다음 delegates 탭에서 voting 가능 (vote = tx이므로 fee 발생)

b. 득표 수에 따라 delegates로 선출됨 (delegates로 출마/등록 시에도 fee 발생)

  1. 체인 운영

a. 제네시스 노드를 없애고, 제네시스 노드에 그 누구도 접근하지 못하게 해야 함

b. 주의점

    • 적절한 delegates를 선출하여 제네시스 노드 없이도 체인이 운영될 수 있도록 해야 함
    • 제네시스 노드가 보상을 받았을 경우, 그 토큰을 삭제(burn) 하거나 이전할 수 있음

 

 

이 글을 통해 BaaS와 ARK Deployer가 무엇인가에 대해 조금이라도 도움이 되었으면 좋겠습니다.
기회가 되면 ARK 체인에 대한 글과 step by step으로 브릿지 체인을 만드는 글을 써보도록 하겠습니다.

아토믹 스왑(Atomic swap)이란?
AERGO Connect: Blockchain Wallet UX Considerations

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

필수 입력 사항입니다.
필수 입력 사항입니다.
유효한 이메일 주소를 입력해주세요.
You need to agree with the terms to proceed

메뉴