공부 내용 정리

Soliduty 문법 4 - Vault와 Bank 개발하기

blockchoin 2025. 6. 30. 14:44

1. Vault(볼트)란?

  • Vault는 스마트 컨트랙트 안에서 이더를 안전하게 보관하는 금고입니다.
    쉽게 말하면, "내 지갑이 아닌, 스마트 컨트랙트 주소에 돈을 넣어두는 금고"라고 볼 수 있습니다.
  • 컨트랙트는 이더리움 네트워크 상에서 자체 주소를 가지기 때문에
    Vault 컨트랙트에 입금하면, 이더가 Vault의 주소에 보관됩니다.
  • Vault는 입금 내역, 입금 시간, 가스 사용량, 해시 생성 등의 기능도 포함하고 있습니다.

2. Bank(뱅크)란?

  • Bank는 Vault를 확장해서, 출금 기능을 추가한 컨트랙트입니다. 쉽게 말하면, "Vault 금고에 보관한 돈을 찾아가기 위한 은행창구"라고 할수 있습니다.
  • 출금 기능에는 owner 전용 권한이 걸려 있어, 최초 배포자만 출금 가능하도록 설계할 수 있습니다.

3. 수수료 비교

항목  지갑만 사용 지갑 ↔ 컨트랙트
수수료 상대적으로 낮음 상대적으로 높음
가스 소모 단순 송금 → 가스 적게 듦 함수 실행 + 조건문 처리 → 가스 많이 듦
처리 속도 빠름 함수 복잡도에 따라 느릴 수 있음

 

 

4. 수수료를 더 내고서라도 볼트랑 뱅크를 사용하는 이유

이유 설명
✅ 보안 지갑 송금은 사람이 실수할 수 있지만, 컨트랙트는 안전한 로직으로 송금 규칙을 강제 가능
✅ 자동화 컨트랙트에 출금 조건, 시간 제한, 입금 검증 등 자동화 로직을 쉽게 추가 가능
✅ 탈중앙화 중간 관리자 없이 자율적으로 동작 (DAO, 탈중앙 금융 등에서 필수)
✅ 기록 관리 입금, 출금, 사용 기록을 블록체인에 투명하게 남길 수 있음
✅ 기능 확장 조건부 입금, 다중 서명, 이자 지급 등 고급 기능을 만들 수 있음

 

5. 실제 사용 사례

탈중앙 거래소 (DEX) 컨트랙트를 통해 토큰 스왑 및 자산 보관
예치/스테이킹 금고 Vault에 자산을 맡기고, 이자를 받거나 보상을 얻음
DAO 금고 컨트랙트를 통해 공동 자산을 관리하고, 투표로 출금 결정
NFT 마켓 구매/판매 대금을 Vault 컨트랙트가 임시로 보관

 

6. 마무리 

지갑 ↔ 지갑 송금은 수수료가 저렴하지만 상대적으로 위험할 수 있습니다. 
컨트랙트는 수수료가 더 들지만, 보안성, 자동화, 투명성, 확장성이라는 큰 장점이 있습니다.

즉, 돈이 크고, 자동화가 필요하거나, 다수의 사용자가 엮이면 무조건 컨트랙트가 더 안전하고 효율적입니다.

'공부 내용 정리' 카테고리의 다른 글

ERC-721 , NFT 란?  (0) 2025.07.07
ERC-20이란?  (0) 2025.07.04
Solidity 에 대해 알아보자 3  (0) 2025.06.27
Solidity DataType 에 대해 알아보자 2  (0) 2025.06.26
Solidity DataType 에 대해 알아보자  (0) 2025.06.26