스마트 계약이 당신이 생각하는 백엔드가 아닌 이유는 무엇입니까?
1829 단어 dappssmartcontractweb3blockchain
분산 응용 프로그램과의 대부분의 상호 작용이 스마트 계약과 관련된 web3 생태계로 장면을 전환합니다. 스마트 계약은 web2의 백엔드 개발에 대한 이해와 다릅니다. 블록체인 네트워크와의 모든 상호 작용에는 비용이 따릅니다. 여기서는 스마트 계약이 소프트웨어 애플리케이션 사용자의 모든 세부 정보를 수신해야 하는 일반적인 백엔드가 아니라는 점을 설명하겠습니다.
사용자의 모든 정보를 얻는 이유는 무엇입니까?
일부 초보자에게 스마트 계약 작성은 애플리케이션 사용자의 거의 모든 정보를 수신하는 백엔드 코드 작성과 유사합니다. 일부는 이름, 출생 및 기타 많은 개인 정보를 캡처하는 프로젝트 생성에 빠르게 참여합니다. 이 사실을 알려 드리게 되어 죄송합니다. 스마트 계약은 너무 똑똑해서 해당 정보를 더 스마트하게 만들 수 없습니다.
블록체인 기술과의 상호 작용은 그것이 생성하는 프라이버시에도 불구하고 누가 스마트 계약과 상호 작용하는지 일반 대중에게 알립니다. 차단 탐색기에 더 자세한 정보를 제공하고 싶지 않습니다. 스마트 계약이 작동하는 방식인 대중에게 사용자의 세부 정보를 공개하는 것 외에도 메커니즘은 스마트 계약이 가스에 최적화된 경향이 있다고 기대합니다. 가스 최적화를 잘 이해하면 탈중앙화 애플리케이션과 상호 작용하는 데 높은 가스 비용으로 사용자를 놀라게 하지 않는 최적화된 dapp을 만드는 원칙을 발견할 수 있습니다.
이를 더 명확하게 하기 위해 일부 초보자에게서 목격한 몇 가지 실제적인 예를 보여 드리겠습니다.
pragma solidity 0.8.5;
contract Office {
struct OfficeWorkers {
string name;
address owner;
uint256 phoneNumber;
}
function doSomething() external view returns(bool) {}
}
위의 코드 블록에는 문자열, 주소 및 부호 없는 정수를 받는 구조체가 포함되어 있습니다. 꽤 수용적이죠?
이것은 실제로 누가 기능을 호출하고 정보를 제공하는지 자세히 설명하지만 슬픈 사실은 스마트 계약 생태계는 항상 해당 조항을 무관하게 만드는 돈을 포함한다는 것입니다. 위의 코드를 사용하면 해당 정보를 상태 머신 스토리지에 추가하는 함수를 호출하는 비용이 확실히 급증할 것입니다. 잘 확인해보세요.
코드 블록에 대한 비판적 검토에서 데이터베이스가 되는 스마트 계약의 결함이 하나 이상 있습니다. 구조체 내의 변수 패킹이 좋지 않습니다. 가변 포장? 이것은 변수가 저장소에서 자리를 차지하도록 구성되는 방식입니다. 가까운 시일 내에 다른 콘텐츠에서 살펴보도록 하겠습니다.
민감한 기술이기 때문에 스마트 계약 작성은 상태 머신이 성공적인 거래를 돕는 방법을 이해하기 위한 주의와 집중을 기대합니다. 이 지식은 블록체인으로 이동해야 하는 불필요한 데이터를 적절하게 필터링하고 효율적인 분산 응용 프로그램을 만드는 데 도움이 됩니다.
Reference
이 문제에 관하여(스마트 계약이 당신이 생각하는 백엔드가 아닌 이유는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamephraim/why-smart-contracts-are-not-the-backend-you-think-50jb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)