티스토리 친구하기

[블록체인] DApp의 구동환경

반응형




DApp 서비스의 구동환경에 대해 알아보자.


Dapp

Dapp(Decentralized App, ) 스마트 컨트랙트 기반의 서비스다. 스마트 컨트랙트를 개발한 블록체인에 배포하면 스마트 컨트랙트의 어카운트 주소와 ABI(Application Binary Interface)등이 생성된다. ABI 스마트 컨트랙트의 바이트 코드를 일반 프로그램에서 호출하고 실행시킬 있는 정보와 인터페이스를 제공한다.

 

Dapp 구동 환경

 개발자는 이더리움 블록체인에 배포된 스마트 컨트랙트를 활용한 앱을 기존의 자바스크립트나 HTML/CSS 등을 사용하여 개발할 있다. 이를 위해서 이더리움은 Web3.js라는 자바스크립트 라이브러리를 제공한다. Web3.js json-rpc 사용하여 블록체인의 데이터와 스마트 컨트랙트의 바이트 코드를 자바스크립트로 다룰 있도록 다양한 객체와 함수를 제공한다. 개발자는 스마트 컨트랙트의 주소와 ABI 알면 Web3.js 라이브러리를 통해 스마트 컨트랙트를 생성하고 특정 함수를 실행시킬 있다. 다음은 Dapp 구동 환경이다.




DAPP 구동 환경


    




차세대 분산 웹으로서의 DApp

 기존의 전통적인 웹은 관련 서비스와 이에 필요한 데이터와 콘텐츠를 모두 중앙의 서버에 저장한다. 사용자는 웹브라우저를 통해 언제, 어디서나 해당 중앙 서버에 접속해서 서비스를 이용할 있다. 서비스가 활성화되고 규모가 커질수록 중앙에 모인 데이터의 규모 역시 점점 커지고 컴퓨팅 파워 또한 중앙에 더욱 집중된다. 이렇게 중앙 서버에 집중된 서비스를 중앙집중형 서비스 플랫폼 모델이라고 한다. 구글, 아마존, 페이스북, 네이버 등이 이에 해당된다. 이들 중앙집중형 서비스 플랫폼은 사용자의 데이터를 중앙에 모으고 이를 가공하여 필요로 하는 사람에게 제공함으로써 막대한 수익을 창출한다. 결국, 거미줄처럼 서로 연결된 인터넷에 역설적으로 중앙집중화된 데이터와 서비스를 구축하고 이에 대한 모든 수익을 독점한다. 실제 콘텐츠를 제공한 사람과 해당 서비스의 발전에 기여한 사용자 참여한 사람에게 적절한 보상이 분배되지 못한다.

 

 이에 반해, 이더리움 기반의 Dapp 서비스는 중앙의 서비스와 데이터를 집중하지 않고 완전 탈중앙 화된 블록체인을 이용하여 서비스를 제공한다. 특히, 분산된 로직을 수행하는 스마트 컨트랙트와 분산 파일 시스템인 스웜, 분산 메시징 시스템인 휘스퍼를 이용하여 탈중앙화된 서비스를 구축하고 모든 사람이 데이터를 함께 공유하며 서비스를 운영한다.

 

 현재, 사용자는 미스트나 메타마스크처럼 Dapp 지원하는 브라우저를 통해 탈중앙화된 서비스를 이용할 있다. 해당 서비스나 스마트 컨트랙트, 콘텐츠를 이용한 사용자는 일정한 이용 대가인 가스나 이더 등을 지급한다. 해당 서비스에 참여하여 콘텐츠를 생성하거나 스마트 컨트랙트를 개발한 개발자에게 사용자가 지급한 사용 대가가 보상으로 직접 지급된다. 사용자와 개발자 모든 참여자가 해당 Dapp 서비스의 발전에 따른 결과가 공평하게 분배된다. 이과정에 분배를 담당하는 중앙 기관은 없다. 진정 분산되고 모든 데이터와 대가를 모든 참여자들이 공유하기 때문에 이더리움 기반의 Dapp 차세대 분산 , 3.0으로 부르기도 한다




[기존 웹 기반 앱과 이더리움 DApp과의 차이][출처 : 코어 이더리움 프로그래밍]







반응형

댓글()