분산 앱(distributed app)
하나의 서버 대신 다수의 서버에 앱이 분산된 앱
앱 데이터 및 트래픽이 많고 앱 다운타임 불허 경우 필요
탈중앙화 앱은 항상 분산 앱
탈중앙화 애플리케이션(DApp=Decentralized Application)
백엔드가 탈중앙화된 peer-to-peer(P2P) 네트워크에서 동작
ㄴ P2P 네트워크 : 컴퓨터끼리 동등한 위치에서 통신, 상호 연결된 노드(피어)들이 서로 간에 자원을 공유하는 네트워크(다수의 단말 간의 통신 시 이용)
소스코드는 오픈소스, 인터넷 앱
네트워크 내 어떤 단일 노드도 DApp에 대한 전체적인 제어권 없음
앱의 기능에 따라 각기 다른 데이터 구조를 가짐(비트코인 디앱 – 블록체인 데이터 구조)
합의 프로토콜(consensus protocol)
디앱에서는 특정 피어에서 발행한 정보가 올바른지 검증하기 위한 합의 프로토콜이 피어들 사이에서 필요함
디앱이 사용하는 데이터 구조 유형에 맞게 특별히 설계됨 (비트코인 합의 – 작업 증명 프로토콜 proof of work)
노드가 얼마나 많은 화폐를 보상받을 건지 결정하는 것(대부분의 디앱은 자체적인 내부 화폐 o)
합의 프로토콜에 따라 특정 노드만 화폐 획득, 데이터 읽기만 하는 노드는 화폐 x
비트코인 – 블록을 성공적으로 채굴한 채굴자miner만 비트코인 획득
디앱 내에서의 내부 화폐
디지털 화폐, 디앱을 사용하기 위해 내부 화폐를 이용해서 지불하게 만듦.
한 번에 공급 x, 시간이 지남에 따라 공급 -> 새 노드가 네트워크에 합류해 보안유지, 운영하면서 화폐도 획득할 수 있게 함
일반 통화랑 똑같이 발행할 수 있는 화폐 총량 고정 -> 화폐 부족 -> 가치 상승
사용자가 많아질수록 수요 증가 -> 내부화폐 가치 상승
내부 화폐를 가질 경우 유일한 단점: 디앱을 쓰는 것이 더 이상 무료 아님
중앙앱은 광고 등으로 수익 창출하고 사용자에게 무료 제공이 가능하나 디앱은 광고 표준 확인할 수 있는 사람이 없어 광고 통합 불가 -> 수익 수단이 내부 화폐 뿐.
승인이 필요한 디앱에는 내부 화폐 없음(승인 필요없는 디앱과 다른 합의 프로토콜 써서)
탈중앙화 앱의 장점
장애에 대한 내구성 높: 기본적으로 분산화 되어 있어 단일 장애 지점이 없어서
네트워크 검열 방지: 중앙 기관이 없고 특정 도메인/ip로 접속하지 않아서
사용자의 앱 신뢰도 높: 단일 권위자에 의해 제어 안돼서
탈중앙화 앱의 단점
네트워크 내 모든 피어가 sw 업데이트를 해야 하므로 버그 수정 / 업뎃이 어려움
사용자 ID를 확인할 중앙 관리자 없어서 앱 개발동안 문제될 수 o (but 익명성 보장)
처음부터 확장성을 고려해서 개발해야 함 -> 기능 추가, 확장 불가능
다른 디앱과의 결합이 불가능한 것은 아니나, 굉장히 어려움
디앱을 개발할 때 주의
사용자가 사용하기 위한 클라이언트와 네트워크 내 디앱을 위한 자체 노드 서버가 있어야 하고 클라이언트가 노드 서버에 연결되어 있어야 함
클라이언트는 반드시 오픈소스이며 사용하기 위해 다운로드 되어야만 탈중앙화 가능
'기타' 카테고리의 다른 글
블록체인 정의, 특성, 장점, 이더리움 (0) | 2020.08.16 |
---|---|
블록체인 이것 저것 (0) | 2020.08.16 |
안드로이드 ANR time error (0) | 2019.11.08 |
네트워크 OT (0) | 2018.04.01 |
라즈베리 파이 운영체제 설치 및 주의점 (0) | 2018.02.12 |
댓글