BotTT Ep 1: AIN 블록체인 간단 소개

AI Network Dev Team
AI Network_KR
Published in
5 min readAug 19, 2022

이 글은 ‘Blockchain on the Tea Table’ 시리즈의 첫번째 에피소드입니다. 프린터 전용 버전을 다운 받으실 수 있습니다.

by Dongil Seo

AIN 블록체인은 범용 탈중앙화 백엔드를 목표로 개발된 전혀 새로운 개념의 블록체인입니다. 핵심 기능들은 다음과 같이 요약될 수 있습니다.

  • 제로베이스에서부터 개발된 새로운 개념의 블록체인

기존 프로젝트를 포크한 것이 아니라 처음부터 새롭게 설계되고 구현된 프로젝트입니다. 현재 오픈소스 javascript 구현체가 존재합니다(참조: https://github.com/ainblockchain/ain-blockchain).

  • NoSQL 데이터베이스 형태의 API 제공

예를 들어, 사용자들은 아래와 같은 SET 요청을

블록체인 네트워크에 전송함으로써 상태 경로 “/apps/test_app/path/to/value”에 새로운 값(“new_value”)을 설정할 수 있습니다. 위의 예에서 보듯이 블록체인의 상태(state)는 트리구조를 가지게 됩니다. 사용자들은 블록체인 노드를 직접 실행하지 않더라도 https://testnet-api.ainetwork.aihttps://mainnet-api.ainetwork.ai와 같은 블록체인 네트워크 공개 엔드포인트를 통해서 원하는 작업을 수행할 수 있습니다.

한편 사용자들은 아래와 같은 GET 요청을

블록체인 네트워크에 전송함으로써 해당 경로의 값을 불러올 수 있습니다. 개발자들이 중앙화된 앱을 개발하는 방법과 유사한 방식으로 탈중앙화앱(dApp)을 개발할 수 있도록 GET 및 SET API들을 제공하고 있습니다. 예를 들어 개발자들은 앱 생성 요청을 전송함으로써 /apps 경로 아래의 상태 공간(state space)을 할당받을 수 있습니다. (참조: Create your own app). 관련된 추가 정보는 Developer Reference에서 얻으실 수 있습니다.

  • 네이티브 함수

AIN 블록체인은 설계상 스마트 컨트랙트(smart contracts)에 의존하지 않습니다. 대신 앱들이 공통적으로 필요로 하는 백엔드 기능들을 제공하기 위해서 네이티브 함수(Native Functions)를 사용하고 있습니다. 예를 들어, 아래와 같은 트랜잭션 몸체(transaction body)를

SET 요청에 실어 전송함으로써 계정 0x09A0의 소유자는 계정 0x08Ae로 10 AIN을 전송할 수 있는데, 이때 해당 작업은 네이티브 함수 _transfer에 의해서 수행됩니다. 여기서 AIN은 AIN 블록체인에서 사용되는 메인 토큰의 이름입니다.

  • 이벤트 푸시 서비스

예를 들어 사용자들은 자신의 REST API의 엔드포인트를 특정 상태 경로에 등록함으로써 해당 경로의 상태변화와 관련된 이벤트들을 등록한 REST API를 통해서 받아 볼 수 있습니다. 또는 이벤트 핸들러(Event Handler)를 사용해서 이벤트 스트리밍 채널들을 만들어 사용할 수 있는데, 현재 블록 확증, 상태 값 변동, 트랜잭션 상태 변동과 관련된 이벤트 타입들이 지원됩니다.

  • PoS 컨센서스 알고리즘

Streamlet에 기반한 PoS 컨센서스 알고리즘을 채택하고 있는데 20초의 에포크 타임(epoch time)을 사용하고 있습니다. 트랜잭션 확정시간(finalization time)은 평균 40초 정도입니다.

  • 공개 블록체인

공개 블록체인이기 때문에 원한다면 검증 노드를 운영해볼 수 있습니다. (참조: https://docs.ainetwork.ai/resource-providers/validators). 메인넷의 최초 블록 생성 시간은 2022년 1월 1일 0시(UTC)입니다. 블록체인 네트워크의 상태는 AIN 인사이트(https://insight.ainetwork.ai)에서 확인할 수 있습니다.

  • SDK 지원

현재 javascript (ain-js) 및 python (ain-py) 버전의 SDK가 각각 제공되는데 계정 관리, 블록체인 API 연동, 및 이벤트 핸들러 기능들을 지원합니다. 개발자 사이트(https://docs.ainetwork.ai/ain-blockchain/developer-guide)를 방문해서 더 많은 정보를 얻어 가실 수 있습니다(퀵 스타트 가이드를 참조하세요). AIN 포싯(https://faucet.ainetwork.ai/)으로부터 개발 목적의 AIN 토큰을 얻을 수 있습니다.

AIN 블록체인은 여전히 성장 잠재력이 큰 프로젝트로서 개발팀은 현재 유연성(flexibility), 성능 및 보안성을 높이기 위해서 많은 노력을 기울이고 있습니다. 향후 새로운 소식이 궁금하시다면 아래 링크들을 참조하세요.

Printer-friendly version: https://docs.google.com/document/d/1wXKuvAQpqbRMxdtAeb9lB1kkbOiUlC7ajLZqMIOq1nI/edit?usp=sharing

--

--