Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển nhanh chóng, hoạt động phân phối vé sự kiện và hòa nhạc trực tuyến đang đối mặt với nhiều bất cập mang tính hệ thống. Các nền tảng bán vé truyền thống hiện nay bộc lộ nhiều điểm hạn chế, bao gồm: tình trạng gian lận vé, nạn đầu cơ vé (scalping), sự thiếu minh bạch về số lượng vé thực tế phát hành, cũng như việc thiếu vắng một môi trường giao dịch ngang hàng (P2P) an toàn. Sự thiếu hụt các cơ chế kiểm soát này dẫn đến sự hình thành của thị trường chợ đen, gia tăng rủi ro cho người tiêu dùng và gây thiệt hại uy tín cho các đơn vị tổ chức sự kiện.

Để giải quyết các vấn đề trên, đề tài khóa luận tốt nghiệp ngành Công nghệ Thông tin tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã tiến hành nghiên cứu và xây dựng hệ thống website bán vé sự kiện âm nhạc ứng dụng công nghệ Blockchain với tên gọi Tickifi.

Các mục tiêu và nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Nghiên cứu nền tảng lý thuyết và công nghệ liên quan: Next.js, Chakra UI, Framer Motion, Google Analytics, Web3.js, MetaMask, Blockchain, Solidity, Truffle Framework, NestJS và cơ sở dữ liệu MongoDB.
  2. Khảo sát hiện trạng các hệ thống bán vé trực tuyến hiện có (điển hình như TicketBox).
  3. Thu thập, phân tích yêu cầu chức năng và phi chức năng của hệ thống; xây dựng mô hình hóa yêu cầu thông qua danh sách Actor và Use Case chi tiết.
  4. Thiết kế hệ thống: Thiết kế cấu trúc cơ sở dữ liệu, kiến trúc xử lý backend, kiến trúc hợp đồng thông minh (Smart Contracts) và xây dựng các sơ đồ tuần tự (Sequence Diagrams) cho các nghiệp vụ chính.
  5. Hiện thực hóa website bán vé tích hợp mô hình B2B (hỗ trợ ban tổ chức khởi tạo và bán vé) và mô hình thị trường thứ cấp P2P (cho phép người dùng mua bán, trao đổi vé an toàn).
  6. Triển khai thử nghiệm hệ thống smart contract trên mạng thử nghiệm blockchain Mumbai và kiểm thử các tính năng của ứng dụng.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Nền tảng website bán vé hòa nhạc tích hợp công nghệ Web3 và Blockchain, hỗ trợ các quy trình từ khởi tạo sự kiện, phê duyệt, mua vé sơ cấp đến giao dịch vé thứ cấp.
  • Phạm vi nghiên cứu: Xây dựng hệ thống phần mềm hoàn chỉnh gồm giao diện người dùng (Client), giao diện quản trị (Admin), hệ thống dịch vụ backend và hệ thống hợp đồng thông minh được triển khai thử nghiệm trên môi trường mạng Polygon Mumbai Testnet.
  • Thời gian thực hiện: 15 tuần (từ ngày 11 tháng 09 năm 2023 đến ngày 25 tháng 12 năm 2023).

Cơ sở lý thuyết và công nghệ áp dụng

Đồ án ứng dụng mô hình kiến trúc hiện đại, kết hợp giữa các công nghệ web tiêu chuẩn và hạ tầng phi tập trung Web3.

Phân tầng kiến trúc Công nghệ sử dụng Vai trò và chức năng chính trong hệ thống
Frontend Next.js, Chakra UI, Framer Motion Xây dựng giao diện người dùng và giao diện quản trị Admin; hỗ trợ Server-Side Rendering (SSR), định tuyến dựa trên tệp (file-based routing), tối ưu hóa SEO và quản lý giao diện tương thích (responsive).
Backend & Dữ liệu NestJS, TypeScript, MongoDB Xây dựng hệ thống API theo kiến trúc module và dependency injection; lưu trữ dữ liệu phi quan hệ linh hoạt (dạng BSON) về thông tin sự kiện, người dùng, giao dịch và phân mục.
Blockchain & Smart Contracts Solidity, Truffle Framework, Ganache Lập trình logic nghiệp vụ phi tập trung, kiểm thử hợp đồng trên môi trường blockchain cục bộ Ganache và biên dịch, triển khai tự động.
Giao tiếp Web3 & Ví Web3.js, MetaMask Cầu nối giao tiếp giữa giao diện web và các node Ethereum; quản lý khóa riêng tư (private keys), xác thực tài khoản và ký xác nhận giao dịch.
Giám sát & Phân tích Google Analytics Theo dõi lưu lượng truy cập, phân tích hành vi người dùng và hiệu suất của nền tảng trực tuyến.

Phương pháp nghiên cứu trong đề tài bao gồm:

  • Phương pháp phân tích - tổng hợp: Nghiên cứu tài liệu kỹ thuật về các chuẩn Web3, cơ chế hoạt động của máy ảo Ethereum (EVM) và các giải pháp NoSQL.
  • Phương pháp khảo sát hiện trạng: Đánh giá ưu và nhược điểm của các nền tảng thương mại điện tử và bán vé trực tuyến như TicketBox, Amazon, Alibaba để xác định yêu cầu hệ thống.
  • Phương pháp thiết kế hệ thống phần mềm: Phân tích mô hình Use Case, lập đặc tả chi tiết cho từng tác vụ, thiết kế biểu đồ tuần tự cho các luồng xử lý tương tác giữa Frontend, Backend và Smart Contracts.
  • Phương pháp thực nghiệm: Lập trình thử nghiệm các hợp đồng thông minh trên môi trường Ganache, sau đó triển khai lên mạng thử nghiệm Mumbai Testnet để kiểm tra tính toàn vẹn và chi phí vận hành.

Thiết kế và triển khai hệ thống

Kiến trúc các Hợp đồng thông minh (Smart Contracts)

Hệ thống Tickifi tổ chức logic phi tập trung thành 7 hợp đồng thông minh bằng ngôn ngữ Solidity, mỗi hợp đồng chịu trách nhiệm về một khối chức năng cụ thể:

  1. Tickifi Smart Contract: Hợp đồng trung tâm của hệ thống, điều phối các thao tác cốt lõi gồm tạo sự kiện, điều phối luồng mua vé, hoàn vé, chuyển đổi trạng thái sự kiện, xác thực địa chỉ ví của người dùng nhằm ngăn chặn ví rác/spam và quản lý chuyển quyền sở hữu ứng dụng.
  2. Event Smart Contract: Quản lý các nghiệp vụ vận hành của sự kiện bán vé, bao gồm chức năng phát hành vé, xử lý hoàn tiền (refund) khi sự kiện bị hủy hoặc xảy ra sự cố, cập nhật thông tin sự kiện và cấu hình các hạng vé.
  3. Organizer Smart Contract: Quản lý và xác minh định danh của các đơn vị tổ chức sự kiện, kiểm soát thẩm quyền trước khi cho phép thực hiện các thao tác quản lý bán vé.
  4. Balance Smart Contract: Quản lý tài chính của ban tổ chức sự kiện và hệ thống. Hợp đồng xử lý tiền ký quỹ (collateral) khi tạo sự kiện, theo dõi dòng tiền thanh toán mua vé, quản lý phí tác quyền/sáng tạo (creator fees) từ thị trường giao dịch thứ cấp và điều kiện giải ngân lợi nhuận sau khi sự kiện diễn ra thành công không vi phạm.
  5. Timestamp Smart Contract: Quản lý mốc thời gian của toàn bộ quy trình: thời điểm mở bán vé, hạn chót bán vé, thời gian bắt đầu và kết thúc sự kiện; làm cơ sở xác thực điều kiện rút lợi nhuận của ban tổ chức.
  6. Lockable Smart Contract: Quản lý trạng thái khóa khẩn cấp của sự kiện khi phát hiện hoạt động đáng ngờ hoặc khi sự kiện bị hủy bỏ, bảo vệ tài sản và quyền lợi của người mua vé.
  7. Marketplace Smart Contract: Vận hành thị trường thứ cấp, quản lý các danh mục vé được người dùng niêm yết (listing), xử lý giao dịch mua lại, bán lại và tạo báo giá/đề xuất giao dịch (offers) ngang hàng.

Các quy trình nghiệp vụ chính qua Sequence Diagrams

Tác giả đã mô hình hóa chi tiết các luồng tương tác thông qua hệ thống sơ đồ tuần tự:

  • Kết nối ví và Xác thực địa chỉ ví (Connect Wallet & Verify Address): Người dùng kết nối ví MetaMask với hệ thống, hệ thống thực hiện ký thông điệp để xác thực quyền sở hữu địa chỉ ví thay thế cho phương thức đăng nhập bằng tên người dùng và mật khẩu truyền thống.
  • Tạo và Phê duyệt sự kiện (Create New Event & Approve Event): Đơn vị tổ chức gửi biểu mẫu khởi tạo sự kiện cùng các thông số vé; quản trị viên (Admin) xem xét và thực hiện giao dịch duyệt sự kiện trên blockchain thông qua ví Admin.
  • Mua vé sơ cấp (Buy Tickets): Người dùng lựa chọn sự kiện, chọn hạng vé trên trang đặt vé (Booking Page), thực hiện ký và xác nhận giao dịch thanh toán qua ví điện tử; Smart Contract ghi nhận quyền sở hữu vé trực tiếp trên sổ cái.
  • Giao dịch vé thứ cấp trên Marketplace (Listing, Cancel Listing, Buy Tickets on Marketplace): Chủ sở hữu vé niêm yết vé lên sàn phi tập trung; người mua khác thực hiện thanh toán trực tiếp qua Marketplace Smart Contract, hệ thống tự động trích xuất phí bản quyền cho ban tổ chức và chuyển quyền sở hữu vé cho người mua mới.
  • Hoàn vé (Refund Tickets): Kích hoạt khi sự kiện bị hủy bỏ, người dùng gửi yêu cầu hoàn tiền và hợp đồng tự động hoàn trả số dư từ quỹ ký quỹ của sự kiện về ví người mua.

Nội dung chính theo từng chương

Chapter 1: Introduction

Chương mở đầu trình bày tính cấp thiết của đề tài xuất phát từ các lỗ hổng của ngành bán vé truyền thống (thiếu minh bạch số lượng vé, nạn phe vé, lừa đảo vé giả). Tác giả giới thiệu tổng quan dự án "Tickifi", định hình mô hình hoạt động B2B kết hợp P2P, xác định các mục tiêu công nghệ (Next.js, NestJS, Solidity, MongoDB, Truffle, Web3.js), đối tượng nghiên cứu, phạm vi thực hiện và ý nghĩa thực tiễn của việc ứng dụng công nghệ sổ cái phân tán vào thương mại điện tử.

Chapter 2: Technology Fundamentals

Chương 2 cung cấp cơ sở lý thuyết chi tiết về các công nghệ nền tảng:

  • Phân tích nguyên lý hoạt động của Next.js (SSR, file-based routing, SEO optimization), Chakra UI và thư viện hoạt họa Framer Motion.
  • Trình bày kiến trúc Web3.js và cơ chế tương tác với các node Ethereum qua giao thức HTTP/WebSocket.
  • Giới thiệu vai trò của Google Analytics trong việc thu thập số liệu hành vi người dùng.
  • Trình bày vai trò và cơ chế bảo mật của MetaMask trong quản lý khóa riêng và tương tác DApp.
  • Khái quát lý thuyết blockchain, tính bất biến, sổ cái phân tán và cơ chế thực thi của Smart Contracts.
  • Trình bày cú pháp, tính chất hướng đối tượng và khả năng tương thích EVM của ngôn ngữ Solidity.
  • Giới thiệu bộ công cụ Truffle Framework (biên dịch, migration, testing với Ganache) và mạng thử nghiệm Mumbai.
  • Phân tích kiến trúc của NestJS (TypeScript, dependency injection, mô hình module, interceptors, middleware) và cơ sở dữ liệu MongoDB (lưu trữ document BSON, dynamic schema, khả năng mở rộng ngang).

Chapter 3: Requirement Capturing and Survey

Chương 3 tập trung vào công tác khảo sát và phân tích yêu cầu:

  • Khảo sát các nền tảng thực tế (phân tích ưu, nhược điểm của TicketBox, Amazon, Alibaba).
  • Xác định yêu cầu chức năng cho khối khách hàng (Client) và khối quản trị (Admin).
  • Xác định các yêu cầu phi chức năng (bảo mật, hiệu năng, tính mở rộng).
  • Xây dựng sơ đồ Use Case tổng quát và sơ đồ Use Case người dùng.
  • Lập bảng đặc tả chi tiết cho từng Use Case: Đăng nhập (Login bằng ví), Cập nhật thông tin người dùng, Xem danh sách sự kiện, Tìm kiếm sự kiện, Mua vé, Xem danh sách người giữ vé, Tạo sự kiện cho Organizer, Phê duyệt sự kiện, Xem chi tiết sự kiện, Quản lý người dùng, Quản lý danh mục sự kiện, Xem lịch sử giao dịch và Quản trị sự kiện.

Chapter 4: System Design

Chương 4 thiết kế chi tiết kiến trúc kỹ thuật của hệ thống:

  • Thiết kế các bảng/tài liệu trong cơ sở dữ liệu MongoDB phục vụ lưu trữ thông tin nghiệp vụ.
  • Xây dựng các sơ đồ tuần tự (Sequence Diagrams) cho các tương tác cốt lõi: Kết nối ví, Xác thực địa chỉ ví, Tạo sự kiện mới, Mua vé, Hoàn tiền vé, Niêm yết vé trên sàn Marketplace, Hủy niêm yết vé, Mua vé trên sàn Marketplace, Kết nối ví quản trị viên và Phê duyệt sự kiện.
  • Thiết kế cấu trúc phân tầng và tổ chức module của backend NestJS.

Chapter 5: Implementation and Testing

Chương 5 trình bày quá trình cài đặt, hiện thực hóa mã nguồn và kiểm thử hệ thống:

  • Giới thiệu môi trường cài đặt và cấu hình quy trình triển khai ứng dụng.
  • Hiện thực hóa hệ thống giao diện: Landing Page (5 màn hình), Events Page (2 màn hình), Event Detail Page (3 màn hình), Booking Page (2 màn hình), Marketplace Event Page (2 màn hình), Ticket Detail Page, Profile Drawer, Create Event Page (12 bước/màn hình), Profile Page (3 màn hình), Profile Setting (2 màn hình), Admin Page và Quản lý người dùng Admin.
  • Trình bày phương pháp và kỹ thuật kiểm thử các hợp đồng thông minh trên Ganache và thử nghiệm tương tác thực tế trên mạng Polygon Mumbai Testnet.

Kết quả và đóng góp

Kết quả chính

  • Xây dựng hoàn chỉnh nền tảng web Tickifi: Hiện thực hóa thành công hệ thống website bán vé âm nhạc tích hợp công nghệ Web3, đáp ứng đầy đủ quy trình từ tạo sự kiện, kiểm duyệt, bán vé sơ cấp đến thị trường giao dịch vé thứ cấp.
  • Hệ thống Smart Contract hoàn chỉnh: Triển khai 7 hợp đồng thông minh chuyên biệt (Tickifi, Event, Organizer, Balance, Timestamp, Lockable, Marketplace) bằng Solidity, thiết lập cơ chế quản lý vòng đời vé hoàn toàn tự động và minh bạch.
  • Quy trình xác thực Web3: Tích hợp thành công cơ chế đăng nhập và ký xác thực thông qua ví MetaMask, loại bỏ sự phụ thuộc vào phương thức lưu trữ mật khẩu tập trung truyền thống.
  • Triển khai thử nghiệm không chi phí: Vận hành thành công toàn bộ hệ thống hợp đồng trên mạng thử nghiệm Polygon Mumbai Testnet, đảm bảo kiểm thử toàn diện các luồng nghiệp vụ mà không phát sinh chi phí tài chính thực tế.

Đóng góp thực tiễn

  • Đề xuất giải pháp loại bỏ rủi ro vé giả và nạn đầu cơ vé bằng cách áp dụng tính chất không thể làm giả và khả năng truy vết của công nghệ blockchain.
  • Cung cấp cơ chế giải ngân an toàn cho ban tổ chức và cơ chế hoàn tiền tự động cho khán giả thông qua các điều kiện logic được lập trình cứng trong smart contract (khóa quỹ, kiểm tra mốc thời gian).
  • Tạo lập môi trường giao dịch ngang hàng minh bạch cho thị trường vé thứ cấp, đảm bảo quyền lợi chia sẻ doanh thu bản quyền cho ban tổ chức khi vé được mua bán lại.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Hệ thống mới được triển khai và đánh giá trên môi trường mạng thử nghiệm (Mumbai Testnet), chưa được vận hành trên mạng chính thức (Mainnet) với các điều kiện chịu tải thực tế và chi phí gas thực.
    • Trải nghiệm người dùng phụ thuộc vào mức độ am hiểu công nghệ Web3 (cách thức cài đặt, sử dụng ví tiền mã hóa MetaMask và cơ chế ký giao dịch).
    • Tác giả tự nhận định do kinh nghiệm ban đầu nên thiết kế hệ thống vẫn còn tồn tại một số điểm hạn chế về mặt giao diện và tối ưu hóa xử lý.
  • Hướng nghiên cứu tiếp:
    • Tối ưu hóa trải nghiệm người dùng nhằm đơn giản hóa quy trình tương tác Web3 cho người dùng phổ thông.
    • Nghiên cứu cơ chế triển khai hệ thống lên mạng chính thức (Mainnet).
    • Nâng cấp và tối ưu hóa hiệu năng thực thi của các hợp đồng thông minh nhằm giảm thiểu chi phí phí gas giao dịch.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này có giá trị tham khảo hữu ích đối với:

  • Sinh viên và nhà phát triển phần mềm ngành Công nghệ Thông tin: Tham khảo mô hình phân rã và thiết kế kiến trúc đa hợp đồng thông minh (Smart Contract modular architecture) phục vụ các bài toán thương mại điện tử thực tế.
  • Các nghiên cứu về ứng dụng Blockchain: Tham khảo quy trình tích hợp giữa giao diện người dùng hiện đại (Next.js, Chakra UI), hệ thống xử lý API backend (NestJS, MongoDB) với mạng lưới blockchain qua thư viện Web3.js.
  • Kỹ sư phát triển hệ thống: Tham khảo hệ thống sơ đồ Use Case, bảng đặc tả chi tiết và các sơ đồ tuần tự (Sequence Diagrams) giải quyết bài toán đặt chỗ, thanh toán phân tán và hoàn tiền tự động.

Câu hỏi thường gặp

1. Dự án "Tickifi" sử dụng mạng blockchain nào để triển khai và thử nghiệm?

Dự án sử dụng mạng Polygon Mumbai Testnet (mạng thử nghiệm mô phỏng Ethereum) để triển khai và kiểm thử các hợp đồng thông minh Solidity, kết hợp với Ganache cho môi trường blockchain cục bộ nhằm đảm bảo quá trình phát triển không phát sinh chi phí giao dịch thực tế.

2. Hệ thống quản lý tài chính và quyền lợi của ban tổ chức sự kiện thông qua hợp đồng thông minh nào?

Hệ thống sử dụng Balance Smart Contract để quản lý tài chính. Hợp đồng này xử lý tiền ký quỹ khi tạo sự kiện, lưu giữ tiền thanh toán vé của khán giả, thu phí bản quyền từ các giao dịch trên Marketplace và kiểm soát điều kiện giải ngân lợi nhuận cho ban tổ chức sau khi sự kiện hoàn thành hợp lệ.

3. Quy trình bảo vệ người mua vé khi sự kiện bị hủy bỏ hoặc có dấu hiệu bất thường được thiết kế ra sao?

Quy trình này được đảm bảo thông qua sự phối hợp giữa Lockable Smart Contract (khóa trạng thái sự kiện khi có bất thường) và Event Smart Contract (chứa chức năng hoàn tiền - Refund Tickets), cho phép tự động hoàn trả số dư từ quỹ ký quỹ về địa chỉ ví của người mua.

4. Nền tảng sử dụng các công nghệ nào cho phần Frontend và Backend?

Frontend được xây dựng bằng framework Next.js kết hợp thư viện giao diện Chakra UI và Framer Motion. Backend được phát triển bằng framework NestJS với ngôn ngữ TypeScript, lưu trữ dữ liệu nghiệp vụ trên cơ sở dữ liệu MongoDB.

5. Phương thức xác thực người dùng trên hệ thống Tickifi khác gì so với các website bán vé truyền thống?

Thay vì sử dụng tài khoản đăng nhập bằng tên người dùng/email và mật khẩu lưu tập trung trong cơ sở dữ liệu, Tickifi sử dụng thư viện Web3.js kết nối với ví MetaMask để xác thực danh tính người dùng thông qua chữ ký số mã hóa và địa chỉ ví blockchain.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Hồ Quốc Bảo và Tống Văn Nam (hướng dẫn bởi ThS. Nguyễn Trần Thị Vân) tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã giải quyết trọn vẹn bài toán xây dựng nền tảng bán vé hòa nhạc "Tickifi" ứng dụng công nghệ Blockchain. Bằng việc kết hợp kiến trúc Next.js, NestJS, MongoDB cùng hệ thống 7 smart contract Solidity triển khai trên Mumbai Testnet, đề tài đã đưa ra giải pháp khắc phục các vấn nạn gian lận vé và thiếu minh bạch của thị trường vé truyền thống. Đây là tài liệu tham khảo có cấu trúc hoàn chỉnh và giá trị thực tiễn cao cho các dự án phát triển ứng dụng phi tập trung trong lĩnh vực thương mại điện tử.