Mintpass
Mintpass คือระบบการตรวจสอบสิทธิ์ที่ใช้ NFT สำหรับชุมชน Bitsocial ผู้ใช้สร้าง NFT การยืนยันที่ไม่สามารถถ่ายโอนได้หลังจากเสร็จสิ้นการท้าทาย (เช่น SMS OTP) และชุมชนสามารถตรวจสอบความเป็นเจ้าของ NFT เพื่อป้องกันการโจมตีของซีบิล เช่น การโหวตปลอม การหลีกเลี่ยงแบน และสแปม
- GitHub: bitsocialnet/mintpass
- ใบอนุญาต: เอ็มไอที
มันทำงานอย่างไร
ขั้นตอนการยืนยันมีสี่ขั้นตอน:
- คำขอ -- ผู้ใช้ไปที่
mintpass.org/requestเพื่อเริ่มกระบวนการ - ความท้าทาย -- ผู้ใช้ทำการยืนยันรหัสผ่านแบบครั้งเดียวผ่าน SMS
- มิ้นท์ -- เมื่อการตรวจสอบสำเร็จ NFT ที่ไม่สามารถโอนได้จะถูกสร้างไปยังกระเป๋าเงินของผู้ใช้
- ยืนยัน -- ชุมชนสอบถามความเป็นเจ้าของ NFT เพื่อยืนยันว่าผู้ใช้ได้รับการยืนยันแล้ว
เนื่องจาก NFT ไม่สามารถโอนได้ NFT จึงยังคงผูกอยู่กับกระเป๋าเงินที่เสร็จสิ้นการตรวจสอบ ป้องกันไม่ให้ผู้ใช้ซื้อขายหรือขายสถานะที่ตรวจสอบแล้ว
โครงสร้างโครงการ
พื้นที่เก็บข้อมูลแบ่งออกเป็นสามส่วนหลัก:
| ไดเรกทอรี | วัตถุประสงค์ |
|---|---|
contracts/ | Solidity smart Contract สำหรับการตรวจสอบ NFT |
challenge/ | เลเยอร์บูรณาการสำหรับระบบท้าทาย Bitsocial |
web/ | Next.js และ React ส่วนหน้าสำหรับโฟลว์การทำเหรียญ |
ความเป็นส่วนตัวและการจัดการข้อมูล
Mintpass ใช้แนวทางข้อมูลน้อยที่สุด:
- ข้อมูลการดำเนินงาน (รหัส OTP, โทเค็นเซสชัน) จะถูกจัดเก็บไว้ใน Redis พร้อมด้วย TTL แบบสั้นและหมดอายุโดยอัตโนมัติ
- สมาคมมิ้นท์ (การเชื่อมโยงระหว่างข้อมูลประจำตัวที่ได้รับการยืนยันและกระเป๋าเงิน) เป็นบันทึกถาวรเพียงรายการเดียว
จะไม่เก็บหมายเลขโทรศัพท์หรือรายละเอียดส่วนตัวไว้หลังจากหน้าต่างการยืนยันปิดลง
เลเยอร์ความปลอดภัยเสริม
ผู้ปฏิบัติงานในชุมชนสามารถเปิดใช้การป้องกันเพิ่มเติมโดยขึ้นอยู่กับรูปแบบภัยคุกคาม:
- การตรวจสอบชื่อเสียง IP -- ให้คะแนนคำขอที่เข้ามาเทียบกับฐานข้อมูลการละเมิดที่ทราบ
- การประเมินความเสี่ยงทางโทรศัพท์ -- แจ้งหมายเลขที่ใช้แล้วทิ้งหรือหมายเลข VoIP ก่อนที่จะออกคำท้าทาย
- การปิดกั้นทางภูมิศาสตร์ -- จำกัดการตรวจสอบเฉพาะภูมิภาค
- คูลดาวน์ต่อ IP -- ความพยายามในการยืนยันซ้ำตามขีดจำกัดอัตราจากที่อยู่เดียวกัน
กองเทคโนโลยี
| เลเยอร์ | เทคโนโลยี |
|---|---|
| สัญญา | ความแข็งแกร่ง ปรับใช้กับ Hardhat และ Foundry |
| ส่วนหน้า | Next.js + โต้ตอบ |
| เครือข่าย | ฐาน (Ethereum L2) |
การปรับใช้บน Base ช่วยให้ต้นทุนการใช้น้ำมันต่ำในขณะที่สืบทอดการรับประกันความปลอดภัยของ Ethereum
แผนการทำงาน
การปรับปรุงตามแผน ได้แก่:
- ตัวเลือกแบบ Pay-to-mint -- อนุญาตให้ชุมชนเรียกเก็บค่าธรรมเนียมเล็กน้อยสำหรับการทำเหรียญ ซึ่งเป็นการเพิ่มอุปสรรคทางเศรษฐกิจ
- สัญญาณการยืนยันเพิ่มเติม -- ขยายขอบเขตนอกเหนือจาก SMS ไปยังสัญญาณระบุตัวตนอื่นๆ
- เครื่องมือผู้ดูแลระบบแบบขยาย -- แดชบอร์ดและการควบคุมที่สมบูรณ์ยิ่งขึ้นสำหรับผู้ให้บริการชุมชน