This article has been translated from English to Korean.

이전 강의에서 스마트 계약에 대해 언급했듯이, 이더리움은스마트 계약을 생성하고 실행할 수 있는 컴퓨팅 플랫폼입니다.

스마트 계약은 사전에 프로그래밍된 소프트웨어 코드("컴퓨터 프로그램")로, 특정 조건이 충족되면 코드가 자동으로 실행됩니다.

스마트 계약을 만드는 대부분의 개발자들은 실제로 그들이 구축하고 있는 분산형 앱 또는"dApp"의 일부로 그렇게 하고 있습니다.

그런데 dApp이란 무엇일까요? 그리고 왜 중요한 걸까요?

dApp

분산형 애플리케이션(dApp)이란 무엇인가요?

분산형 애플리케이션(dApp, Dapp 또는 dapp이라고도 함)은 스마트 계약을 사용하여 자율적으로 작동하는 소프트웨어 애플리케이션입니다.

스마트 계약은 코드에 명시적으로 작성된 사전 조건에 따라 자체적으로 실행되는 컴퓨터 프로그램이기 때문에, dApp이 사람의 개입 없이 자율적으로 작동할 수 있습니다.

"dApp"은 웹이나 모바일 앱매우유사 하지만, dApp은 스마트 계약을 사용하여 구축되고 블록체인에서 실행된다는 점이 다릅니다.

가장 단순한 의미에서 dApp은 스마트 계약과 웹 사용자 인터페이스(UI)입니다.

dApp = 프론트엔드 + 스마트 계약 백엔드

다시 말해서, 그것은 여러분이 익숙하게 사용하는 스마트폰이나 웹 앱과 똑같이 보이는 프런트엔드 사용자 인터페이스(UI)와 백엔드에서 실행되는 스마트 계약의 기능을 결합한 것입니다.

의 프론트엔드는 사용자의 화면 또는 그래픽 사용자 인터페이스(GUI)에 표시되는 앱의 부분을 말합니다. 앱 의 백엔드는 사용자의 화면("프론트엔드")에 표시되지 않는 앱의 부분을 말합니다.

dApp은 두 당사자가 중개자나 중앙 기관의 개입 없이 코드를 통해 거래나 계약을 체결할 수 있도록 합니다. 그들은 단순히 코드를 신뢰함으로써 계약이 이행되도록 할 수 있습니다.

dApp은 오픈 소스이기 때문에 누구나 소스 코드를 볼 수 있습니다. 따라서 소스 코드를 검사하고 악의적인 의도를 (이론적으로) 발견할 수 있기 때문에 dApp을 신뢰하기가 더 쉽습니다.

기술 회사들은 코드를 철저히 보호하고 있기 때문에 구글의 극비 검색 알고리즘이 어떻게 작동하는지, 아니면 알렉사가 실제로 우리의 대화를 엿듣고 있는지조차 알 수 없습니다.

스마트 계약과 dApp을 사용하면 모든 것이 제대로 작동하는지 확인할 수 있습니다.

dApp은 검열에 강합니다. 즉, 정부나 대기업이 어떤 콘텐츠도 차단하거나 사용자를 금지할 방법이 없다는 뜻입니다.

이것이 좋은지 나쁜지는 사용 방식에 따라 달라집니다. 예를 들어, 페이스북과 같은 플랫폼이 정치적 견해로 인해 사용자를 차단하거나 가짜 뉴스를 퍼뜨릴 수 있기 때문에 소셜 미디어 검열은 논쟁의 대상이 되어 왔습니다.

dApp이 어떤 일을 하도록 프로그래밍되어 있고 스마트 계약이 실행되면, 그 코드를 멈추거나 되돌릴 수 있는 방법은 없습니다. "귀여워서 나중에 삭제할까 봐" 같은 일은 없습니다.

마지막으로, dApp의 큰 장점 중 하나는 오프라인으로 전환하기 어렵다는 것입니다.

dApp은 전 세계에 분산된 컴퓨터 네트워크(블록체인의 종류에 따라 수백 또는 수천 대의 컴퓨터가 될 수 있음)에서 실행됩니다.

Decentralized app (dApp)

몇 개(또는 수백 개)가 오프라인 상태가 되더라도, 나머지 네트워크는 사실상 다운타임이 없도록 블록체인을 계속 실행합니다.

그것은 모두 좋고 좋은 일이지만, dApp에는 특히 개발자 측에 몇 가지 단점이 있다는 점에 주목할 필요가 있습니다.

블록체인에 게시된 코드와 데이터는 수정하기가 더 어렵기 때문에, 개발자가 배포된 dApp을 업데이트하는 것은 매우 어려운 일입니다. 즉, 이전 버전의 버그를 수정하거나 새로운 기능을 도입하는 것은 매우 고통스러운 일입니다.

또한, 이더리움 네트워크를 이용하는 것의 장점(즉, 보안, 투명성, 분산성, 신뢰성)은 높은 간접 비용과 함께 제공됩니다.

이더리움의 현재 합의 메커니즘(작업증명)은 시간이 걸리고, 모든 노드가 각 트랜잭션을 실행하고 저장해야 하므로 더 많은 연산 능력이 필요합니다.

dApp이 본질적으로 완전히 오프라인 상태가 되지 않더라도 네트워크 혼잡이 발생하여 런타임이 느려질 수 있습니다.

이러한 트레이드오프로 인해 dApp의 확장이 어려워지지만, 향후 이더리움 업그레이드를 통해 지분증명(PoS) 합의 메커니즘으로의 전환과 같은 일부 문제를 해결할 수 있을 것으로 기대됩니다.

dApp의 예는 무엇입니까?

dApp이 실제 세계에서 어떻게 작동하는지 더 잘 이해하기 위해, 예를 들어 Uniswap을 살펴보겠습니다.

이더리움 블록체인에 구축된 Uniswap은 탈중앙화 거래소(DEX) 입니다.

암호화폐를 쉽게 교환하거나 "교환"할 수 있는 앱을 제공합니다.

앱의 사용자 인터페이스는 다음과 같습니다.

Uniswap

유동성을 관리하고 가격을 설정하기 위해 중앙 집중식 주문서를 사용하는 전통적인 거래소와 달리, Uniswap DEX는 AMM 기술을 기반으로 운영됩니다.

"AMM"은"자동화된 시장 조성자(automated market maker)"를 의미하며, 주문 장부가 아닌 유동성 풀에 의존하고 수학적 공식을 사용하여 매수 및 매도 가격을 결정하는 스마트 계약의 멋진 용어입니다.

실제로, 유니스왑은 거래소에 있는 어떤 암호화폐도 보유하지 않으며, 유동성을 창출하기 위해 거래의 반대편에 서지도 않습니다.

대신, 여러분과 스마트 계약 사이에 거래가 이루어집니다. 스마트 계약 안에는 암호화폐 자산을 사고 팔 수 있는 가격을 결정하는 수학적 공식이 있습니다.

암호 자산은 어디에서 오는 것일까요? 예를 들어, 제가 ETH의 일부를 BAT로 교환하고 싶다면, AMM이 거래를 처리하고 있다면, BAT는 누구로부터 받을 수 있을까요?

이것이 바로 "유동성 풀"이 작동하는 방식입니다. 다른 사용자들이 유동성을 제공하기 위해 암호화폐 자산을 예치하면 거래 수수료의 일부를 보상으로 받습니다.

Uniswap DEX는 오픈 소스 소프트웨어로 운영되기 때문에, 의심스러운 일이 발생하면 사용자들이 소스 코드를 확인할 수 있습니다.

이 프로토콜은 공개적이고 허가 없이 사용할 수 있습니다. 즉, 암호화폐를 사고팔고 싶은 사람이라면 누구나 dApp을 사용할 수 있습니다. 계정을 등록하거나 액세스를 요청할 필요가 없습니다. 암호화폐 지갑을 연결하기만 하면 됩니다.