OxyCollect: Khoa học công dân bảo mật đầu tiên
Đề xuất tham gia thử thách "Bảo mật trước tiên" của Mạng lưới Midnight – Đảm bảo bảo vệ dữ liệu.
🌍 Liên kết nhanh
- Thông tin DApp đầy đủ: oxycollect.org
- Giao diện trực tiếp: oxycollect.app
- GitHub: OxyCollect-Midnight
💡 Giới thiệu về OxyCollect
OxyCollect cách mạng hóa khoa học công dân về môi trường bằng cách giải quyết mâu thuẫn về bảo mật:
xung đột giữa việc xác minh tác động môi trường và sự ẩn danh của người tham gia.
Sử dụng hạ tầng ZK của Mạng lưới Midnight, tôi đã xây dựng một nền tảng cho phép người dùng ghi lại các hoạt động dọn dẹp rác thải trong khi vẫn giữ được sự ẩn danh hoàn toàn:
- Không tên người dùng
- Không email
- Không theo dõi GPS
- Không dữ liệu cá nhân nào khác
Đổi mới cốt lõi: Chứng minh bằng mật mã các hành động bảo vệ môi trường (thu gom rác, phân loại, xác minh vị trí) thông qua các bằng chứng không tri thức, trong khi duy trì hệ thống thưởng hoàn toàn ẩn danh với ví có thể phục hồi.
🎥 Trình diễn
- 🌐 Ứng dụng trực tiếp: oxycollect.app
- 📱 Tối ưu cho di động: PWA hoàn chỉnh với hỗ trợ ngoại tuyến
- 🗺️ Bản đồ tác động công cộng: Hiển thị các khu vực dọn dẹp ẩn danh (không bao giờ hiển thị GPS chính xác)
Các tuyến chính
/anonymous
→ Giao diện nộp ẩn danh/admin
→ Bảng điều khiển quản lý bảo mật- 🔑 Hệ thống phục hồi với cụm từ 12 từ (không cần tài khoản)
🔒 Cách tôi đã sử dụng công nghệ của Midnight
Đột phá hiệu suất
- Tạo bằng chứng ZK: giảm từ 500ms → 1ms
- Ẩn danh vị trí: GPS thời gian thực → khu vực bảo mật
- Phát hiện trùng lặp: băm hình ảnh mật mã
js
// Nộp ẩn danh được hỗ trợ bởi Midnight
const zkProof = await anonymousPrivacyService.generateAnonymousZKProof({
imageData, // Đã băm, không bao giờ lưu trữ dữ liệu gốc
location, // Chuyển đổi thành khu vực 1km/5km/10km
userSecret // Tùy chọn, cho phép phục hồi
});
// Kết quả:
// • Hình ảnh được xác minh mà không cần tiết lộ
// • Vị trí được chứng minh mà không rò rỉ GPS
// • Người dùng hoàn toàn ẩn danh
🛡️ Bảo vệ dữ liệu như một tính năng cốt lõi
❌ Những gì chúng tôi KHÔNG thu thập
- Tọa độ GPS chính xác
- Định danh thiết bị
- Theo dõi IP
- Cookies hoặc phân tích
✅ Những gì chúng tôi CHỨNG MINH (với ZK)
- Hình ảnh rác hợp lệ đã được nộp (thông qua băm)
- Khu vực vị trí chung (khu vực 1km)
- Nộp duy nhất (không trùng lặp)
- Độ chính xác phân loại
- Phần thưởng token đã kiếm được
💰 Hệ thống thưởng ẩn danh
js
// Ví không có danh tính
const wallet = createAnonymousIdentity({ enableRecovery: true });
// Trả về cụm từ phục hồi duy nhất
// Số dư bắt đầu từ 0 OXY
// Kiếm token thông qua các hành động
submitLitter() → +10 OXY tokens
- Không email, không đăng ký, không KYC
- Phần thưởng được theo dõi chỉ bằng băm mật mã
- Phục hồi ví được bật qua cụm từ 12 từ
👩⚖️ Quản lý bảo mật
- Quản lý admin chỉ sử dụng băm ẩn danh
- Hệ thống cảnh cáo: 5 cảnh cáo = cấm
- Không cần tiết lộ danh tính
🌍 Tác động thực tế
Giải quyết các mối quan ngại về bảo mật nghiêm trọng
Bảo mật vị trí: Công dân ở các khu vực độc tài có thể báo cáo mà không bị theo dõi
- Tiết lộ của công ty: Báo cáo ô nhiễm với sự ẩn danh
- Tham gia của thanh thiếu niên: Người dưới 18 tuổi tham gia một cách an toàn
- Bình đẳng: Các nhóm dễ bị tổn thương (ví dụ: người vô gia cư) có thể kiếm phần thưởng mà không cần ID
Lợi ích môi trường
- Hơn 10,000 nộp ẩn danh có thể thực hiện mà không có rủi ro về bảo mật
- Bản đồ nhiệt rác toàn cầu được tạo mà không cần dữ liệu cá nhân
- Tác động cộng đồng đáng tin cậy trong khi cá nhân vẫn ẩn danh
⚙️ Hướng dẫn cài đặt
Điều kiện tiên quyết
- Node.js 18+
- PostgreSQL
- Trình duyệt hiện đại
Khởi động nhanh
bash
git clone https://github.com/oxycollect/midnight-demo
cd oxycollect-midnight
npm install
npm run db:push
npm run dev
# ✅ Ứng dụng: http://localhost:5000
Cấu hình môi trường
bash
# Cấu hình bảo mật trước tiên
DATABASE_URL=postgresql://...
ZK_MODE=midnight-network
ENABLE_ANONYMOUS=true
PRIVACY_LEVEL=maximum
Tích hợp Midnight
bash
MIDNIGHT_RPC=https://rpc.testnet-02.midnight.network
ZK_CIRCUIT_PATH=./circuits/classification.compact
PROOF_GENERATION_MODE=optimized
Tính năng ẩn danh
bash
ENABLE_RECOVERY_PHRASES=true
LOCATION_ANONYMIZATION=1km
IMAGE_HASHING=sha256
🚀 Những điểm nổi bật về đổi mới kỹ thuật
- Phục hồi có định hướng mà không cần danh tính
- Cụm từ phục hồi → SHA256 → Danh tính ví (không cần lưu trữ backend).
- Khu vực vị trí, không phải điểm: GPS được lưu trữ dưới dạng "Zone_37.77_-122.42" (độ chính xác 1km).
- Phân loại AI mà không cần ghi nhận: Hình ảnh được phân loại phía máy khách, lưu trữ dưới dạng plastic_bag + băm.
- Tích lũy token theo phiên
- Phần thưởng gắn liền với băm phiên, được duy trì qua cụm từ phục hồi.
🏗️ Kiến trúc
Frontend: React + TypeScript + TailwindCSS + PWA
Backend: Node.js + Express + PostgreSQL
Bảo mật: Mạch ZK + Mạng lưới Midnight + Băm mật mã
AI: TensorFlow.js (phân loại phía máy khách)
Bản đồ: Leaflet với các khu vực ẩn danh
✅ Kết luận
OxyCollect chứng minh rằng bảo mật và minh bạch không phải là điều mâu thuẫn:
Mỗi nộp đơn đều được xác minh, nhưng không có ai bị xác định
Tác động có thể đo lường, nhưng cá nhân thì ẩn danh
Phần thưởng được kiếm, nhưng ví không có chủ sở hữu
Quản lý được thực thi, nhưng sự bảo mật vẫn được duy trì
🌟 Bảo mật không chỉ là một tính năng. Đó là nền tảng. 🌟