프론트엔드에서 데이터베이스까지, EthStorge는 DAPP이 진정한 비신뢰화를 어떻게 실현하도록 도와줄까요?

극한 웹3
2024-05-17 17:51:06
수집
EthStorage 프로토콜은 이더리움에 배포된 스마트 계약과 Layer2 네트워크의 저장 노드로 구성되어 있으며, 스마트 계약은 키-값 저장소를 제공하고, 2층의 저장 노드는 데이터 자체를 저장하는 역할을 합니다.

저자: 기크 Web3

요약:

탈중앙화 애플리케이션은 여러 부분으로 구성되어 있지만, 현재 가장 핵심적인 백엔드 로직만 이더리움에서 실행되고 있으며, 프론트엔드 코드와 같은 다른 부분은 이더리움 외부에 배포되어 있고, 블록체인에 올라가지 않은 많은 데이터도 포함되어 있어 대부분의 DAPP은 이더리움의 보안을 완전히 상속받지 못하고 있으며, 이상적인 상태에 도달하지 못하고 있습니다.

이러한 문제의 주된 원인은 두 가지입니다: 첫째, 이더리움이 개발자에게 적절한 프론트엔드 표준과 도구를 제공하지 않기 때문이고, 둘째, 체인 상의 데이터 저장 비용이 너무 높기 때문입니다.

탈중앙화된 프론트엔드 표준을 제공하기 위해 EthStorage 팀은 web3:// 접근 프로토콜을 제안하였으며, 개발자에게 스마트 계약을 통해 프론트엔드 코드를 배포하고 접근할 수 있는 전체적인 표준과 도구를 제공하고 있습니다. 현재 이는 이더리움의 공식 표준이 되었습니다.

이더리움 체인 상의 데이터 저장 비용을 낮추기 위해 EthStorage 팀은 이층 저장 프로토콜 EthStorage를 개발하였으며, PoRA (Proof of Random Access)와 제로 지식 증명을 활용하여 이더리움 1층의 보안을 상속받으면서도 저장 비용을 크게 줄였습니다.

감사: 기크 Web3의 Faust, ChainFeeds의 Zhixiong Pan, LXDAO의 Bruce, EthStorage의 Qi Zhou, Lun Deng에게 본문에 대한 피드백에 감사드립니다.

탈중앙화 DAPP의 배경과 문제

이더리움의 비전은 세계 컴퓨터가 되는 것이며, 그 위에 구축된 애플리케이션은 모두 이더리움의 보안을 상속받기를 희망합니다. 개발자는 한 번 배포하면 해당 애플리케이션은 영원히 이더리움에서 실행되며, 어떤 실체도 이를 검열하거나 악의적으로 조작할 수 없습니다.

하지만 현재의 탈중앙화 애플리케이션 DAPP이 위의 목표를 달성했는가? 이 질문에 더 명확하게 답하기 위해 우리는 DAPP 애플리케이션을 해체하여 어떤 부분으로 구성되어 있는지 살펴보고, 각 부분의 탈신뢰화 정도를 분석하여 최종 결론을 도출해야 합니다.

일반적으로 탈중앙화 DAPP은 프론트엔드 인터페이스, 백엔드 서버, 데이터베이스를 포함합니다. 사용자가 프론트엔드 인터페이스에 접근할 때, 브라우저와 도메인 서비스를 통해 프론트엔드 콘텐츠를 로드합니다. 이 중:

·프론트엔드와 도메인 서비스: 대부분 스마트 계약을 통해 배포 및 접근되지 않으며, 블록체인이 제공하는 단일 실패 방지, 코드 불변성, 검열 저항, 커뮤니티 거버넌스 등의 특성이 프론트엔드 부분에서 나타나지 않습니다.

·백엔드 서버: 일부는 스마트 계약으로 구현되며, 일부 계산 집약적인 작업은 완전히 체인 상에 올라갈 수 없습니다.

·데이터베이스: 일부는 스마트 계약으로 구현되지만, 체인 상의 저장 비용이 매우 높기 때문에 데이터 양이 많은 경우 DAPP은 여전히 오프체인 저장 솔루션을 사용합니다.

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

위의 분석을 통해 현재의 탈중앙화 DAPP은 일부 구성 요소만이 스마트 계약을 통해 이더리움의 보호를 받고 있으며, 이더리움 시스템은 아직 초기의 "탈중앙화된 세계 컴퓨터" 비전을 실현하지 못하고 있음을 알 수 있습니다.

2023년 말 비탈릭은 이더리움의 발전을 회고하며 "Make Ethereum Cypherpunk Again"이라는 반향을 일으킨 글을 썼습니다. 그는 이더리움 커뮤니티가 어떻게 암호 해독자 정신으로 돌아가야 하는지에 대해 논의했습니다. 그는 글에서 이더리움 및 더 넓은 Web3 커뮤니티가 지켜야 할 가치관을 요약하며, 매우 중요한 점을 언급했습니다:

탈중앙화 애플리케이션은 어떤 단일 주체에 대한 의존도를 최소화해야 하며, DAPP의 핵심 개발자가 영구적으로 사라지더라도 애플리케이션은 계속 운영될 수 있어야 합니다.

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

따라서 비탈릭은 탈중앙화 애플리케이션이 어떻게 구축되어야 하는지에 대해 유사한 기대를 가지고 있음을 알 수 있습니다. 다음으로 우리는 탈중앙화 DAPP의 각 구성 요소가 직면한 문제를 자세히 분석하고, 이를 개선할 방법을 탐구할 것입니다.

프론트엔드와 도메인 서비스

탈중앙화 애플리케이션의 여러 구성 요소 중 프론트엔드와 도메인 서비스의 중앙 집중화 정도가 가장 심각합니다. 현재 대부분의 dApp의 프론트엔드는 중앙 집중식 서버를 사용하고 있으며, 프로젝트 측은 언제든지 프론트엔드 코드를 수정할 수 있고, 커뮤니티 거버넌스를 거치지 않으며, 시간 잠금 제한도 받지 않기 때문에 이 부분의 보안성은 이더리움에 배포된 스마트 계약과는 거리가 멉니다.

해커는 서버를 해킹하여 프론트엔드 코드를 수정할 수 있으며, dApp 사용자는 해당 악의적인 프론트엔드를 사용함으로써 자산을 잃게 됩니다. 이 문제는 지난 DeFi 여름 동안 반복적으로 발생했습니다. 우리는 질문하지 않을 수 없습니다: 왜 프론트엔드가 백엔드와 마찬가지로 이더리움에 배포되지 못하는가? 수정 행위가 커뮤니티 거버넌스와 시간 잠금에 의해 효력을 발휘하도록 할 수는 없는가?

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

또한 상상해 보십시오. 만약 Uniswap의 개발 팀이 언젠가 그들의 프론트엔드 서버와 도메인 서비스에 대한 비용을 지불하지 않게 된다면, Uniswap의 사용자와 LP는 어떻게 Uniswap을 사용할 수 있을까요?

대부분의 사용자는 프론트엔드를 우회하여 스마트 계약과 상호작용하는 방법을 알지 못합니다. 비록 Uniswap이 프론트엔드를 IPFS에 업로드하려고 시도했지만, IPFS와 이더리움은 서로 다른 네트워크로, 신뢰성과 탈신뢰화 정도가 완전히 다릅니다. 특히 IPFS의 콘텐츠 접근 속도가 매우 느리기 때문에 현재 대부분의 사용자는 여전히 Uniswap이 중앙 집중식 서버에 배포된 프론트엔드와 상호작용하고 있습니다.

또한 Uniswap 프론트엔드의 운영 주체가 Uniswap Labs이기 때문에, 그들은 규제를 맞추기 위해 Token 목록에 대한 검열을 추가했습니다. 이는 그들이 이더리움에 배포한 스마트 계약과 대조적입니다. 왜냐하면 누구도 스마트 계약을 임의로 수정할 수 없기 때문입니다. 따라서 프론트엔드에서 검열된 Token도 계약 레벨에서 상호작용할 수 있으므로, 코드가 체인에 올라가는 것이 검열에 저항하는 데 얼마나 중요한지를 알 수 있습니다.

백엔드 서버

EVM은 튜링 완전한 실행 환경을 제공할 수 있기 때문에 대부분의 백엔드 로직은 이더리움 체인에서 실행될 수 있습니다. 우리는 스마트 계약과 유사한 애플리케이션이 이더리움의 보안을 완전히 상속받을 수 있다고 말할 수 있습니다. 다만 비용 문제로 인해 일부 계산 집약적인 작업은 직접 체인에서 수행할 수 없습니다.

이 문제를 해결하기 위해 현재 많이 탐구되고 있는 방법은 ZK 또는 OP 방식을 사용하여 계산을 오프체인으로 이전하고, 이더리움 체인에서는 계산 결과만 최종 확인하는 방식으로 계산 측면에서 확장하는 것입니다. 일부 AI 관련 프로젝트는 이러한 방법을 극대화하여 AI 대모델과 같은 슈퍼 계산 집약적인 작업을 블록체인과 연결하려고 하고 있으며, 이는 우리가 주목해야 할 사항입니다.

데이터베이스

데이터베이스에 대해 EVM은 원래 키-값 저장(KV형 저장)을 지원하여 매우 많은 사용 사례를 커버할 수 있지만, 핵심 문제는 체인 상의 저장 비용이 너무 높다는 것입니다.

비용이 얼마나 비쌀까요? Gas Price가 10Gwei인 경우, 체인 상에 1GB의 데이터를 저장하는 데 6200개 이상의 ETH가 필요하며, 이는 2000만 달러를 초과합니다! 분명히 저장 비용이 데이터베이스의 탈중앙화에 핵심적인 문제가 되고 있습니다.

우리는 위의 계산 확장과 유사한 방법을 사용하여 저장을 확장할 수 있는지 생각해 볼 수 있습니다. 즉, 오프체인 저장과 체인 상의 저장 효과 검증입니다. 이후 이 아이디어에 대해 자세히 설명할 것입니다.

위에서 언급한 DAPP 구성 요소를 분석한 결과, DAPP의 각 부분이 충분히 안전하고 탈신뢰화되어야만, 전체적으로 탈신뢰화된 DAPP이 될 수 있음을 알 수 있습니다. 이더리움은 DAPP의 실행 및 호스팅 플랫폼으로서 개발자에게 적절한 솔루션을 제공해야만 이더리움의 비전에 부합하는 애플리케이션 생태계를 육성할 수 있습니다.

DAPP의 탈신뢰화 솔루션

DAPP을 완전히 이더리움 기반으로 배포하고 접근하는 방법에 대해 EthStorage 팀은 두 가지 솔루션을 제안했습니다:

  • web3:// 접근 프로토콜: 스마트 계약을 사용하여 프론트엔드 코드를 배포하고 접근하는 방법을 해결합니다.
  • EthStorage 이층 저장 프로토콜: 이더리움의 보안을 상속받으면서도 저장 비용을 크게 줄입니다.

web3:// 접근 프로토콜

web3://는 탈중앙화된 버전의 http://로 이해될 수 있으며, http의 URL에서 서버 IP 주소나 도메인을 지정하여 중앙 집중식 자원에 접근하는 것과 유사하게, web3의 URL은 스마트 계약 주소나 ENS 도메인을 지정하여 그 위에 저장된 자원에 접근해야 합니다.

우리는 웹사이트의 프론트엔드를 모두 스마트 계약에 배포하고 web3://를 통해 접근할 수 있습니다! 두 가지의 차이를 비교해 보십시오:

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

현재 web3://는 이더리움의 공식 표준(ERC-4804)이 되었으며, web3:// 접근 프로토콜의 내용을 자세히 알고 싶다면 공식 웹사이트를 방문할 수 있습니다. 스마트 계약에서 파일 관리를 더 잘하기 위해 우리는 ERC-5018을 제안하였으며, 이는 스마트 계약에서 파일 시스템 인터페이스를 시뮬레이션하여 ethfs-cli를 통해 패키징된 프론트엔드 코드 폴더를 스마트 계약에 업로드하고 web3://를 통해 이 웹사이트에 접근할 수 있게 합니다.

관심이 있는 분들은 튜토리얼을 따라 간단한 탈중앙화 애플리케이션 배포 및 접근을 완료할 수 있습니다.

web3:// 접근 프로토콜이 있으면 우리는 DAPP 프론트엔드도 "Code is law"의 속성을 가지게 됩니다. 개발자에게는 한 번 배포하면 이 프론트엔드는 영원히 실행됩니다. 만약 Uniswap Labs가 그들의 프론트엔드를 이더리움에 배포했다면, 팀이 프론트엔드에서 사용자에 대한 검열과 제한을 시도하더라도 이더리움에 배포된 프론트엔드를 사용하는 것을 막을 수 없을 것입니다.

물론 실행 가능성 문제를 해결한 후, 우리는 체인 상에 대량의 데이터를 저장하는 비용이 매우 높다는 것을 인식하게 되었고, 이로 인해 개발자는 체인 상에 프론트엔드를 배포할 때 어려움을 겪게 됩니다. 우리는 EthStorage 이층 저장 프로토콜을 추가로 개발하여 이더리움의 보안을 상속받으면서도 저장 비용을 크게 줄였습니다.

EthStorage 이층 저장 프로토콜

EthStorage 프로토콜은 이더리움에 배포된 스마트 계약과 Layer2 네트워크의 저장 노드로 구성되어 있으며, 스마트 계약은 키-값 저장을 제공하고, 이층의 저장 노드는 데이터 자체를 저장하는 역할을 합니다.

사용자는 EIP-4844의 BLOB을 통해 저장할 데이터를 이더리움에 업로드하며, EthStorage 스마트 계약은 BLOB 내 데이터의 해시만 기록하여 저장 비용을 효과적으로 줄입니다.

동시에, 이층의 저장 노드는 해당 BLOB 데이터를 로컬 디스크에 다운로드하고, PoRA (Proof of Random Access)와 ZK를 사용하여 저장 증명을 이더리움의 계약에 제출하여 검증합니다. 해당 계약은 이전에 기록된 Blob 해시를 통해 저장 노드가 업로드한 ZK 증명이 일치하는지 확인하여 이층 네트워크의 저장 노드가 실제로 이러한 데이터를 저장했는지 확인합니다.

구체적인 과정은 다음과 같습니다:

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

개발자에게는 데이터 업로드 및 접근 인터페이스가 매우 간단합니다:

프론트엔드에서 데이터베이스까지, EthStorage가 DAPP이 진정한 탈신뢰화를 실현하는 데 어떻게 도움을 주는가?

애플리케이션 개발자는 EthStorage가 제공하는 계약 인터페이스를 통해 대량의 데이터를 읽고 쓸 수 있으며, 쓰기 비용은 체인 상에 데이터를 저장하는 비용의 약 0.1%에 해당합니다. 따라서 EthStorage는 체인 상에 프론트엔드를 배포하는 것을 지원할 뿐만 아니라, 더 넓은 키-값 저장 데이터베이스 작업에 대해서도 비용이 더 낮은 솔루션을 제공합니다.

현재 EthStorage는 이더리움 공식 Grants를 받았으며, 이미 Sepolia에 공개 테스트넷을 배포하였습니다. 많은 분들의 참여를 환영합니다.

요약 및 전망

대부분의 DAPP의 중요한 구성 요소인 프론트엔드와 데이터베이스가 이더리움에 배포되지 않아 이더리움의 보안을 상속받지 못하고, 애플리케이션이 전체적으로 영구적으로 실행되고 검열 저항 및 거버넌스를 할 수 없게 됩니다.

EthStorage는 이 문제를 해결하기 위해 두 가지 솔루션을 제안했습니다: web3:// 접근 프로토콜은 스마트 계약을 사용하여 프론트엔드를 배포하는 문제를 해결하고, EthStorage 이층 저장 프로토콜은 저장 비용이 너무 높은 문제를 해결합니다.

이더리움의 초기 비전을 실현하기 위해, 우리는 이더리움이 탈중앙화된 웹 서버로 발전할 것이라고 믿으며, 생태계의 탈중앙화 애플리케이션은 모든 구성 요소를 이더리움에 배포할 것입니다. 백엔드 코드, 프론트엔드 및 데이터가 배포되면, 코드는 영구적으로 실행되고 데이터는 영구적으로 접근 가능하여 진정한 Unstoppable Dapp이 될 것입니다.

EthStorage 공개 테스트넷은 두 번째 인센티브 활동을 진행 중이며, 관심 있는 커뮤니티 친구들은 가이드를 따라 자신의 첫 번째 Unstoppable Dapp 배포 및 접근을 완료할 수 있습니다!

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축