主内
ー。。ー。

초급 컨셉

EOS 디앱 - 초급 컨셉

분산형 웹 애플리케이션 구축을 위한 많은 튜토리얼이 코드를 바로 다루지만 설명하지는 않습니다. web2 개발과 web3 개발의 핵심 개념적 차이

이 가이드는 분산형 애플리케이션이 어떻게 작동하는지, 스택의 어떤 부분이 있는지 이해하는 데 도움이 될 것입니다. 다른 점, 그리고 탈중앙화 애플리케이션의 아키텍처에 대해 어떻게 생각해야 할까요?

블록체인은 다양한 기능을 제공합니다

기존 web2 개발에서는 전체 스택을 단독으로 롤링해야 합니다.AWS와 같은 클라우드 공급자를 사용하더라도 사용하고자 하는 서비스와 이러한 서비스를 함께 통합하는 방법을 선택하기만 하면 됩니다.

web3 개발에서 블록체인은 대부분의 애플리케이션을 구축하는 데 필요한 모든 기능을 갖추고 있습니다.

특징설명
데이터베이스블록체인 자체는 거대한 데이터베이스일 뿐입니다.You는 블록체인에 데이터를 저장하고 쿼리할 수도 있습니다.
데이터 복제블록체인의 작동 방식 덕분에무료에 전체 네트워크에서 데이터를 복제할 수 있습니다..
인증모든 블록체인은 인증 및 사용자 관리 기능이 내장되어 있습니다.
결제블록체인의 핵심 기능 중 하나는 분산형 금융이며 결제는 매우 쉽습니다.
서버리스 기능블록체인에는 스마트 계약 형태의 서버리스 기능이 내장되어 있습니다.
이벤트 알림메시지 대기열이나 펍 서브와 마찬가지로 블록체인에서 발생하는 이벤트를 구독할 수 있습니다.

백엔드가 필요 없습니다

web2 개발에서는 데이터를 저장하고 비즈니스 로직을 수행할 백엔드를 구축해야 합니다.REST API 또는 서버리스 함수일 수 있습니다.

web3 개발에서는 블록체인과 직접 상호 작용할 수 있습니다.자체 백엔드 인프라, kube 클러스터 또는 서버리스 함수를 실행할 필요가 없습니다. 기능이 중앙 집중식 클라우드 제공자가 아닌 분산형 블록체인에서 실행된다는 점을 제외하면 서버리스 기능과 매우 유사합니다.

여전히 인프라를 실행하고 싶을 수도 있습니다.

공개적으로 사용 가능한 노드 또는 API 서비스를 사용하는 것도 좋지만 보안이나 성능상의 이유로 자체 인프라를 운영하고 싶을 수도 있습니다. 교환을 예로 들어 보겠습니다.이들은 일반적으로 부하를 처리하고 데이터를 안전하게 보호하기 위해 자체 인프라를 운영합니다. 체인으로 전송되는**트랜잭션은 항상 암호화로 뒷받침되지만 노드 API에서 얻는 결과는 변조될 수 있습니다.

경우에 따라 백엔드가 도움이 될 수 있습니다.

자체 백엔드를 실행해야 하는 경우가 있을 수 있습니다.예를 들어, 블록체인에 없는 데이터를 저장하고 싶거나 블록체인에서 실행하기에는 너무 비싸거나 너무 오래 걸리고 스마트 계약 실행에 허용되는 최대 시간을 초과하는 비즈니스 로직을 수행합니다.

블록체인에 저장된 데이터에 보다 쉽게 액세스할 수 있는 다양한 방법을 애플리케이션에 제공하는 것도 좋습니다. GraphQL 또는 SQL 쿼리와 같이 사용할 수 있습니다.이 경우 블록체인을 수신하고 관심 있는 데이터를 필요에 맞는 방식으로 저장하는 백엔드를 구축하는 것이 좋습니다.

지갑에 익숙해지세요

블록체인 지갑은 개인 키를 관리하는 일종의 소프트웨어입니다. 지갑은 블록체인 데이터를 저장하지 않고, 대신 자신이 관리하는 개인 키를 사용하여 블록체인을 조작하는 트랜잭션에 서명합니다.

web2 개발에서는 자체 인증 시스템을 구축해야 합니다.Auth0과 같은 타사 서비스를 사용할 수도 있고 직접 만들 수도 있습니다. 사용자가 로그인한 후에는 해당 세션에 의존하여 자신이 말하는 그대로의 사람임을 증명하게 됩니다.

2FA, IP-사용자 페어링 및 기타 다양한 기술과 같은 추가 보안 조치를 추가할 수 있습니다.

web3 개발 환경에서는 사용자가 대신 지갑으로 로그인할 수 있습니다.본인 인증에 필요한 비밀번호는 없습니다. 또한 모든 상호 작용 (트랜잭션) 이 해당 상호 작용에서 비롯된 것임을 증명하기 위해 세션에 의존할 필요가 없습니다. 지갑이 제어하는 개인 키로 서명할 것입니다.

로그인 증명

일부 애플리케이션은 사용자가 다음과 같은 트랜잭션에 서명하도록 요구하지 않고 자신이 말한 그대로의 사용자임을 증명하고자 합니다. 블록체인으로 전송되었습니다.이 경우 사용자에게 메시지에 서명하도록 요청하는 메시지 서명이라는 기술을 사용할 수 있습니다. 개인 키를 사용하고 그 서명을 사용하여 신원을 증명합니다.

빅데이터는 블록체인에 속하지 않습니다

블록체인은 데이터베이스이지만 대량의 데이터를 저장하기 위한 데이터베이스는 아닙니다.해당 데이터를 다음 위치에 저장할 수 있습니다. 서비스는 이러한 목적으로 특별히 설계된 다음 해당 데이터의 해시를 블록체인에 저장합니다.이 패턴을 볼 수 있습니다. 분산형 애플리케이션에서 반복해서 반복됩니다.

이름설명
IPFS웹을 업그레이드 가능하고 탄력적이며 개방적으로 만들어 인류의 지식을 보존하고 발전시키도록 설계된 P2P 하이퍼미디어 프로토콜입니다.
아르위브Arweave 네트워크는 비트코인과 비슷하지만 데이터의 경우: 공개 원장 내에 있는 영구적이고 분산된 웹입니다.

프런트엔드는 단순한 경험일 뿐입니다

프론트엔드가 백엔드와 긴밀하게 연결되어 있는 web2 개발과 달리 web3 개발에서는 프론트엔드가 경험 계층에 불과합니다.

프론트엔드는 블록체인과 직접 상호 작용하므로 애플리케이션 보안의 100% 가 블록체인에 있습니다.그건 이를 기억하는 것이 중요합니다. 이는 사용자가 귀하의 계약과 직접 상호 작용할 수 있다는 것을 의미하기 때문입니다. 프론트엔드에 어떤 컨트롤을 구축하든 항상 우회할 수 있습니다.

공동 서명

트랜잭션을 공동 서명하는 백엔드를 생성하여 실제로 사람들이 계약서와 직접 상호 작용하는 것을 방지할 수 있습니다. 사용자가 취하는 모든 상호 작용에 대해이것은 비표준적이고 일반적으로 게임 이론 설계상의 결함을 나타내지만 봇 공격 및 기타 형태의 부정행위/남용을 방지하는 데 사용되는 경우도 있습니다.