블록체인 Dapp(디앱)이란?

Yoonmin·2024년 4월 12일
0
post-thumbnail

디앱(Dapp)이란?

디앱(DApp, Decentralized Application)이란 탈중앙화 애플리케이션의 약자로 탈중앙화된 블록체인 플랫폼을 기반으로 작동하는 앱을 말합니다.
예를 들어 안드로이드 같은 스마트폰 운영체제이더리움과 같은 '플랫폼'이라면 안드로이드용 스마트폰 앱디앱이라고 할 수 있습니다.

[출처]googleplaystore, andriod

[출처]ethereum, pixabay

기존에는 ‘중앙화 애플리케이션’에서는 중앙 서버의 데이터베이스에 정보를 저장하였습니다. 또한 그 운용 역시 중앙 서버를 통해 이루어 졌습니다.

하지만 디앱이 나오게되면서 중앙 서버가 가졌던 신뢰와 권한블록체인 네트워크에 참여하는 수많은 컴퓨터가 나눠 가지게되면서 중앙 서버의 역할을 대체했습니다.

디앱 출현 배경

블록체인 기술의 발달에 따라 은행, 기업, 기관, 정부 등의 중앙 집중적인 제 3자의 보증 없이도 당사자끼리 직접 신뢰할 수 있게 해주는 블록체인 위에 스마트 컨트랙트를 추가하여 실행할 수 있게 해주는 DApp이라는 개념이 출현하였습니다.

스마트 컨트랙트 도입 이후

디앱이란 개념은 본격적으로 사용되어 하단과 같이 발전했습니다.

  • DAO(탈중앙화된 자율조직)
  • DeFi(탈중앙화된 금융)
  • NFT 마켓플레이스
  • P2E(Play-to-Earn)

가상자산 시장에서 가장 많이 사용되는 디앱은 탈중앙화 거래소(DEX, Decentralized Exchange)입니다.
탈중앙화 거래소는 중간 매개자 없이 스마트 컨트랙트를 통해 유저와 유저가 직접 거래하게 됩니다.
(모든 신뢰와 권한은 수 많은 컴퓨터가 나눠가지게되어서 가능하게 되었습니다.)

Dapp 설계 및 구현 [WEB(feat.node.js)]

김순곤님이 작성한 논문 DApp 개발을 위한 블록체인 2.0 이더리움 플랫폼 분석 연구 과정 일부를 설명을 위해 발췌하였다.

전체적인 DApp의 시스템은 Back-End 시스 템 사양으로 Solidity, Truffle FrameWork, API, 라이브러리 등은 계약을 작성하는 곳에서 필요하다.

제품 구매, 등록, SOT 환전, 암호 화 폐 상품운영 등 Back-end에서 모든 것을 구현 한 후에 JavaScript를 이용하여 UI와 연동하여 E-bay같은 시스템을 완성해 진행하였다.
[출처] : DApp 개발을 위한 블록체인 2.0 이더리움 플랫폼 분석 연구(김순곤) 일부 발췌

실제로 그림2와 같은 DApp 웹구조에서 Front-end에는 HTML폼이 있어서 사용자가 이 름, 가격, 이미지, 설명 등의 상품 정보를 직접 입력하고 저장 가능하다.

상품 정보와 이미지를 IPFS에 올리고 그 링크를 연결한다.
또한 컨트랙 트를 호출하여 IPFS의 상품 링크를 블록체인에 저장한다.
상품을 블록체인에 올리는데 성공하면 컨트랙트가 이벤트를 하나 생성하고 이 이벤트는

[출처] : DApp 개발을 위한 블록체인 2.0 이더리움 플랫폼 분석 연구(김순곤) 일부 발췌

node.js 서버에서 이러한 이벤트를 모니터링 하고 컨트랙트가 이벤트를 생성하면 이벤트의 내 용을 읽어서 Mongo DB 데이터베이스에 상품 정보를 입력한다.

일반적인 제품의 유통 구성도 는 그림 3과 같이 되어 있으며 본 논문에서도 이를 기반으로 주문, 결제, 제품 생산들 모두에 블록을 이용하여 사용하는 방식으로 바꿔서 기존 유통업 어플과의 차이점을 두었다.

장점

1. 보안성 및 투명성

데이터를 중앙화 된 데이터베이스에 기존의 앱과 다르게 중요 데이터를 탈중앙화된 블록체인에 저장하여 데이터의 보안성과 투명성을 높일 수 있습니다.

2) 인센티브

사용자의 참여 및 행동에 따라 스마트 계약을 통해 코인을 제공할 수 있습니다.
(다양한 사람들이돈을 받고 계약 관리자 기능을 가능케한다. 지금의 블록체인과 같음)

3) 거버넌스 참여

프로젝트의 방향성에 대한 제안 및 공동 의사 결정을 코인 보유자들이 투표로 결정할 수 있습니다.

단점

1) 느린 속도

블록체인의 블록 생성 시간에 따라 속도가 달라지지만 일반적인 앱보다는 느립니다.
또한 디앱의 사용량이 증가하여 블록체인의 처리량을 초과하면 데이터를 기록하기 위한 시간이 더욱 증가합니다.

2) 높은 비용

블록체인의 유지 비용은 일반적인 중앙화 데이터베이스보다 비쌉니다.
따라서 블록체인에 데이터를 기록하는 데는 비용이 필요합니다.

3) 불편한 사용자 경험

블록체인을 사용하는 디앱의 근본적 문제는 사용자 경험 문제로 귀결됩니다.
사용자는 느린 속도로 인해 즉각적으로 디앱과 상호작용 할 수 없습니다.
또한 높은 거래 비용은 사용자가 지불해야 합니다.

최종 생각

보안 부분에있어서 탈중앙화는 놀라운 변화라 생각합니다.
하지만 아직 일반 사용자들에게 있어서 아직 개선되야할 부분이 많이 존재합니다.

정말 좋은 보안 기술이지만, 그에 따르는 단점들을 최적화 및 해결이 되어야 대중화 가능한 기술이지 않을까 생각합니다.

인공지능 발전을 통해 점점 가속화되는 하드웨어 기술들이 블록체인 기술의 비용 및 속도에 대한 일부분을 해결해 줄수있지 않을까 생각합니다.

출처: 업비트 투자자보호센터, DApp 개발을 위한 블록체인 2.0 이더리움 플랫폼 분석 연구(김순곤),

profile
같이의 가치를 FEDev

0개의 댓글