탈중앙화 어플리케이션이란 무엇인가?

ggenc100(41)
Published in
#kr
Words
225
Reading
1 min
Listen
Play
9y

탈중앙화(Decentralized) 어플리케이션이란 무엇인가?

DApp - 백엔드가 탈중앙화된 피어 투 피어 네트워크에서 동작하고 있으며 소스 코드가 오픈소스인 인터넷 어플리케이션

네트워크 내 어떠한 단일 노드도 DApp에 대한 전체적인 제어권을 가지고 있지 않음

기능에 따라 데이터 저장을 위해 서로 다른 데이터 구조가 사용 됨

ex) 비트코인 - 블록체인

애플리케이션 데이터를 잘못된 값으로 변경하거나 다른 피어들과 올바르지 않은 정보를 공유하는 피어를 찾아내고 방지하는 것이 가장 큰 도전 과제

특정 피어에서 발행한 정보가 올바른지 검증하기 위한 일종의 합의 프로토콜(consensus protocol)이 피어들 사이에서 필요

ex) 비트코인 - 작업 증명 프로토콜(Proof of Work)

DApp을 사용하기 위해서는 가장 먼저 네트워크 내 DApp 을 위한 자체 노드 서버가 동작하고 있어야 하며 클라이언트를 노드 서버에 연결해야 한다.

DApp노드는 API만을 제공하며 개발자 커뮤니키에서 이 API를 활용해 다양한 클라이언트를 개발해야 한다.

탈중앙화 애플리케이션의 장점
•기본적으로 분산되어 있어 단일 장애 지점이 없어 장애에 대한 내구성이 높다.
•중앙 기관에서 차단하는 것과 같은 네트워크 검열을 할 수 없다.
•단일 권위자에 제어가 되지 않으므로 애플리케이션에 대한 신뢰가 높다.

탈중앙화 애플리케이션의 단점
•네트워크 내 모든 피어가 노드 소프트웨어 업데이트를 해야 하므로 버그를 수정하거나 DApp을 업데이트 하는 것이 어렵다.
•사용자 ID를 확인할 중앙 권위자가 없으므로 확인 과정을 위한 애플리케이션을 개발하는 동안 문제가 될 수 있다.
•합의를 달성하기 위한 매우 복잡한 프로토콜을 이용하고 처음부터 확장성을 고려해서 개발해야 하므로 구축하기가 어렵다. 따라서 아이디어를 구현한 후 나중에 더 많은 기능을 추가하거나 확장하는 것은 불가능하다.
•아직 대규모 DApp 생태계가 부족하고, 써드 파티 API를 우한 DApp간 결합이 어렵다.