Decentralized Application (dApp)
**탈중앙화 애플리케이션(dApp, Dapp 또는 DApp)**은 블록체인 네트워크 상에서 실행되는 오픈 소스 프로젝트로 설계되었습니다. 이러한 네트워크의 분산된 특성은 사용자에게 투명성, 탈중앙화 및 공격에 대한 저항력을 제공합니다.
탈중앙화 애플리케이션은 스마트 계약을 사용하여 생성된 디지털 토큰인 토큰화된 시스템을 통해 자체 활동을 촉진합니다. 토큰은 특정 DApp(Steemit에서 사용되는 Steem 토큰)에 특정될 수도 있고, CryptoKitties가 이더(ETH)를 사용하는 경우처럼 DApp을 호스팅하는 블록체인에 고유할 수도 있습니다.[1].
다양한 DApp이 게임, 소셜 미디어 플랫폼, 암호화폐 지갑 및 금융 애플리케이션 DeFi(탈중앙화 금융)으로 생성되었습니다.[2].
개요
탈중앙화 애플리케이션은 P2P 네트워크의 출현 이후 존재해 왔습니다. 이는 단일 주체에 의해 통제되지 않는 방식으로 인터넷 상에 존재하도록 설계된 소프트웨어 프로그램의 한 유형입니다.
탈중앙화 애플리케이션은 반드시 블록체인 네트워크 상에서 실행될 필요는 없습니다. 비트토렌트, 팝콘 타임, 비트메시지, Tor는 모두 P2P 네트워크에서 실행되지만 블록체인(특정 종류의 P2P 네트워크)에서는 실행되지 않는 전통적인 DApp입니다. 블록체인은 특히 앱에 가치를 기여하는 대가로 제공되는 암호화폐의 토큰 또는 단위를 앱과 연결하여 위에서 언급한 보상 및 인센티브 시스템을 만드는 데 가장 자주 사용됩니다.
A에서 B로 돈을 보내는 비트코인의 고전적인 의미의 단순한 스마트 계약과는 달리, DApp은 시장의 모든 측면에 무제한의 참가자를 보유합니다.
DApp과 스마트 컨트랙트의 차이점
DApp은 블록체인 기반 애플리케이션이며, 스마트 컨트랙트는 블록체인에 연결할 수 있게 해주는 역할을 합니다. 이를 이해하는 가장 쉬운 방법은 기존 웹사이트가 어떻게 작동하는지 이해하는 것입니다.
기존 웹 애플리케이션은 HTML, CSS 및 Javascript를 사용하여 페이지를 렌더링합니다. 또한 API를 활용하여 데이터베이스에서 세부 정보를 가져와야 합니다. Facebook에 접속하면 페이지는 API를 호출하여 개인 데이터를 가져와 페이지에 표시합니다.
- 기존 웹사이트: 프론트 엔드 → API → 데이터베이스
분산형 애플리케이션은 기존 웹 애플리케이션과 유사합니다. 프론트 엔드는 페이지를 렌더링하기 위해 동일한 기술을 사용합니다. 중요한 차이점은 API가 데이터베이스에 연결하는 대신 스마트 컨트랙트가 블록체인에 연결된다는 것입니다.
- DApp 지원 웹사이트: 프론트 엔드 → 스마트 컨트랙트 → 블록체인
기존의 중앙 집중식 애플리케이션과 달리 백엔드 코드가 중앙 집중식 서버에서 실행되는 반면, DApp은 백엔드 코드가 분산된 P2P 네트워크에서 실행됩니다.
분산형 애플리케이션은 백엔드에서 프론트엔드까지 전체 패키지로 구성됩니다. 스마트 컨트랙트는 DApp의 일부일 뿐입니다. 프론트엔드(보이는 부분)와 백엔드(배경 로직)로 구성됩니다.
반면 스마트 컨트랙트는 백엔드만으로 구성되며, 종종 전체 DApp의 작은 부분에 불과합니다. 즉, 스마트 컨트랙트 시스템에서 분산형 애플리케이션을 만들려면 여러 스마트 컨트랙트를 결합하고 프론트엔드를 위해 타사 시스템에 의존해야 합니다.
DApp은 백엔드를 호출할 수 있는 모든 언어(앱과 마찬가지로)로 작성된 프론트엔드 코드와 사용자 인터페이스를 가질 수 있습니다. 또한 프론트엔드는 Swarm 또는 IPFS와 같은 분산형 스토리지에서 호스팅될 수 있습니다.
블록체인 DApp
블록체인 환경에서 애플리케이션이 DApp으로 간주되려면 다음 기준을 충족해야 합니다.
- 애플리케이션은 완전히 오픈 소스여야 합니다. 자율적으로 운영되어야 하며, 어떤 단일 개체가 토큰의 과반수를 통제하지 않아야 합니다.
- 애플리케이션은 제안된 개선 사항 및 시장 피드백에 따라 프로토콜을 조정할 수 있지만, 모든 변경 사항은 사용자들의 합의에 따라 결정되어야 합니다.
- 애플리케이션의 데이터 및 운영 기록은 중앙 집중식 실패 지점을 방지하기 위해 공개된 분산형 블록체인에 암호화되어 저장되어야 합니다.
- 애플리케이션은 암호화 토큰(비트코인 또는 시스템 고유의 토큰)을 사용해야 하며, 이는 애플리케이션에 대한 접근에 필수적이며 (채굴자/파머)의 모든 가치 기여는 애플리케이션의 토큰으로 보상되어야 합니다.
- 애플리케이션은 노드가 애플리케이션에 기여하는 가치의 증명 역할을 하는 표준 암호화 알고리즘에 따라 토큰을 생성해야 합니다(비트코인은 작업 증명 알고리즘을 사용합니다).
DApp 개발 프로세스: 백서 및 프로토타입
백서는 DApp과 그 기능을 설명하며 발행됩니다. 이 백서는 DApp 개발에 대한 아이디어를 개략적으로 설명할 수 있지만, 작동하는 프로토타입을 포함할 수도 있습니다.
토큰 판매가 있을 수 있습니다. 초기 토큰 판매는 ICO(Initial Coin Offering)라고도 하며, 이를 통해 DApp의 소유 지분이 분산됩니다. 출시 자금은 DApp을 구축하고 배포하는 데 투자됩니다.[5]
DApp 라이선스
오픈 소스 라이선스 하에서 운영하면 DApp은 저작권이나 특허의 제한 없이 혁신을 위해 개방될 수 있습니다. 또한, 완전히 오픈 소스이므로 분산형 애플리케이션은 오픈 소스 소프트웨어의 법적 모델 하에서 운영될 수 있습니다. 예를 들어, 비트코인은 MIT 오픈 소스 소프트웨어 라이선스를 사용합니다.
DApp을 위한 유능한 플랫폼
EOS, Ethereum, TRON, IOST, Steem (블록체인) 및 기타 유사한 블록체인은 탈중앙화 애플리케이션 구축을 위한 프로토콜을 만들고자 합니다. 이러한 플랫폼은 현재 완전한 기능을 갖춘 애플리케이션을 비교적 넓은 커뮤니티에 배포하고, 비교적 사용 가능한 개발자 도구를 사용하여 배포하는 데 사용할 수 있습니다.
이러한 종류의 블록체인은 개발자에게 기본적인 레이어를 제공합니다. 즉, 튜링 완전 프로그래밍 언어가 내장된 블록체인을 제공하여 누구나 스마트 계약 및 탈중앙화 애플리케이션을 작성하고 소유권, 트랜잭션 형식 및 상태 전환 함수에 대한 자체 규칙을 만들 수 있습니다.
DApp은 State of the DApps, Dapp.com, Holdex, DAppRadar 및 CoinGecko와 같은 마켓플레이스에서 찾아볼 수 있습니다.
인기 DApp
- Uniswap
- MindSwap
- Augur
- PredIQt
- Polymarket
- MetaMask
- Sense Chat[3]
- Pancakeswap
- Axie Infinity
- Opensea
- Rarible
- Sandbox
- Aave
dApps 및 web3 앱
Web3는 암호화폐 영역의 월드 와이드 웹이며, web3 앱은 블록체인 기술을 사용하여 구축된 모든 애플리케이션입니다. 암호화폐 지갑으로 web3 앱에 연결할 수 있습니다. 게임에서 DeFi에서 NFT 플랫폼에 이르기까지 다양한 종류의 web3 앱이 있습니다.
dApp은 특정 유형의 web3 앱입니다. 모든 dApp은 web3 앱이지만, 모든 web3 앱이 분산화된 것은 아니므로 모든 web3 앱이 dApp인 것은 아닙니다. 그러나 이 용어는 상호 교환적으로 사용됩니다. 모든 dApp과 web3 앱은 암호화폐 지갑과 연결되어 있습니다.
web3 앱이 dApp으로 간주되려면 애플리케이션 변경 권한이 여러 당사자에게 분산되어야 합니다. 많은 dApp이 분산된 방식으로 애플리케이션을 관리하기 위해 DAO를 사용합니다.[7]
AI와 dApp의 융합
인공지능(AI)과 Web3 기술의 융합은 더 스마트하고, 더 상호작용적이며, 고도로 안전한 탈중앙화 애플리케이션(dApp)의 새로운 시대를 열고 있습니다.
AI는 방대한 양의 데이터를 처리하고 상호작용으로부터 학습하는 능력을 통해 Web3에서 귀중한 자산이 됩니다. 데이터 기반 의사 결정을 기반으로 작업을 자율적으로 실행하는 AI 기반 스마트 계약부터 개인화된 경험을 통해 사용자 상호작용을 향상시키는 것까지, AI는 dApp 운영 방식을 변화시키고 있습니다.
AI 지원 dApp은 Web3 공간에서 점점 더 널리 보급되고 있습니다. 이러한 애플리케이션은 AI를 활용하여 자동화된 재정 자문, 예측 시장 움직임 등 혁신적인 솔루션을 제공합니다. AI 통합은 이러한 dApp의 기능을 향상시킬 뿐만 아니라 사용자 참여와 신뢰도 향상시킵니다.
AI Web3 dApp 개발에는 처리되는 방대한 양의 데이터로 인한 확장성 문제와 AI와 블록체인 기술 간의 복잡한 통합에서 발생하는 고유한 보안 문제를 포함하여 여러 가지 어려움이 따릅니다.
AI는 잠재적 위협을 자동으로 감지하고 완화하여 dApp의 보안을 크게 향상시킬 수 있지만, 특히 데이터 처리 및 개인 정보 보호에서 새로운 취약점도 발생시킵니다.
또한, dApp에서 AI와 블록체인을 통합하려면 상호 운용성과 데이터 일관성을 신중하게 고려해야 합니다. 개발자는 의도한 기능을 제공하기 위해 두 기술이 원활하게 함께 작동하는지 확인해야 합니다.[8]
대규모 언어 모델(LLM)을 사용하는 dApp
기존 DApp의 단점
기존의 분산형 애플리케이션(DApp)은 블록체인과 같은 분산형 네트워크에서 작동하며 스마트 계약을 통해 실행됩니다. 그러나 이러한 애플리케이션은 실제 운영에서 몇 가지 중요한 단점을 드러냈습니다.
첫째, 기존 DApp은 운영 비용이 높고 확장성이 제한적입니다. 블록체인에 데이터를 저장하는 것은 일반적으로 비용이 많이 들며, 특히 스토리지 요금이 상당한 운영 비용을 구성하는 데이터 집약적인 DApp의 경우 더욱 그렇습니다. 또한 모든 트랜잭션에는 가스 수수료가 필요하며, 이는 시간이 지남에 따라 누적되어 빈번한 트랜잭션을 포함하는 DApp의 경제적 타당성에 영향을 미칠 수 있습니다.
둘째, 기존 DApp은 일반인이 사용하기에 사용자 친화적이지 않습니다. 중앙 집중식 애플리케이션과 비교할 때 DApp을 사용하려면 사용자가 특정 수준의 Web3 지식을 갖추어야 하므로 사용 장벽이 높아집니다. 또한 DApp의 사용자 인터페이스는 종종 기본적인 수준에 머물러 전체적인 사용자 경험을 저하시킵니다.
DApp 2.0
BytomDAO에서 제안한 DAgent는 DApp 2.0을 대표하며, 대규모 언어 모델(LLM) 기술을 활용하여 기존 탈중앙화 애플리케이션(DApp)이 직면한 과제를 해결합니다. DApp은 일반적으로 블록체인 네트워크에서 실행되고 스마트 계약을 사용하여 코드 실행을 자동화하지만, 확장성 문제, 높은 사용자 경험 장벽, 비싼 데이터 저장 비용 및 거래 수수료와 같은 제한 사항에 직면합니다.
D-Agent는 단순한 기술 혁신이 아닌 설계 철학과 사용자 상호 작용의 도약을 의미하는 차세대 DApp입니다. 대규모 언어 모델(LLM) 기술과 블록체인의 장점을 통합하여 D-Agent는 기술 구현 및 기능적 응용 분야에서 몇 가지 주요 혁신을 달성합니다:[9]
- 혁신적인 상호 작용 모델: 사용자는 자연어 대화를 통해 작업을 완료하여 사용 장벽을 줄이고 비전문가도 쉽게 참여할 수 있도록 하여 탈중앙화 애플리케이션의 대상을 크게 확대합니다.
- 비용 최적화: 모델 실행은 오프체인에서 처리되어 온체인 작업의 높은 가스 수수료를 상대적으로 경제적인 GPU 런타임 비용으로 전환합니다. 한편, 중요한 데이터는 벡터 형태로 온체인에 저장되어 데이터 검증 가능성과 신뢰성을 보장합니다.
- 효율적인 정보 처리: 오프체인 데이터의 실시간 통합과 사용자 정의 가능한 플러그인을 통해 애플리케이션의 정보 처리 능력을 향상시켜 D-Agent가 더 광범위한 응용 시나리오와 복잡한 요구 사항에 적응할 수 있도록 합니다.
- 스마트 애플리케이션 확산: Chain-of-Thought 방법은 개발 난이도를 줄여 다양한 지능형 애플리케이션의 신속한 개발 및 배포를 촉진하고 Web3 생태계의 다양성을 육성합니다. 결과적으로 BytomDAO의 비전과 함께 제공되는 서비스 및 DAgent 제품군 덕분에 AI 기반 DApp은 미래에 점점 더 개인화되어 개별 사용자에게만 서비스를 제공할 수 있습니다.