
dApp은 죽었는가? Web3 앱의 탈중앙화와 사용자 경험 사이의 양날개
저자: w1nt3r.eth
번역: TechFlow

어쩌면 블록체인은 영원할지 모르지만, 탈중앙화 애플리케이션(dApp)의 수명은 짧다.
2024년 할로윈날, 나는 2021년에 사용했던 dApp들을 다시 열어보았고 그 결과는 충격적이었다. 도메인이 만료되었거나, 배포가 중단되었거나, 페이지를 찾을 수 없었으며, 서비스가 이용 불가능했다.
잠깐, 이 앱들은 탈중앙화되어야 하지 않나? 중심화된 실체에 의존하지 않고, 맥주처럼 자유롭고, 표현의 자유처럼 검열에 저항하는, 웹3를 새로운 인터넷으로 만들어주는 그런 애플리케이션이 아니었나?
그러나 거의 모든 것들이 사라졌다. 내가 2년 전에 사용했던 대부분의 dApp은 더 이상 존재하지 않는다. 오직 블록체인 어딘가에 계약 주소를 찾아내고 올바른 호출 데이터를 추측한다면 그들의 '유령'이라도 볼 수 있을지도 모른다.
왜 이런 일이 일어난 것일까? 문제는 어디에 있는가? 우리는 이를 바꾸기 위해 무엇을 할 수 있을까?
그럼, 'dApp'이란 정확히 무엇인가?
우리가 고대 문헌(2016년)에서 발견한 자료를 살펴보자.
'dApp'은 '탈중앙화 애플리케이션(decentralized application)'의 줄임말이다. 이 개념은 HTML/CSS/JS 같은 오픈 기술을 사용해 웹 앱을 만들고, IPFS와 같은 허가 없는 탈중앙화 인프라 위에 호스팅하는 것이다. dApp은 사용자의 지갑을 통해 블록체인과 상호작용한다. 중앙 집중형 회사에 의존하지 않고도 최신 데이터를 가져오고 트랜잭션을 보낼 수 있다.
이 덕분에 dApp은 거의 무적에 가깝다. 무료이며, 허가가 필요 없고, 탈중앙화되어 있다. 진정한 펑크 정신을 추구하는 자들에게는 꿈과도 같은 이야기다.
아름다운 랜딩 페이지
하지만 대부분의 사람들은 탈중앙화나 허가 불필요성 따위에는 관심이 없다. 그들이 궁금한 것은 앱이 실제로 유용한가 하는 점뿐이다. (게다가 숫자가 오르는지도.)
웹3 개발자들은 곧 자신들이 웹2 세계에서 디자인도 멋지고 속도도 빠르며 매력적인 웹2 앱들과 사용자 주목을 두고 경쟁하고 있다는 사실을 깨달았다. 그런데 탈중앙화라는 특성이 이 전장에서는 별다른 이점을 제공하지 못했다.
기술을 깊이 이해하는 사람들은 블록체인이 진정한 패러다임 전환이라는 것을 안다. 그러나 블록체인 위의 모든 것은 '오픈소스'이며 복제될 수 있기 때문에 상품화된다. 경쟁 장벽이 존재하지 않는다. 누구나 어디서든 Uniswap 컨트랙트를 배포할 수 있다. 실제로 누구나 자신의 L2를 만들 수도 있다!
진정한 차이는 브랜드, 유통 채널, 네트워크 효과, 그리고 사용자 경험(UX)에 있다. 수억 개의 Uniswap 배포물 중에서 사용자는 자신이 신뢰하는(브랜드), 쉽게 접근할 수 있는(유통), 모두가 사용하는(네트워크 효과), 그리고 인터페이스가 친숙한(UX) 것을 선택한다.
나는 UX를 마지막에 언급했지만, 이것이 가장 덜 중요한 것은 아니다. 나쁜 UX는 부정적인 영향을 미친다. 모든 전자상거래 상점 주인은 100밀리초의 지연이 10%의 사용자 감소로 이어질 수 있음을 알고 있다. UX가 좋지 않으면 프리미엄 브랜드를 만들 수 없다. 앱이 성가시다면 사용자를 붙잡아둘 수도 없다.

IPFS보다 Vercel에 배포하는 것이 훨씬 쉽다
좋은 일을 하는 것이 어렵다
대부분의 사용자가 탈중앙화에 관심이 없다고 해도, 진짜 암호화폐 펑크들은 여전히 중요하게 생각한다. "모두가 탈중앙화 광신자가 되어야 한다"는 말이 아니라, "그것이 옳은 일이기 때문"이라는 것이다. 중심화된 실체가 적대적이 되거나 검열당할 때에도 탈중앙화는 사람들에게 권한과 자율성을 부여한다.
문제는 바로 여기에 있다. 탈중앙화되면서도 좋은 사용자 경험을 제공하는 앱을 만드는 것은 쉽지 않다. 하지만 어려운 이유는 우리가(개발자들) 게을러졌기 때문이다.
BasePaint 분석하기
현대의 일반적인 'dApp'과 그것이 의존하는 기술들을 살펴보자. 나는 내가 직접 개발한 BasePaint를 예로 들겠다. 어떤 의미에서는 그것은 '웹3 dApp'이어야 한다. 블록체인(Base L2)을 사용하며 사용자의 지갑과 상호작용한다. 그러나 좋은 사용자 경험을 위해서는 비탈중앙화 요소를 추가해야 했다. 사실, 아주 많이.

BasePaint의 기술 구성 요소
내가 개발 도중 불가피하게 사용해야 했던 중심화된 기술들은 다음과 같다:
-
도메인. 사용자가 우리를 쉽게 찾고 접속할 수 있도록 하고 싶었다. 브라우저가 ENS를 지원하지 않기 때문에 도메인 등록업체로부터 도메인을 구입하고 DNS를 올바른 서버를 가리키도록 설정해야 했다.
-
호스팅 서비스. 앱(HTML/CSS/JS 파일 포함)을 어디엔가 호스팅하고, 빠르고 안정적인 접근을 보장해야 했다. IPFS는 잠재력이 크지만 대부분의 브라우저가 지원하지 않고, 게이트웨이 속도도 느리며 URL도 불편하다.
(스마트폰에서
QmRxM6Fz3jYBNLTNn59Whtj8uiFodC53Z5nEep6eSkwf8V을 입력해본 적 있나?)
-
데이터베이스. 블록체인은 특정 상황에서는 괜찮은 데이터베이스지만 모든 용도에 적합하지는 않다. 예를 들어, 우리는 채팅 메시지를 Postgres DB에 저장하는데, 이는 더 저렴하고 빠르기 때문이다. 체인에 올릴 수도 있지만, 결코 중심화된 DB의 속도를 따라갈 수 없다.
-
백엔드 서비스. BasePaint은 이더리움에서 처리하기에 적합하지 않은 연산도 필요하다. 예를 들어 동영상 생성, 여러 사용자의 커서 위치 동기화, 채팅 권한 검증 등이다. 또한 데이터베이스 연결 정보나 개인 토큰 같은 민감한 정보도 보호해야 한다.
-
이더리움 JSON-RPC 제공자. 이론적으로는 사용자의 지갑을 통해 블록체인에 접근할 수 있다. 하지만 이는 '웹3 지원' 브라우저가 없는 사용자는 아무것도 볼 수 없다는 의미다. 더 큰 문제는 다양한 지갑의 RPC 제공자들이 미묘하게 다르다는 점이다. 예를 들어 QuickNode는 로그 조회를 1만 건 이하로 제한하고, Alchemy은 자체 계산 단위를 사용해 요청을 제한한다. 지갑의 RPC를 사용한다는 것은 이러한 미묘한 차이들을 모두 처리해야 한다는 뜻이다.
-
인덱서. 블록체인에 데이터를 저장하는 것은 비용이 매우 크다. BasePaint은 픽셀을 컨트랙트에 저장하지 않음으로써 이 문제를 해결한다. 대신 Painted 이벤트를 통해 필요한 모든 데이터를 전송한다. 스마트 컨트랙트 이벤트를 조회함으로써 어떤 캔버스라도 재구성할 수 있다. 하지만 BasePaint 갤러리 페이지에서 그렇게 해보라(수백 개의 캔버스를 보여준다!). 원활한 사용자 경험을 제공하기 위해 우리는 블록체인 이벤트를 추적하고 빠르게 조회 가능한 형태로 데이터를 저장하는 인덱서를 운영한다.
-
기타 서비스. 우리는 Reservoir를 사용해 2차 시장 데이터를 얻고 크로스체인 민팅을 수행하며, Cloudflare를 CDN으로, R2를 동영상 저장 및 캐시 용도로, DataDog을 로깅용, PostHog를 분석용, Neynar를 Farcaster 사용자의 지갑 주소를 찾기 위해 사용한다. 각각의 서비스는 수주에서 수개월에 달하는 개발 시간을 절약해주지만, 동시에 우리의 앱을 덜 탈중앙화하게 만든다. 또한 많은 도구들이 지속 가능한 비즈니스 모델을 갖추지 못해 언제든지 서비스를 종료할 수 있다.
-
신용카드. 이 문제는 항상 난처하게 만든다. 아시겠는가, 대부분의 암호화 SaaS 제품은 암호화폐로 결제가 안 된다는 것을? 내 신용카드 잔액이 부족하거나 만료되면 내 도메인, 데이터베이스, 서버, RPC 엔드포인트, 기타 SaaS 제품들이 모두 다운된다.
어떻게 앱을 탈중앙화할 수 있을까?
웹3 개발자로서 현재 내가 볼 수 있는 선택지는 다음과 같다:
-
중심화된 기술을 포기하고 완전히 탈중앙화된 서비스만 의존하는 하드코어 dApp을 구축한다. Tornado Cash 같은 프로젝트에서는 가능할 수 있지만, 일반 소비자 제품에선 사용자 경험 장벽이 생겨 대부분의 사용자를 멀리하게 될 것이다.
-
중심화된 앱은 유지하면서 탈중앙화된 기술 스택만 사용하는 간소화된 버전의 dApp을 개발한다. 즉, 두 개의 독립된 앱을 관리해야 하므로 공학적 작업량과 비용이 증가한다.
-
'점진적 강화(progressive enhancement)' 전략을 채택한다. 간소화된 dApp에서 시작하여 서버가 가용하면 속도를 높이는 데 활용한다. 엄격한 관리가 필요하며, 두 번째 선택지에 비해 절약되는 시간이 많지 않다.
-
코드를 오픈소스로 공개하여 사용자가 직접 실행하도록 한다(우리가 선택한 방향). 그러나 실제로 전체 시스템을 가동하려면 상당한 소프트웨어 엔지니어링 능력이 필요하며, IPFS에서 페이지를 로드하는 것보다 훨씬 복잡하다.
위의 모든 선택지는 상당한 노력을 요구하며, 기본값(default)이 아니다. 어떤 dApp 튜토리얼이나 템플릿을 봐도 이런 문제들은 거의 언급되지 않는다. 사실 탈중앙화 앱 개발은 이렇게 어렵지 않아야 한다. 만약 우리가 복잡성을 인프라스트럭처 계층으로 옮길 수 있다면, dApp 제작은 훨씬 쉬워질 것이다.
아마도 우리는 근본적인 문제를 해결해야 할지도 모른다?
우리는 인프라 수준에서 탈중앙화를 시도할 수 있다. 예를 들어 getaddrinfo에 ENS 지원을 통합해 모든 브라우저가 IPFS를 네이티브로 지원하게 하고, IPFS 속도를 현존 최고 수준의 CDN과 맞먹게 끌어올린다. 또한 이더리움 JSON-RPC를 개선해 dApp에 더 실용적으로 만들 수 있다. 하지만 이것은 단지 쉬운 부분일 뿐이다.
중심화된 데이터베이스와 서버를 대체하려면 아직 존재하지 않는 일련의 기술을 개발해야 한다. 아마도 코드를 실행할 때 보상을 받는 ZK 기반의 분산 컴퓨팅 시스템이 필요하거나, 일반 x86 명령어를 효율적으로 실행할 수 있는 '슈퍼 이더리움'이 필요할지도 모른다.
또한 암호화폐 기반의 모든 서비스들에 대해 탈중앙화된 해결책을 마련해야 한다. 새로운 인센티브 메커니즘을 설계해야 한다. 누가 이러한 컴퓨팅 리소스 비용을 부담할 것인가? 진정한 탈중앙화 시스템에서는 기존의 SaaS 비즈니스 모델이 작동하지 않는다. (하지만 이 서비스들의 요금은 신용카드가 아닌 암호화폐로 지불할 수 있기를 바란다.)
게다가 이러한 새로운 체계의 개발자 경험도 현재의 중심화된 플랫폼만큼은 좋아야 한다. 이미 그 플랫폼들은 수십억 달러의 엔지니어링 시간을 들여 다듬었으며, 마케팅에도 거액을 투자해 온라인 튜토리얼을 장악하며 자신의 방식이 최고라고 주장하고 있다.
이게 정말 중요한가?
"너희 과학자들은 기술이 가능한지에만 너무 몰두해서, 그것을 해야 하는지에 대해서는 한 번도 생각하지 않았다." —— 영화 『쥬라기 공원』 중에서
하지만 앱 레이어가 반드시 탈중앙화되어야 할까?
Nouns는 블록체인 자체의 탈중앙화만으로도 충분할 수 있음을 보여준다. Nouns는 번성하는 앱 생태계를 가지고 있으며, 모든 앱이 동일한 컨트랙트와 상호작용한다. Camp나 Agora를 통해 투표할 수 있고, 어느 것을 쓰든 상관없다. 자신이 선호하는 인터페이스를 선택하면 된다.
수십억 명의 사용자를 끌어들이기 위해 암호화폐는 기존 시스템에 원활하게 통합된 구성 요소가 되어야 할지도 모른다. 이상적인 암호화 경험은 사용자가 자신이 암호화폐를 사용하고 있다는 사실조차 모를 정도여야 한다. 이미 추상화되어 중요하지 않게 되는 것이다. 예를 들어 스마트폰을 터치하기만 하면 커피를 살 수 있고, USDC를 썼는지 Visa 네트워크를 썼는지는 사용자가 전혀 신경 쓰지 않는다.
시장은 이미 부분적인 최적 해법을 찾아냈다:
-
기반 레이어로서의 블록체인은 탈중앙화되어 있다. 수조 달러의 자산을 안전하게 보호하며, 소유권과 검열 저항을 위한 강력한 기반을 제공한다.
-
앱 레이어는 중심화되어 있다. 기업들이 최고의 사용자 경험을 제공하기 위해 중심화된 앱을 개발한다. 폐쇄된 시스템은 경쟁에 대한 장벽이 되지만, 여전히 동일한 블록체인과 상호작용한다.
부족한 도구들
나는 이 균형이 좀 더 탈중앙화 쪽으로 기울기를 바란다. Nouns Camp나 Agora의 나만의 버전을 링크 하나 클릭으로 로컬에서 실행할 수 있기를 바란다. UX를 해치지 않으면서도 탈중앙화 앱을 쉽게 만들 수 있게 해주는 도구들이 있었으면 한다.
BasePaint은 놀랍다. 예술가가 작품을 만들고, 수집가가 구매하며 2차 시장에서 수익을 얻고, 소유자는 투표를 통해 일상 운영에 영향을 미칠 수 있는 자기 유지형 생태계다. 이 모델은 잘 작동하며, 우리는 이를 통해 창작자들에게 백만 달러 이상을 분배했다.
그러나 이 시스템에서 가장 취약한 고리는 바로 우리 팀이다. 버그 수정, UX 개선 등 앱 유지보수에는 막대한 노력이 필요하다. 동시에 우리는 시스템을 더욱 탈중앙화하기 위해 노력하고 있다. 예를 들어 앱을 더 쉽게 자체 호스팅할 수 있게 만들고, 진입 장벽을 세우는 대신 권한을 포기하는 방식이다.
결론
탈중앙화 애플리케이션(dApp)은 생명력을 잃은 듯 보인다. 왜냐하면 '탈중앙화'라는 이점이 현재 사용자가 신경 쓰는 핵심 요소가 아니기 때문이다. 그래서 개발자들은 조정을 해야 했다. 우리는 앱을 탈중앙화시키는 도구 개발을 멈췄다.
다행히도, 블록체인의 하부 인프라스트럭처는 지금까지보다 훨씬 견고해졌다. 기반 기술은 더욱 탄탄하며, 발전 로드맵도 기대된다. 우리는 진정한 글로벌 컴퓨팅 플랫폼을 구축할 기회를 갖고 있다.
그러나 안타깝게도 사용자 인터페이스를 강화하는 방법에 관한 논의는 충분한 주목을 받지 못하고 있다. dApp이라는 개념은 잠시 동안 중단된 상태다…
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














