깐부대출 - 블록체인 기반 P2P 금융 플랫폼
기존 금융권의 높은 문턱과 복잡한 절차를 블록체인 기술로 해결하여, 누구나 신뢰를 기반으로 공정하고 투명하게 금융 거래를 할 수 있는 새로운 대안 금융 생태계를 제공합니다.
목차
프로젝트 개요
깐부대출은 Hyperledger Fabric 블록체인 네트워크를 기반으로 한 개인 간(P2P) 대출 중개 플랫폼입니다. 스마트 컨트랙트를 통해 대출 계약의 전 과정을 자동화하고, 계약의 모든 내용을 블록체인 원장에 기록하여 투명성과 신뢰성을 확보합니다. 이를 통해 사용자는 비싼 법률 비용이나 복잡한 심사 절차 없이, 개인의 신용을 바탕으로 안전하게 자금을 빌리고 빌려줄 수 있습니다.
주요 기능
- 📄 스마트 컨트랙트 기반 계약: 모든 대출 계약은 체인코드로 구현되어 조건 충족 시 자동으로 실행되며, 계약 내용은 위변조가 불가능한 블록체인 원장에 영구히 기록됩니다.
- 💯 자체 신용 평가 시스템: 대출 상환 이력, 기간 준수 여부 등을 종합하여 사용자의 신용 점수를 동적으로 평가하고, 이를 대출 심사에 활용합니다.
- 🤝 P2P 대출 신청 및 중개: 사용자는 원하는 조건으로 대출을 신청하고, 다른 사용자는 게시된 요청을 보고 대출을 제안할 수 있습니다.
- ✍️ 계약서 이미지화 및 무결성 검증: 체결된 계약서는 이미지 파일로 생성되며, 이 파일의 해시(Hash)값이 블록체인에 저장되어 원본임을 증명하고 위변조를 방지합니다.
- 📊 투명한 거래 내역: 모든 대출 실행 및 상환 내역은 블록체인에 기록되어 누구나 거래 과정을 투명하게 확인할 수 있습니다.
기술 스택
구분 | 기술 | 목적 |
---|---|---|
Blockchain | Hyperledger Fabric | Private, Permissioned 블록체인 네트워크 구축 |
JavaScript | 체인코드(스마트 컨트랙트) 개발 | |
Backend | Node.js, Express.js | RESTful API 서버 구축 및 비즈니스 로직 처리 |
Frontend | React | 사용자 인터페이스(UI) 및 사용자 경험(UX) 구현 |
Tailwind CSS | 반응형 및 모던 스타일링 | |
Database | Supabase (PostgreSQL) | 사용자 프로필, 계약서 원본 등 Off-Chain 데이터 저장 |
DevOps | Docker, Docker Compose | 개발 환경 및 네트워크 구성 자동화 |
시스템-아키텍처
본 프로젝트는 하이브리드 아키텍처를 채택하여 블록체인의 신뢰성과 기존 시스템의 효율성을 모두 확보했습니다.
- 사용자 (Client): React로 구현된 웹 애플리케이션을 통해 서비스와 상호작용합니다.
- API 서버 (Backend): 사용자의 요청을 받아 비즈니스 로직을 처리합니다. 데이터의 성격에 따라 블록체인 또는 데이터베이스와 통신합니다.
- 데이터베이스 (Off-Chain): Supabase를 사용하여 사용자 프로필, 알림, 자주 변경되는 데이터, 그리고 계약서 이미지 원본 파일과 같이 용량이 큰 데이터를 저장합니다.
- 블록체인 (On-Chain): Hyperledger Fabric 네트워크에는 대출 계약의 체결, 상태 변경(상환 등)과 같은 핵심 트랜잭션과 계약서 파일의 해시(Hash) 값 등 위변조되어서는 안 될 데이터만 기록하여 무결성을 보장합니다.
설치-및-실행
사전 요구사항
- Docker & Docker Compose
- Node.js (v16 이상)
설치 과정
# 1. 프로젝트 클론
git clone https://github.com/your-username/kkangbu.git
cd kkangbu
# 2. Fabric 네트워크 실행 (Docker)
cd basic-network
./network.sh up
# 3. 서버 애플리케이션 실행
cd ../application
npm install
npm start
# 4. 클라이언트 애플리케이션 실행
cd client/loan-client
npm install
npm start
API-문서
본 프로젝트는 백엔드와 프론트엔드의 API 명세를 각각 관리합니다.
1. 백엔드 API 명세서
서버의 전체 엔드포인트에 대한 명세입니다. 아래 링크에서 확인하실 수 있습니다.
2. 프론트엔드 API 명세서 (JSDoc)
프론트엔드 services/api.js
모듈의 함수 명세입니다. 소스 코드의 JSDoc 주석을 기반으로 자동 생성된 웹 문서입니다.
참고: 위 링크가 작동하려면 아래의 GitHub Pages 설정이 필요합니다. 만약 로컬에서 문서를 생성하고 확인하려면, 프로젝트 루트에서
npm run docs
명령 실행 후docs/frontend/index.html
파일을 브라우저로 열어주세요.
팀원-소개
역할 | GitHub |
---|---|
리더, 풀스택 개발 | kjaewon4 |
풀스택 개발 | Blue-B |
풀스택 개발 | fjdjsfh |
프론트엔드 개발 | pakrksiqkslx |
프론트엔드 개발 | yunseok36 |
라이선스
이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE
파일을 참고하세요.