[동영상 튜토리얼] Elastos Alpha를 이용한 엘라스토스 DAPP 댑 빌드하기

in #coinkorea6 years ago (edited)

안녕하세요 콜렉터입니다.

엘라스토스 커뮤니티에서 KP Wood가 엘라스토스 DAPP에 관한 동영상튜토리얼을 제작하여 그 내용을 공유합니다.

엘라스토스 DAPP 댑은 외부와 단절된 가상머신 환경(Elastos Runtime)에서 구현되므로 근본적으로 해킹이 불가능한 차별성을 지니고 있습니다.

또한 엘라스토스 DAPP은 겉으로 보기에 일반 모바일 앱처럼 보이기 때문에 유저는 통신이 어떻게 이루어지고 있는지, 또는 블록 체인이 어떻게 사용되는지 알지 못합니다.

일반 소비자는 자신이 사용하는 앱의 동작에만 관심이 있습니다.


<신한은행 DAPP은 이질감이 없어야 소비자가 사용하지 않을까요?>

예시를 들자면 신한은행 앱에 블록체인이 접목된다고해서 기존의 어플리케이션과 외관, 기능상으로 차이를 보인다면 소비자들은 신한은행 앱을 사용하지 않을 것입니다.

때문에 엘라스토스는 개발자가 사용자 친화적인 블록체인 기반 앱을 만드는 것을 목적으로 합니다.

서론은 여기까지하고... 튜토리얼 동영상을 올립니다 ㅎㅎ

엘라스토스 튜토리얼 동영상은 동영상을 보시면서 엘라스토스 DAPP이 어떤 구조를 갖고 있는지 이해하면서 따라하실 수 있게 제작되었습니다(다만 영어가 필요합니다..ㅎㅎ)

튜토리얼로 간단한 엘라스토스 초기버전의 DAPP을 경험해보시기 바랍니다.

1. 엘라스토스 Alpha를 이용하여 DAPP 데모를 빌드하는 방법


2. 엘라스토스 Alpha DAPP 데모 실행에 관한 비디오



아래에는 튜토리얼로 제공되어지는 엘라스토스 기본 DAPP의 대한 설명을 작성하였습니다.

Elastos 브라우저 (코드 네임 : Trinity Browser)

Repo : https://github.com/elastos/Elastos.Trinity

02.png
<엘라스토스의 트리니티 브라우저>

Elastos 브라우저는 현재 Android 기기 전용으로만 빌드 되지만 향 후 iOS, Mac, Windows 등 다른 플랫폼에서 지원 될 예정입니다. 트리니티는 여러 운영체제에서 실행할 수 있는 교차 플랫폼 애플리케이션을 구현하는 것을 목표로하는 프로젝트 이름입니다. 또한 Android, iOS, Windows, Mac 등 클래식 인터넷에서 엘라 도스 인터넷으로 연결되는 입구입니다.

03.png
<엘라스토스 트리니티 내부의 DAPP>

트리니티는 앱 스토어에서 다운로드하거나 휴대폰에 직접 설치할 수 있는 일반 모바일 앱입니다. 이 앱은 Cordova/Ionic 프레임워크를 사용하여 작성된 DApp을 로드하고 실행하는 데 사용됩니다. 이 앱은 호스트 시스템과 가상머신 사이를 격리하여 DAPP의 안정적 환경을 구현하는 Elastos Runtime 기능을 제공합니다. 엘라스토스 런타임을 통해 디지털 자산 및 재산권을 보호할 수 있습니다.

이 브라우저에서 오픈 소스 Chromium 프로젝트는 렌더링 및 실행을위한 기술 프레임 워크로 사용됩니다. 그런 다음 Elastos 프레임 워크, 샌드 박스 메커니즘, 액세스 권한 관리, 기존 인터넷 통신 방법 (예 : http / https) 및 CAR (Component Assembly Runtime) 구성 요소의 비활성화가 추가됩니다. 또한 HTML5 Elastos DApp가 실행되는 표준 elastos 런타임을 구현하는 다른 기능을 제공합니다.

Trinity 브라우저의 주요기능은 다음과 같습니다.

  1. 가상 파일 시스템 : 각 응용 프로그램에는 암호화 된 가상 파일 시스템이 내장되어 있습니다. 모든 DApp 및 DApp 파일 데이터는이 가상 파일 시스템에 저장됩니다. 이렇게하면 외부에서 데이터에 액세스 할 수 없게됩니다.

  2. DApps 간의 격리 : 가상 파일 시스템에서 액세스 경로 권한은 DApp의 ID에 따라 설정되며 파일 액세스 권한을 설정하는 메커니즘은 사용자에 따라 다릅니다.

  3. 런타임 격리 : 액세스 제어와 함께 프로세스의 자연 격리 메커니즘을 활용하여 각 응용 프로그램에 대해 별도의 프로세스를 지원합니다.

  4. http / https 프로토콜 비활성화 : 브라우저가 http / https 프로토콜을 완전히 비활성화하여 응용 프로그램이 인터넷에 어떤 네트워크 패킷도 보낼 수 없으며 대신에 elastos 캐리어에 요청을 전달해야합니다

Dittobox (퍼스널 클라우드 드라이브)

Dittobox Server Repo : https://github.com/elastos/Elastos.DittoBox.Server

Dittobox Android APP Repo : https://github.com/elastos/Elastos.DittoBox.Android


<어디서나 안전하게 파일에 엑세스 할 수 있는 Dittobox>

Dittobox는 나중에 모바일이나 데스크톱 응용 프로그램을 Elastos Carrier를 통해 액세스 할 수있는 개인 파일, 디지털 자산 등을 저장하는 데 사용할 수있는 개인용 클라우드 드라이브로 생각할 수 있습니다. 데모를 끝내려면 dittobox 서버를 컴퓨터의 도커 컨테이너에서 실행할 수 있지만 라우터 뒤에 있는 라즈베리 파이 컴퓨터에서 직접 실행할 수도 있습니다. 그리고 엘라스토스 캐리어를 사용하면 전세계 어느 곳에서 Dittobox 서버의 모든 파일에 액세스 할 수 있습니다.

Elastos Carrier는 계정 및 암호 기능을 제공하지 않으며 액세스 인증만 제공합니다. 즉, 배포된 개인 클라우드 서비스에 휴대폰으로 액세스할 때 노드 간 관계는 Carrier API를 통해 설정해야 합니다. 휴대폰과 클라우드 드라이브 서비스는 "페어링 코드"를 통해 페어링되어야 합니다. 페어링이 완료되면 클라이언트 측에서 개인 클라우드 드라이브에 액세스할 수 있습니다. 그런 다음 사용자는 드라이브에 실제로 액세스하기 위해 올바른 클라우드 드라이브 로그인 정보를 제공해야 합니다. 따라서 인증은 두 배가 됩니다. 먼저 페어링 인증과 클라우드 드라이버 사용자 계정 인증입니다.


데모에서의 Dittobox 기능은 기존의 모든 http / https 기반 애플리케이션이 이동 통신사 네트워크를 통해 실행되는 엘라스토스 캐리어 앱으로 리팩토링 될 수 있음을 보여줍니다. 엘라스토스 캐리어 웹 앱이므로 앱 서버는 직접 네트워크 접근성을 요구하지 않고도 배포가 가능합니다. 예를 들어, 엘라스토스 캐리어 네트워크를 통해 가정의 로컬 네트워크에 dittobox 서버를 배치하고 전 세계 어디에서든 서비스에 액세스 할 수 있다는 말입니다.

Elastos Wallet(메인 체인 + 사이드 체인 포함)

Wallet SDK Repo: https://github.com/elastos/Elastos.RT.SDK.Wallet.Android

Elastos Mobile Wallet Repo: https://github.com/elastos/Elastos.ORG.Wallet.Mobile


"Elastos Wallet DAPP Demo"

Wallet DAPP 데모에는 메인체인 통화 ELA를 저장할 수 있고, 엘라스토스 내의 다양한 서비스와 앱에 접속 권한을 부여하는 ID 사이드체인으로 ELA를 전송할 수 있는 내장형 지갑도 포함되어 있습니다. 새 지갑을 만들거나 기존 지갑에서 가져올 수도 있습니다. 데모 버전이므로 현재 엘라스토스 블록체인에는 연결되지 않고 테스트 블록체인 네트워크에 연결되어있는 상태입니다. Wallet 구성 요소는 지갑 개체를 생성하고 트랜잭션을 생성하고 전송하는 데 사용할 수 있는 Elastos SPV를 간편화 하였습니다.

데모버전의 지갑은 Elastos가 어떤 종류의 지갑을 만들 수 있는지 보여주는 아주 초기 버전의 DAPP입니다. 첫번째 기능으로 ELA를 저장하는 방법을 포함하고 있고 둘번째로 "IdChain"이라는 추가 기능이 있습니다. ID체인은 Elastos 인터넷 상에 접속할 수 있는 권한을 부여하는 이용하여 분산화된 ID를 발급하는 사이드체인입니다. ID 발급자체는 무료지만 ID 사이드체인에 트랜잭션을 생성해야하는 경우 Elastos 메인 체인과 통합되어 있으므로 ELA의 일부 거래 수수료가 소비됩니다. DAPP들은 유저에 대한 ID가 필요하므로 ID 사이드체인에 트랜잭션을 생성하게 되고 이 때 엘라스토스 지갑은 자동으로 이 ID 사이드체인 지갑에서 트랜잭션 수수료에 필요한 ELA 금액을 줄입니다. 이는 서브월렛을 갖는 주요 요지입니다.

앞으로 모바일 지갑은 ELA 뿐만 아니라 추가 사이드체인 토큰을 같은 지갑에 저장할 수 있을 것입니다. 여기에는 모든 Elastos 사이드체인 토큰도 포함될 수 있습니다.


지금까지 "Elastos Alpha를 이용한 엘라스토스 DAPP 댑 빌드하기"이었습니다.

감사합니다. ^^

follow me!





Sort:  

어렵네요. 뭔가 엘라스토스도 자신의 생태계를 갖춰 나가고 있는 것 같은데, 이오스나 스팀 등이 생태계를 갖추는 과정이나 구조랑 무엇이 다른가요?

엘라스토스는 이오스와 다음과 같은 차이점이 있습니다.

  1. 엘라스토스는 블록 체인 기반 운영 체제입니다. EOS는 EOS 블록 체인과 상호 작용할 수 있는 소프트웨어 개발 툴킷(SDK)이구요.( WEB ASSEMBLY를 사용) EOS는 실제 운영 체제가 아닙니다. 예를 들어 삼성SDK, 화웨이SDK가 존재하지만 그것들을 운영체제라고 부르지 않는 것과 마찬가지 입니다.( 안드로이드 SDK) 엘라스토스는 Elastos SDK를 제공하는 실제 운영체제입니다.

  2. 엘라스토스 DAPP은 무제한 확장성을 갖고있습니다. 엘라스토스 DAPP은 Elastos Runtime(가상머신)내에서 동작할뿐이지 중앙화된 어플리케이션이나 탈중앙화된 어플리케이션 모두 선택할 수 있습니다. 모든 솔루션은 탈중앙화될 수 없고 많은부분에서는 중앙화된 어플리케이션이 필요합니다. 중앙화 어플리케이션이라고 하지만 엘라스토스 가상머신 내에서 실행되기 때문에 블록체인의 보안성은 담보 받을 수 있습니다.

  3. EOS의 모든 DApp은 EOS메인체인과 상호 작용합니다. 반면, 모든 엘라스토의 DApp은 메인 체인의 ID로 인증되며, 다른 모든 것은 별도의 사이드체인으로 처리됩니다. 더 많은 DApp이 개발됨에 단일체인으로 모든 DAPP을 구동한다는 것은 분명한 한계점이 오기 마련이므로 사이드체인이 향후 솔루션이 될 것입니다.

  4. 엘라스토스는 진정한 DAPP을 위한 블록체인 P2P통신 프로토콜까지 갖추고 있습니다.
    A01.png
    EOS, 이더리움 Dapp은 엄밀히 말하자면 App과 DApp의 하이브리드방식의 App입니다. DApp의 코드를 호스팅하는 서버가 존재하며 사용자와 데이터베이스간 통신의 중재자 역할을 합니다. 데이터는 보호와는 별개로 중앙 서버가 무력화되면 시스템이 무너지게되는 구조입니다.
    A02.png
    반면 엘라스토스(Elastos)는 사용자가 가상머신속의 보안이 갖춰진 상태에서 다른 노드, 데이터베이스, 블록체인에 엘라스토스 캐리어(Elastos Carrier) P2P 네트워크를 이용합니다. 이는 데이터 상호과정에서 서버라는 중개자가 존재하지 않으므로 공격 타깃이 존재하지 않는 환경이 조성됩니다. 이는 저희가 흔히 말하는 완전한 Dapp으로 규정될 수 있습니다.

더위가 가고있어요!!! 선선한게 좋네요