BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Foresight Ventures: 암호화 네이티브 DApp 아키텍처

Foresight
特邀专栏作者
2022-08-25 03:28
이 기사는 약 7192자로, 전체를 읽는 데 약 11분이 소요됩니다
web2와 web3의 초기 애플리케이션 구축 경험에서 진정한 Crypto-native DApp 아키텍처의 미래를 기대할 수 있으며, 이를 통해 인프라 혁신의 방향에 대한 깨달음도 얻을 수 있습니다.
AI 요약
펼치기
web2와 web3의 초기 애플리케이션 구축 경험에서 진정한 Crypto-native DApp 아키텍처의 미래를 기대할 수 있으며, 이를 통해 인프라 혁신의 방향에 대한 깨달음도 얻을 수 있습니다.

원저자: msfew@Foresight Ventures

원저자: msfew@Foresight Ventures

첫 번째 레벨 제목

0. Web2 앱 아키텍처

  • Web App이든 Mobile App이든 Desktop App이든 최신 toC 애플리케이션을 개발할 때 기본 아키텍처는 다음 세 가지 터미널로 요약할 수 있습니다.

  • 왼쪽에서 오른쪽으로:

  • 프런트 엔드: 클라이언트라고도 합니다. 애플리케이션의 프런트 엔드는 사용자가 브라우저에서 보는 페이지 또는 모바일 장치에서 사용되는 앱입니다. 프런트 엔드는 보기 및 표시를 제어합니다.

데이터베이스: 이름에서 알 수 있듯이 데이터베이스는 데이터 저장 전용이며 백엔드는 데이터베이스의 내용을 읽거나 수정합니다.

소프트웨어에 이 세 개의 터미널이 필요한 이유는 무엇입니까? 프런트 엔드가 데이터베이스에 직접 연결되지 않은 이유는 무엇입니까? 중간에 백엔드가 있는 이유는 실제로 많은 이유가 있습니다.

보조 제목

a) 엔지니어링

개발자의 관점: 최신 애플리케이션의 프런트 엔드는 복잡한 데이터 모델과 뷰의 상태 관리를 동시에 처리할 에너지가 없습니다.엔지니어링 관점에서 볼 때 모든 엔지니어가 모든 엔지니어와 함께 부풀려진 시스템을 유지 관리하는 것은 좋지 않습니다. 지식과 전능함.또한 많은 다른 논리는 전자 상거래 플랫폼의 인벤토리와 같은 디스플레이에 참여하기 위해 프런트 엔드를 필요로 하지 않습니다.

구조적 관점: 각 끝단에는 데이터를 설명하는 고유한 규칙과 언어가 있습니다. 프런트 엔드는 사람이 이해할 수 있는 아이디어를 사용하여 페이지를 구축하고, 백엔드는 개체 지향 언어를 사용하여 데이터를 조작하며, 데이터베이스는 관계형 대수 언어를 사용하여 액세스합니다. 물리적 저장소.3개의 터미널을 통일하는 일련의 보편적인 규칙을 지정할 방법이 없으며 동시에 각 언어가 자신의 임무를 수행하기 때문에 성능 강조도 다릅니다.Hasurab) 커뮤니케이션OData프로토콜 관점: 그림을 보면 3개의 터미널을 연결하는 두 가지 연결 방법이 다른 것을 알 수 있습니다.일반적으로 toC 응용 프로그램의 프런트엔드와 백엔드는 HTTP 프로토콜을 사용하여 통신하고 백엔드와 데이터베이스는 MySQL 및 MongoDB와 같이 서로 다른 프로토콜을 사용하는 경우 서로 다른 프로토콜을 사용합니다. 얇은 백엔드를 전달할 수 있습니다(GraphQL +

) 프런트 엔드에서 데이터베이스에 직접 연결하는 것과 유사한 효과를 달성하기 위해 이러한 통신을 위한 CouchDB와 같은 프로토콜도 있지만 여전히 다른 단점을 해결하지 못합니다.

데이터 매핑 관점: 프런트 엔드는 UI를 처리하고 백엔드는 개체를 처리하며 데이터베이스는 데이터를 처리합니다.프론트 엔드와 백엔드 간의 연결은 UI와 개체 간의 매핑을 사용하고 백엔드와 개체 간의 연결을 사용합니다. 데이터베이스는 개체 관계를 사용하여 매핑해야 합니다.

다) 보안

데이터 관점: 현재 우리가 사용하는 애플리케이션이 웹 기반 애플리케이션인 경우가 많기 때문에 프런트엔드가 데이터베이스에 직접 연결되어 있으면 데이터 유출 및 해킹을 방지하기 어렵습니다. 다양한 인증 방법이 있지만 백엔드 존재의 또 다른 큰 의미는 신뢰할 수 있는 환경에서 설계된 방식으로 작동하고 알려진 보안 질문을 배제한다는 것입니다.

보조 제목

  • d) DApp에 대한 Web2 애플리케이션 아키텍처의 계몽

  • 위의 세 가지 관점에서 우리는 Web2 애플리케이션이 3단자 아키텍처를 갖는 이유를 분석했으며, 이는 또한 블록체인 DApp에 대한 몇 가지 생각을 가져왔습니다.

  • 통신: 블록체인 네트워크의 서로 다른 합의 메커니즘에 해당합니다.이러한 서로 다른 메커니즘도 블록체인의 상호 통신을 어려운 문제로 만들지 만 전체 네트워크를 연결하려는 Cosmos 및 Polkadot과 같은 상호 운용성 프로토콜도 있습니다.하지만 관점에서 볼 때 일반적으로 이것이 최상의 솔루션이라는 의미는 아닙니다.데이터 매핑은 계정 지향 또는 UTXO 디자인 패턴에 해당할 수 있으며 둘 다 성능, 개인 정보 보호 및 개발 복잡성 측면에서 장단점이 있습니다.

  1. 보안성: 블록체인의 탈중앙화와 검증이 아닌 신뢰(Verify, Not Trust)라는 발상에 해당 블록체인 분야에서는 보안이 더 중요하기 때문에 데이터 처리 및 데이터 처리를 위해 검증 가능하고 심지어 완전히 투명하고 개방적인 방법이 필요합니다. 투명하고 무허가 DeFi, 개방적이고 독점적인 NFT, 그리고 DApp의 가장 중요한 조합성.

첫 번째 레벨 제목

  • Web3 DApp 아키텍처

  • 대부분의 Web3 DApp은 다음 아키텍처를 따릅니다.

  • 간단한 애플리케이션(순수한 온체인 데이터 및 복잡하지 않은 상호 작용), 예: Uniswap 및 순수한 온체인 NFT 프로젝트.

  • 프런트엔드는 Web2 App과 다르지 않습니다.

  • 데이터베이스로서의 블록체인.

대부분의 Web3 DApp은 다음 아키텍처를 따릅니다.

보조 제목a) Web3 DApp 개선 구성 요소:

  • 보다 구체적으로 완전한 Web3 DApp의 워크플로우에는 다음이 포함됩니다.

  • 더 많은 구성 요소

  • 프런트엔드: 브라우저, 지갑, 페이지.

  • 프런트엔드 및 백엔드 통신: 노드 공급자, 인덱스 프로토콜.

  • 백엔드 데이터베이스 통신: 노드 공급자, 스토리지 네트워크 게이트웨이.

데이터베이스: 스마트 계약 상태 및 분산 스토리지 네트워크.

보조 제목b) Web3 DApp에 백엔드가 없는 이유는 무엇입니까?,블록체인 네트워크에 Turing-complete 스마트 계약의 존재,

블록체인을 최고의 서버리스 플랫폼으로 만들기

  • 또는 트러스트웨어의 세계 컴퓨터로 간주할 수 있으며 애플리케이션의 데이터 및 백엔드 로직을 스마트 계약으로 구현할 수 있습니다.

  • 서버리스 기능과 비교할 때 스마트 계약은 더 우수하며 Web2 애플리케이션보다 더 나은 아키텍처와 패턴을 생성합니다.

  • 결제 방법: 서버리스 기능은 일반적으로 개발자가 지불하는 반면 스마트 계약의 상호 작용 비용은 대부분 사용자가 지불하며 사용자는 기꺼이 체인 공간에 대해 지불합니다.

실행 환경: 서버리스 기능은 실행 환경이 매우 유연한 반면 스마트 계약의 실행 환경은 선택의 폭이 적지만 매우 가볍습니다.

배포 환경: 서버리스 기능은 중앙 집중식 클라우드 서비스 플랫폼에 배포되고 스마트 계약은 분산 및 무허가 분산 네트워크에 배포됩니다.또한 네트워크 운영 비용도 중앙 집중식 플랫폼에서 채굴자에게 이전되고 경제 시스템은 보다 자율적일 것입니다.

그러나 진정으로 완전한 애플리케이션을 위해서는 백엔드인 스마트 계약을 통해서만 완전한 기능을 달성하는 것은 불가능하므로 Keeper 네트워크 또는 오라클 머신과 같은 다른 구성 요소가 필요합니다.

2. Web3 Crypto-native DApp 아키텍처실제로 Web2의 복잡한 응용 프로그램은 이전에 설명한 세 가지 터미널보다 훨씬 더 많으며 많은 모듈화, 중간 계층 및 수평 확장이 필요합니다..

아키텍처 분할

보조 제목

a) 프런트엔드 ⇒ 오픈 소스 + 자체 호스팅 프런트엔드

그리고) 자발적으로 호스트하는 프런트 엔드에서.,프런트 엔드에는 검열 저항이 있습니다.

DApp의 전반적인 보안 및 분산화를 크게 개선합니다.

보조 제목

  • b) 백엔드 ⇒ ZKP + 스마트 계약

  • 앱 아키텍처의 진화 과정은 다음과 같습니다.

  • Web2 애플리케이션: 프론트엔드 ⇒ 백엔드 ⇒ 데이터베이스

Web3 단순 애플리케이션: 프런트엔드 ⇒ 스마트 계약

Web3 복합 애플리케이션: 프런트엔드 ⇒ ZKP ⇒ 스마트 계약

스마트 계약은 전체 응용 프로그램을 분산화하지만 개방형 네트워크에서 스마트 계약을 사용하여 응용 프로그램의 논리를 처리하는 것은 양날의 검입니다.데이터와 코드가 공개되어 투명성, 확인 가능성 및 구성 가능성이 보장됩니다. 그러나 그것은 또한 개인 정보 및 보안 위험을 완전히 노출하며 체인의 공간 및 계산 비용이 매우 높습니다.

  • ZKP는 Web3 시대의 RSA가 되어 애플리케이션 통신 보안 및 탈중앙화의 단점을 제거하고 신뢰할 수 있는 DApp과 신뢰할 수 없는 DApp을 진정으로 실현할 것입니다.

  • 프런트 엔드와 백 엔드 사이의 중간 계층 및 통신 방법으로 ZKP를 추가하면 다시 한 번 두 가지 장점이 매우 잘 발휘됩니다.

프라이버시: Web2 애플리케이션에서 프라이버시는 항상 기본 옵션이었지만 블록체인 네트워크의 특성으로 인해 DApp은 항상 가상 "프라이버시"를 가질 수 있습니다. 중간 계층으로서 ZKP는 이 문제를 해결하기 위해 민감한 데이터를 오프체인으로 처리할 수 있습니다.

  • 확장: 체인의 공간이 제한되어 있어 Web2 애플리케이션의 많은 복잡한 알고리즘을 구현할 수 없습니다.ZKP는 계산의 신뢰성을 보장하면서 체인에서 알고리즘을 실행하고 체인에서 검증할 수 있습니다.

  • 계산 타당성: ZKP 계산 유형은 제한적이며 모든 계산을 ZKP로 해결할 수 있는 것은 아닙니다.

최적화: 작업의 복잡성이 증가하면 계산 시간과 공간이 크게 증가하므로 많은 소프트웨어 및 하드웨어 최적화가 필요합니다.동시에 많은 경우 처리량이 크게 향상될 수 있으며 오버헤드는 전반적인 증명은 감소하기 어렵습니다.

보조 제목

c) 데이터베이스 ⇒ 탈중앙화 노드 서비스

  • 앞에서 DApp이 블록체인을 백엔드와 데이터베이스로 사용하는 방법에 대해 설명했습니다.DApp을 블록체인 네트워크에 연결하려면 노드 서비스가 필요합니다.

  • 현재 DApp은 Alchemy, Infura와 같은 중앙 집중식 NaaS에서 일반적으로 사용됩니다.제 비전에는 앞으로 세 가지 더 나은 방향이 있습니다.

  • 다중 중앙 NaaS를 대안으로 사용하는 다중 센터 NaaS(Chainlink + Uniswap 오라클 조합과 유사) 이것은 검열 방지 및 가동 시간을 보장할 수 있는 보다 실현 가능하고 안정적인 솔루션입니다.

자체 호스팅 NaaS. 궁극의 솔루션은 "데이터베이스" 연결의 신뢰성과 다양한 데이터의 프라이버시 및 검열 방지를 보장할 수 있을 뿐만 아니라 네트워크의 탈중앙화 정도를 높일 수 있습니다.자체 호스팅 프런트 엔드 , 전체 DApp은 극도로 분산된 변화가 될 것입니다.

보조 제목Tornado.cashd) 암호화 네이티브 DApp 인스턴스

IPFS에서 호스팅됨Tornado.cash앞으로 더 많은 응용 프로그램이있을 것이라고 생각합니다

3. Web3 Infra

이것이 제가 생각하는 가장 완벽한 분산형 Web3 애플리케이션 아키텍처입니다.

첫 번째 레벨 제목위는 아키텍처의 단순화된 버전일 뿐이며, 다음은 실제 DeFi 애플리케이션의 보다 구체적인 아키텍처입니다.:

  • 노드 서비스 이외의 여러 가지를 포함합니다.

  • 보충 인프라

  • 인덱서(Indexer): 왼쪽의 그래프로 체인에 있는 데이터를 쉽게 조회할 수 있는 방법이 없기 때문에 컨트랙트 관련 데이터를 모으기 위해서는 인덱서가 필요합니다.

오라클: 오른쪽 하단에 있는 체인링크 체인은 네트워크 외부의 계약 또는 가격과 같은 데이터를 가져와야 하므로 체인(Uniswap TWAP) 또는 오프체인 오라클(Chainlink)에 가격을 공급해야 합니다.

Keeper: 오른쪽 하단 모서리에 있는 Keep3r 네트워크 스마트 계약 자체에는 작업 실행을 자동으로 트리거하는 기능이 없으므로 도움을 받으려면 외부 트리거가 필요합니다.

이러한 인프라는 DApp 구축에 매우 중요하며 Oracle 및 Indexer의 문제점과 혁신 기회에 대해서는 향후 기사에서 자세히 소개하겠습니다.

포사이트 벤처에 대하여

포사이트 벤처에 대하여

Foresight Ventures는 향후 수십 년 동안 암호 화폐의 혁신에 베팅합니다.여러 펀드를 관리합니다: VC 펀드, 2차 활성 관리 펀드, 다중 전략 FOF, 특수 목적 S 펀드 "Foresight 2차 펀드 l", 총 자산 관리 규모는 4억 달러 이상. Foresight Ventures는 "독특하고, 독립적이며, 공격적이고, 장기적"이라는 개념을 고수하고 강력한 생태적 힘을 통해 프로젝트에 대한 광범위한 지원을 제공합니다. 그 팀은 Sequoia China, CICC, Google, Bitmain 등 최고의 금융 및 기술 회사의 고위 직원으로 구성되어 있습니다.

Website: https://www.foresightventures.com/

Twitter: https://twitter.com/ForesightVen

Medium: https://medium.com/@foresightventures-zh

Substack: https://foresightventures.substack.com

Discord: https://discord.com/invite/jYtyfxfB

Linktree: https://linktr.ee/foresightventures

Related Links

0:

https://learnblockchain.cn/article/4338

https://www.zhihu.com/question/457087098

0a:

https://www.zhihu.com/question/457087098/answer/1864992254

https://www.zhihu.com/question/457087098/answer/1863665807

0b:https://www.zhihu.com/question/457087098/answer/1911173154

0c:

https://www.zhihu.com/question/457087098/answer/1864258142

https://www.zhihu.com/question/457087098/answer/1910852580

1:

https://medium.com/iearn/self-hosting-web3-services-299306b706ee

1a:

https://twitter.com/suhailkakar/status/1555894207570513920

1b:

https://www.informit.com/articles/article.aspx?p=3006828

2:

https://mp.weixin.qq.com/s/1h6yqCWyzYLM8WPGlGdtVA

2a:

https://twitter.com/ChainLinkGod/status/1562125152506195969

https://github.com/Uniswap/web3-react

https://center.dev

https://www.codemag.com/article/1701041/Legal-Notes-What’s-the-Deal-with-ReactJS’s-Licensing-Scheme

https://twitter.com/paulmillr/status/1558578060940791809

https://github.com/Nemusonaneko/projects-with-restrictions/

https://medium.com/iearn/self-hosting-web3-services-299306b706ee

https://twitter.com/samecwilliams/status/1561127191106158592

http://Trustless.fi

https://twitter.com/forgivenever/status/1556820240993882112

https://okcontract.com/whitelist

https://twitter.com/lickitungxbt/status/1558477975292715016

https://twitter.com/DotTheShake/status/1557703404574707717

https://twitter.com/mallowsxyz/status/1560655467613143040

2b:

https://twitter.com/LeopoldSayous/status/1515982366635966466

2c:

https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/

2d:

https://mp.weixin.qq.com/s/USa7y6IZRjYXa8mWK4t2Lg

https://ipfs.io/ipfs/QmTFnDJbfZLbopwjowmwNE9LFvK599sxhktAArQUvH7Tex

3:

https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application

https://mp.weixin.qq.com/s/ifaVkhdgmh41zxDKVE68Kw

https://www.usv.com/writing/2018/10/the-myth-of-the-infrastructure-phase/

https://www.usv.com/writing/2016/08/fat-protocols/

DApp
Foresight Ventures
Odaily 공식 커뮤니티에 가입하세요