Dapp

Dapp이란, Decentralized Application으로 중앙화된 기관이 관리하는 일반적인 서비스가 아닌 운영기관 없이 사용자들이 Smart Contract 상에서 운영되는 서비스를 이야기한다.

Defi가 가장 대표적인 Dapp 서비스이다.

스크린샷 2024-01-08 오후 12.59.54.png

Dapp의 장점은 특정 서비스가 중단되더라도 24/365 동작하는 Ethereum 네트워크를 통해 서비스를 지속적으로 사용이 가능하다.

하지만 중앙화된 서비스의 장점을 이용할 수 없다는 단점이 존재한다.

스크린샷 2024-01-08 오후 1.00.05.png

Dapp Architecture

Dapp은 Ethereum 네트워크와 Smart Contract 중심으로 운영된다. Ethereum네트워크에 접근만 가능한 환경이면 누구든지 서비스를 이용할 수 있다. 따라서 일반적인 서비스 아키텍쳐로 구성이 가능할 뿐만 아니라 사용자가 직접 Code나 Node에서 직접 서비스와 연결 될 수 있다.

스크린샷 2024-01-08 오후 1.00.28.png

Ethereum Network 접근 방법은?

❶ Node 운용 Geth 노드를 운영하며, 직접 네트워크에 Transaction을 전송하고 Block 데이터를 조회할 수 있다. Geth API를 이용하여, Blockchain상 데이터에 접근할 수 있다.

❷ Library 이용 (개발자) Web3 Library를 이용하여 원격에 있는 Node에 접근이 가능하다. Library를 이용하면 복잡한 로직을 간단하게 구현이 가능하여, Dapp Client 개발 시에 많이 이용된다. ❸ Wallet 이용 (일반 사용자) 일반 사용자들은 Wallet을 이용하여, Dapp을 이용할 수 있다. ETH 전송, 토큰(ERC20) 전송 뿐 아니라 최근에는 Swap 등 Defi 서비스도 Wallet만 설치하면 이용할 수 있다.

Web3란?

Web3 library는 개발자가 Ethereum 관련 개발을 편리하게 할 수 있게 도와준다.

또한 Interface형식을 유지함에 따라 Ethereum의 update에 따른 변경이 있어도 사용자는 조금의 수정이나 수정없이 서비스를 개발 할 수 있는 장점이 있다.

스크린샷 2024-01-08 오후 1.01.43.png

Lottery System

복권 시스템은 항상 조작의 이야기가 나오게 된다. 하지만 Smart Contract 기반으로 사용자 누구나 확인할 수 있는 랜덤 시스템을 이용할 수 있다면, 이런 의심이 사라지게 할 수 있다.

사용자가 번호와 금액을 스마트 컨트랙트상에 등록하게되면, 일정시간 이후 컨트랙트 상에서 랜덤으로 생성된 값을 기반으로 일치하는 사용자에게 금액을 자동으로 지급한다.