디앱(DApp)이란 무엇입니까? 丨이해 및 소개

05/24/2022글쓴이: W, Lynn

디앱이란?

DApp(디앱)은 Decentralized Application의 약자로서 이더리움, 큐텀, 이오스 같은 플랫폼 코인 위에서 작동하는 탈중앙화 분산 어플리케이션을 말합니다. 블록체인을 기반으로 한 앱을 말하며 기존에 APP이라는 것이 중앙의 서버에 보관된 데이터를 이용해서 사용자에게 서비스를 제공하는 반면에 중앙의 서버를 거치지 안않고 플랫폼 코인 위에서 작동을 하는 앱이라는 뜻입니다.

요약하면 중앙 서버를 거치지 않고 , 블록체인, 다시 말해 플랫폼 코인을 기반으로 p2p 형태로 작동하는 어플리케이션이 되겠습니다.

플랫폼 위에서 작동하는 디앱의 암호화폐는 코인(coin)이라고 하지 않고 토큰(token)이라고 구별하여 부르기도 합니다. ‘Daap’가 아니라 ‘DApp’가 올바른 표기법입니다. ‘Dapp’ 또는 ‘dApp’이라고도 씁니다. 단수형이 아니라 복수형으로 표현하여, 디앱스(DApps) 또는 댑스(dApps)라고도 합니다.

 

탈중앙화 앱과 기존 앱의 차이점

전통적인 웹

Twitter와 Slack은 웹 애플리케이션을 제공하는 회사의 일반적인 예입니다.

전통적인 웹 애플리케이션은 또한 기능의 중요한 요소로서 프론트엔드와 백엔드에 의존합니다. 그러나 기존 웹 애플리케이션은 특정 장치의 로컬 운영 체제가 아닌 중앙 집중식 웹 서버에 상주하는 소프트웨어를 활용합니다. 장치는 서버와 통신하기 위해 코딩 메시지를 사용하기 위해 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol) 또는 HTTP를 활용합니다.

따라서 웹 애플리케이션의 프런트 엔드에 있는 피드는 회사의 백엔드 또는 웹 서버에 있는 데이터에서 가져옵니다. 

탈중앙화 앱

탈중앙화 앱은 블록체인 네트워크의 스마트 계약을 백엔드로 사용합니다. 블록체인은 기본적으로 분산 네트워크에서 동일한 트랜잭션 부담을 공유하는 여러 기계의 네트워크입니다.

dApp이 프론트엔드에서 페이지를 렌더링하는 데 동일한 기술을 활용한다는 것을 알 수 있습니다. 그러나 dApp은 지갑을 활용하여 관련 블록체인 네트워크와 통신하기 때문에 백엔드 측면에서 웹 애플리케이션과 다릅니다. 

디앱의 장점

다운타임 없음

– 디앱의 가장 큰 장점은 다운타임이 없다는 것입니다. 블록체인에 스마트 계약을 배포한 후 네트워크는 항상 스마트 계약과 상호 작용하려는 클라이언트의 요구를 충족할 수 있습니다.

또한 디앱은 악의적인 행위자가 특정 앱에 서비스 거부 공격을 시작하지 못하도록 할 수도 있습니다. 탈중앙화 어플리케이션은 P2P 시스템에서 실행되기 때문에 네트워크 아키텍처의 일부가 작동하지 않더라도 계속 작동합니다.

뿐만 아니라, 탈중앙화적인 성격때문에 디앱은 디도스(DDoS) 공격, SQL 주입, XML bomb, 크로스-사이트 스크립팅(cross-site scripting)을 포함한 광범위한 보안 위협에도 큰 저항성을 보입니다. 일반적인 앱과는 큰 차이입니다.

검열 저항

다시 말하지만, 개방적이고 허가가 필요없는 네트워크 상에서 가동되기 때문에, 유저가 탈중앙화 어플리케이션에 접근하거나 이용하지 못하도록 차단하는 힘이나 권한을 가진 단일 주체는 존재하지 않습니다.

프라이버시

일반적으로, 유저는 개인 신원 정보를 제공하거나 공개하지 않아도 가상화폐 지갑만 사용하여 탈중앙화 어플리케이션과 자유롭게 상호작용할 수 있습니다.

투명성

 탈중앙화 어플리케이션은 개방적이고 투명한 블록체인에서 구동되기 때문에 디앱의 소스코드와 모든 인바운드/아웃바운드 거래를 포함한 모든 데이터도 투명하게 공개됩니다. 체인에서 이루어지는 모든 행위는 완벽하게 검증가능하기 때문에 보안층이 한 겹 추가되는 것이고, 디앱 코드는 언제든 누구라도 검토하고 감사할 수 있습니다.

 

디앱의 단점

값비싼 사용료

– 탈중앙화 어플리케이션에서 거래하려면 네트워크 거래 수수료를 내야 합니다. 이 거래 수수료는 이더리움의 자체 가격단위인 가스(Gas)로 계산하고 이더(ETH)로 결제되어, 디앱 구동의 기반이 되는 블록체인 네트워크를 유지해주는 채굴자에게로 바로 전달됩니다. 

사용자 경험

-탈중앙화 어플리케이션의 또 다른 주목할만한 장애는 사용자 친화적인 엔지니어링 경험의 어려움을 나타냅니다. 일반 최종 사용자는 블록체인과 안전하게 상호 작용하기 위한 도구 스택을 설정하는 데 어려움을 겪을 것입니다.

느린 속도

– 고비용 뿐만 아니라 일반앱에 비해 훨씬 느리다는 점도 디앱의 단점입니다. 이는 작업증명 합의 알고리즘을 사용하는 블록체인은 거래를 체결하고 새로운 블록을 채굴하는 데 시간이 걸리기 때문입니다. 

현재 이더리움 네트워크는 초당 약 10~15개의 트랜잭션을 처리할 수 있습니다.

 

디앱 작동원리

탈중앙화 어플리케이션에는 설계의 두 가지 중요한 구성 요소로 프론트엔드와 백엔드가 포함됩니다. 프론트엔드는 사용자와 통신하는 데 도움이 되는 반면 백엔드 코드는 기본적으로 스마트 계약입니다. 이제 스마트 계약은 블록체인이 ‘dApp이란 무엇인가’에 대한 답변으로 점프하는 곳이며 가장 두드러지게 이더리움 블록체인을 나타냅니다. 

탈중앙화 어플리케이션의 프런트 엔드는 실제로 애플리케이션의 사용자 측에서 실행되는 코드입니다. 기본적으로 사용자와 응용 프로그램 간의 통신을 위한 인터페이스 역할을 합니다. 또한 dApp의 프론트엔드에는 다양한 기능을 제공하는 디지털 지갑도 포함되어 있습니다. 

디지털 지갑은 인증을 위해 사용자의 개인 및 공개 키 기록을 유지합니다. 또한 디지털 지갑은 블록체인 주소 및 암호화 키 관리를 위해 블록체인과 상호 작용하는 데 도움이 됩니다. dApp 프론트엔드의 디지털 지갑은 백엔드 또는 스마트 계약 실행을 트리거하는 데에도 도움이 됩니다. 

탈중앙화 어플리케이션의 백엔드는 응용 프로그램의 서버 측에서 실행되는 스마트 계약을 사용합니다. 실행되는 블록체인에 dApp의 백엔드가 있고 dApp의 백엔드는 본질적으로 오픈 소스입니다. 스마트 계약은 주변 환경에 관계없이 특별히 정의된 기능을 수행합니다. 

 

이더리움(Ethereum)

탈중앙화 어플리케이션을 지원하는 최초의 블록체인은 이더리움입니다. 이더리움은 비트코인이 지닌 최소한의 프로그램 용량에 대한 반응으로 설계된 차세대 스마트 컨트랙트 및 탈중앙화 어플리케이션 플랫폼입니다.

태생적으로 가상화폐인데 더해, 전통적인 컴퓨터와 같은 스크립트를 구동하고 실행하는 터닝 프로토콜(Turning-complete protocol)이기도 합니다. 그러나 이더리움 가상머신(EVM)은 각 시점마다 합의 알고리즘에 따라 상채가 완벽하게 정의하는 분산형 컴퓨터입니다.

이더리움=OS , DAPP=어플 이라는 개념으로 이더리움은 DAPP를 위한 플랫폼입니다.

즉 DAPP는 이더리움 플랫폼 위에서 돌아가는 서비스 입니다.