블록체인/이더리움

탈중앙 어플리케이션, dApp

개발정리 2024. 4. 8. 15:45

이더리움 백서에는 탈중앙 어플리케이션 (dApp) 을 아래와 같이 정의한다.

 

1) 스마트 컨트랙트와 프론트 앤드 사용자 인터페이스를 결합한 분산 네트워크에 구축된 어플리케이션이다.

2) 이더리움에서 스마트 계약은 개방형 API 처럼 접근 가능하고 투명하기 때문에 당신의 dApp에는 다른 사람이 작성한 스마트 컨트랙트도 포함될 수 있다. 

 

 

다시 이를 정리해보면 dApp 은

 

1) 하나 이상의 스마트 컨트랙트로 구성되어 특정 기능 제공

2) 사용자들이 스마트 컨트랙트와 상호작용 할 수 있도록 인터페이스 구축

3) 분산 네트워크에 스마트 컨트랙트 배포되는 구조로 이루어져 있다.

 

 

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

 

 

1) 사용자는 인터페이스를 통해 메시지를 스마트 컨트랙트로 트랜잭션을 날린다.

2) 스마트 컨트랙트는 EVM 에 보내진다.

3) EVM 을 통해 변환된 신호는 블록체인 검증자들이 트랜잭션을 검증하고 기록하고 상태를 변환한다.

 

 

...

 

 

<이더리움 백서에는 dApp 으로 어떤 것들이 구현 가능한지 나열되어 있다.>

 

- 토큰 발행

- 금융 파생상품 및 안정 가치 통화 발행(ex. USDT)

- 신원 및 평판 시스템

- 분산형 파일 저장소

- 분산형 자율 조직 (DAO)

- 저축지갑, 작물 보험, 분산형 데이터 피드,

- 스마트 다중서명 에스크로, P2P 도박, 예측시장

 

 

이와 같은 서비스들이 2020년부터 엄청나게 쏟아져 나오기 시작하였다. 이런 현상은 크립토 시장의 불장을 견인하게 된다.

(2024년 1월 기준 dApp 프로젝트 수는 4,000개 이상)

 

 

 ...

 

 

<App vs dApp>

 

 

App

- 중앙 서버에 업로드 (검열), 개인 디바이스에 다운로드 (검열)

- 구글과 애플과 같은 중앙 서비스가 독점하기 때문에 서비스를 일방적으로 삭제 및 다운로드 받지 못하도록 하는 것이 가능.

 

dApp

- 구글과 애플이 독점하고 폐쇄적으로 운영/통제하던 서버 부분이 탈중앙 블록체인으로 바뀜.

- 모두에게 오픈되어 있고, 그 누구도 데이터나 프로그램을 통제할 수 없다.

- 누구나 검열 없이 실시간으로 이더리움 위에 올릴 수 있고, 유저 또한 검열 없이 바로 사용할 수 있다. 

 

- KYC 유저가 누구인지 확인을 하는 과정을 받는 경우도 있다.

- 이 경우 특정 국가의 사람들이 쓸 수 없도록 막는 경우도 있지만 대부분 검열 저항성을 가진다.

 

- 블록체인에 배포된 스마트 컨트랙트는 컨트랙트 생성자가 변경할 수 있는 권한, 규칙을 따로 넣어두는 경우 규칙에 따라 변경은 할 수 있다.

- 하지만 '그 누구도 컨트랙트를 삭제'하거나 '컨트랙트와 관련된 데이터를 규칙에 어긋나게 삭제/통제'할 수는 없다. 

 

 

...

 

 

이더리움의 비전은 누구나 탈중앙화와 암호학 기술을 활용하여 프라이버시를 지키 개인의 자유를 추구할 수 있는 웹 환경을 커뮤니티가 함께 만드는 것이다. 

 

 

그렇기에 이더리움 네트워크는 전 세계 사람들 모두가 함께 소유하고 운영할 수 있다는 의미의 'a world computer' 라 불린다.

 

 

닉 사보의 스마트 컨트랙트는 익명을 추구하는 것 까지는 암호학을 활용해서 가능했다. 하지만 중앙화로 이루어졌기에 누군가 시스템을 독점적으로 통제하는 방식에 의존되었고, 확장성도 낮았다.

 

 

이더리움에 도입이 되면서 누구도 통제할 수 없는, 그리고 익명의 누구나 참여해서 스마트 컨트랙트로 만들어진 서비스를 활용할 수 있게 되었다. 이는 닉 사보가 추구했던 사이퍼 펑크 정신을 완성도 있게 추구할 수 있는 환경이 만들어진 것이다.

 

 

...

 

 

 '이더리움에서 스마트 계약은 개방형 API처럼 접근 가능하고 투명하기 때문에 당신의 DApp에는 다른 사람이 작성한 스마트 컨트랙트도 포함될 수 있다.'  -이더리움 백서 중-

 

 

<위 문구가 무슨 뜻인지 살펴보자.>

 

 

1) '개방형 API' 는 특정인이 아닌 누구나 API 를 쓸 수 있도록 오픈해 놓은 오픈소스 개념이다.

2) 탈중앙 블록체인 위 '스마트 컨트랙트'는 항상 오픈소스로 누구한테나 볼 수 있는, 누구나 가져다가 쓸 수 있는 상태로 되어 있다. 

3) 탈중앙 애플리케이션을 정의할 때 하나 이상의 스마트 컨트랙트로 구성되어서 특정 기능 제공한다. 그래서 dApp을 만들때 모든 스마트 컨트랙트를 내가 작성하는 것이 아닌 '다른사람이 만든 스마트 컨트랙트를 가져와서' 블록을 쌓듯이 스마트 컨트랙트로 구성하게 된다.

4) 탈중앙 블록체인 위에서 서비스를 만드는 과정은 이러한 개방성 때문에 효율성과 확장가능성이 훨씬 커지게 된다.

 

 

...

 

 

개방성은 다른 사람이 만든 자산의 교환도 훨씬 쉬워지게끔 한다. 이것을 DEX 에 적용해보자.

 

 

토큰을 만드는 개발자가 있다고 가정해보자. 두 가지 스마트 컨트랙트는 교환 메커니즘만 만들어두면 다른 사람들이 만든 토큰 컨트랙트를 불러와 가지고 토큰 교환이 가능해지게 된다. 

 

 

토큰 A,토큰 B 컨트랙트를 가지고 와서 사람들이 두 토큰을 교환할 수 있도록 만들 수 있는 것이다. 대표적인 예가 유니스왑 서비스이다. 

 

 

...

 

 

정리

- 탈중앙 블록체인 위에 올라간 app 이 dApp이다. 

- dApp 을 구현할 때 스마트 컨트랙트는 개방형 API 이다. 누구나 자유롭게 사용가능하다.

- 이러한 개방성은 효율성과 확장성을 높여준다. 

- 한번 배포된 스마트 컨트랙트는 규칙에 따라 생성자만 수정할 수 있지만 그 누구도 삭제, 통제는 불가능하다.