아스타리아 디앱 플랫폼의 구조

Hanyeol Cho
아스타리아 공식 블로그
6 min readFeb 27, 2019

암호화폐 기반의 디앱을 개발하고 계신가요? 그렇다면 이 글을 끝까지 정독하시기 바랍니다. 이번 글에서는 디앱 개발자들이 바로 활용할 수 있는 아스타리아 디앱 플랫폼의 구조에 대해 설명합니다.

아스타리아 디앱 플랫폼은 각 디앱 서비스에 공통의 사용자 기반을 제공하는 것을 목표로 하고 있습니다. 디앱 서비스마다 사용자들을 어렵게 따로 모으지 말고, 하나의 통합 지갑 앱을 통해 모인 사용자들을 공유하자는 말이죠.

텐센트의 위챗-미니프로그램 모델이 바로 이런 방식입니다. 미니프로그램이란 위챗 앱을 통해 바로 실행할 수 있는 작은 크기의 앱을 말합니다. 사용자는 각종 미니프로그램 앱을 따로 설치할 필요없이 위챗 내에서 바로 실행할 수 있고, 미니프로그램 개발자는 수 억 명의 위챗 사용자들에게 즉시 서비스를 제공할 수 있습니다.

이런 모델은 디앱 서비스에 더욱 필요합니다. 디앱 서비스는 그 특성상 지갑을 탑재할 수 밖에 없기 때문이죠. 일반 사용자들에게 지갑을 생성하고 관리하는 일은 고통스러운 일입니다. 신규 디앱 서비스를 사용할 때마다 이 과정을 반복해야 한다고 생각하면 암울한 일이 아닐 수 없습니다. 이 문제야말로 디앱의 성장을 저해하고 있는 커다란 요소입니다.

아스타리아 개발 팀은 이 문제를 기술적으로 해결하기 위해 노력했고, 그 결과로서 아스타리아 디앱 플랫폼을 세상에 내놓았습니다. 개발자들은 아스타리아 디앱 플랫폼을 이용하여 위챗-미니프로그램의 관계처럼 하나의 지갑 앱(디앱 브라우저)을 통해 수많은 디앱을 즉시 서비스할 수 있습니다. 마찬가지로 사용자들은 번거롭게 각각의 디앱을 따로 설치할 필요가 없이 바로 사용할 수가 있게 됩니다.

아래 그림은 아스타리아 디앱 플랫폼의 구조를 나타낸 것입니다. 이 구조를 잘 이해하면 아스타리아 디앱 플랫폼을 어떻게 활용할 수 있을지에 대한 중요한 인사이트를 얻을 수 있습니다. 그럼, 이제부터 아스타리아 디앱 플랫폼의 각 구성요소를 설명해보겠습니다.

아스타리아 디앱 플랫폼의 구조

(1) 아스타리아 SDK (Astaria SDK)

가장 먼저 아스타리아 SDK에 대해서 설명해보겠습니다. 개발자들은 아스타리아 SDK를 이용하여 암호화폐 기반의 디앱을 편하고 쉽게 개발할 수 있습니다.

아스타리아 SDK는 암호화폐 메인넷과의 트랜잭션 처리를 담당하는 Astaria Connect와 디앱의 프론트엔드를 쉽게 만들 수 있는 Astaria UX/UI 키트로 구성되어 있습니다. 그 외에도 암호화폐 결제 기능을 제공하는 Astaria Pay 등을 포함하고 있으며, 앞으로 거래소 기능과 같은 모듈들이 계속해서 추가될 예정입니다.

아스타리아 SDK로 만든 디앱은 네이티브 앱입니다. 여타의 다른 프로젝트처럼 웹페이지에 껍데기를 씌워 놓은 하이브리드 앱이 아닌 순수한 네이티브 방식의 앱입니다. 페이스북이 만든 React Native나 구글이 만든 Flutter와 같다고 생각하시면 됩니다만, 이런 툴들에 비해 초보 개발자도 훨씬 편하게 개발할 수 있는 장점이 있습니다.

하지만 가장 중요한 사실은 아스타리아 SDK로 만든 디앱은 디앱 브라우저를 통해 설치없이 바로 실행할 수 있다는 점입니다. 이런 특징으로 인해 각 디앱마다 따로 사용자를 모을 필요가 없이 디앱 브라우저의 사용자 풀을 공유할 수 있습니다.

물론 원한다면 독립 앱으로 만들어 구글플레이나 앱스토어에 등록하는 것도 가능합니다. 또한 디앱 브라우저를 통한 배포와 독립 앱 배포라는 듀얼 전략을 실행할 수도 있습니다. 그렇다고 해서 디앱 브라우저용 디앱과 독립 앱용 디앱을 따로 만들 필요는 없습니다. 하나의 디앱 코드를 공유할 수 있기 때문이죠.

(2) 탈중앙화된 배포 채널 (Decentralized Channel)

아스타리아 SDK로 만든 디앱은 탈중앙화되거나 개인화된 채널을 통해 배포할 수 있습니다. 아스타리아 앱 기술을 적용한 디앱의 배포용 파일은 단순하고 가벼운 압축파일(zip) 하나에 불과합니다. 배포용 파일의 크기는 보통 앱 크기의 10% 정도로 작습니다.

이 배포용 디앱 파일은 IPFS같은 탈중앙화된 채널이나 메신저 등의 개인화된 채널을 통해 다른 사람에게 쉽게 전달할 수 있습니다. 이 과정에서 그 어떤 중개자도 끼어들 수 없기 때문에 즉시 배포, 즉시 실행이 가능하며, 이를 Instant Publish라고 합니다.

이와 같은 배포 방식을 활용하면 누구든지 탈중앙화된 앱스토어를 만들 수 있습니다.

(3) 지갑이 탑재된 디앱 브라우저 (Wallet Based DApp Browser)

배포된 디앱을 실제 실행하기 위해서는 디앱 브라우저가 필요합니다. 사용자는 최초 한번 디앱 브라우저 앱을 설치해야 합니다. 하지만 그 뒤 디앱을 사용하기 위해 또 다른 앱을 설치할 필요는 전혀 없습니다. 배포된 디앱은 모두 하나의 디앱 브라우저에서 별도의 설치 과정없이 바로 실행할 수 있습니다. 이를 One Touch Play라고 부릅니다. 또한 한번 실행된 디앱은 디앱 브라우저 내에 캐시되기 때문에 사용자가 일부러 삭제하지 않는 한 언제든지 다시 사용할 수 있습니다.

아스타리아의 디앱 브라우저에는 여러가지 암호화폐를 통합해서 관리할 수 있는 지갑이 탑재되어 있습니다. 디앱 브라우저 자체에 지갑이 탑재되어 있기 때문에 디앱 개발자들은 별도로 지갑 기능을 개발할 필요가 없습니다. 디앱들은 암호화폐의 트랜잭션 처리가 필요할 때 디앱 브라우저에 요청만 하면 됩니다. 각 디앱이 요청한 트랜잭션은 디앱 브라우저에 의해 지갑 사용자의 동의를 얻어 안전하게 처리됩니다.

이 과정에서 보통의 금융 앱들이 그러하듯 앱과 앱 사이를 오고가는 번거로운 일이 발생하지 않습니다. 아스타리아의 기술로 개발된 디앱은 디앱 브라우저의 실행 환경 내에서 바로 실행되기 때문입니다. 게임 아이템을 사용할 때마다 앱과 앱 사이를 오가야 한다고 생각하면 짜증이 나는 일이 아닐 수 없습니다.

(4) 아스타리아 앱 생성도구 (Astaria App Generator)

앞서 언급했듯이 아스타리아 SDK로 개발된 디앱은 독립 앱으로 변환하여 구글플레이나 앱스토어에 등록할 수 있습니다. 이런 과정을 쉽게 만들어주는 것이 아스타리아 앱 생성도구입니다. 이 도구를 사용하면 안드로이드 스튜디오나 Xcode 등의 복잡한 앱 개발 도구를 사용하지 않고도 독립 앱을 편하게 만들어낼 수 있습니다.

지금까지 아스타리아 디앱 플랫폼의 구조에 대해 간략히 살펴보았습니다. 다음 글에서는 아스타리아 SDK로 실제 앱을 개발하고, 이 앱을 탈중앙화된 채널을 통해 배포(Instant Publish)하는 방법에 대해 알아보겠습니다.

--

--