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

Sự phát triển mạnh mẽ của các đô thị trên thế giới gắn liền với nhu cầu triển khai hệ thống Internet of Things (IoT) nhằm xây dựng kiến trúc thành phố thông minh (Smart City). Báo cáo từ Statista ghi nhận thành phố thông minh là lĩnh vực chiếm ngân sách lớn thứ hai trong tổng số các dự án IoT phát triển năm 2021. Theo dữ liệu từ IoT Analytics, số lượng thiết bị IoT kết nối toàn cầu năm 2023 đã tăng trưởng 18%, đạt 16,7 tỷ thiết bị và được dự báo sẽ vượt mốc 27,1 tỷ thiết bị vào năm 2025.

Sự bùng nổ về số lượng thiết bị dẫn đến thách thức lớn trong công tác quản trị, bảo trì và tái cấu hình hệ thống từ xa qua môi trường Internet. Việc cập nhật các tệp lệnh tái cấu hình, Firmware hoặc Image cho các vi điều khiển nhúng thường xuyên đối mặt với rủi ro bị tấn công, can thiệp làm sai lệch hoặc giả mạo dữ liệu trong quá trình truyền nhận. Các phương pháp kiểm tra toàn vẹn truyền thống như Checksum bộc lộ hạn chế do thiếu tính minh bạch và cơ chế lưu trữ phân tán. Để giải quyết vấn đề này, đề tài đề xuất giải pháp ứng dụng công nghệ chuỗi khối (Blockchain) kết hợp tính toán cận biên (Edge Computing) nhằm quản lý và bảo vệ tính toàn vẹn của quá trình tái cấu hình thiết bị IoT trong môi trường đô thị thông minh.

Tác giả xác định 4 mục tiêu nghiên cứu cụ thể:

  1. Tìm hiểu các thiết bị cảm biến và xây dựng hạ tầng cho bộ thiết bị Libelium Smart Cities; điều chỉnh và đưa ra giải pháp tối ưu khi sử dụng thiết bị.
  2. Tìm hiểu và kết hợp nhiều thành phần cảm biến, các phương pháp giao tiếp với gateway và các giao thức truyền tải đa nền tảng để lựa chọn giải pháp phù hợp.
  3. Xây dựng hệ thống Smart City dựa trên nền tảng phần cứng Libelium và công nghệ Blockchain (bao gồm cấu hình giao tiếp thiết bị đến gateway; thiết lập hệ thống Blockchain private/testnet để lưu trữ dữ liệu).
  4. Ứng dụng giải pháp Blockchain để lưu trữ dữ liệu cảm biến thu thập được và quản lý quá trình tái cấu hình thiết bị một cách minh bạch, bảo mật.

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

  • Đối tượng nghiên cứu: Các thiết bị, cảm biến và module giao tiếp thuộc bộ phần cứng Libelium Smart Cities; kiến trúc và kỹ thuật tính toán cận biên trên thiết bị gateway; công nghệ ảo hóa container (Docker, K3s); máy tính nhúng Raspberry Pi; hệ thống truyền thông mạng từ cảm biến đến Raspberry Pi (Edge) và từ Raspberry Pi đến máy chủ đám mây (Cloud/Server).
  • Phạm vi không gian: Phòng thí nghiệm E3.1, Tòa nhà E, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh (khu vực thử nghiệm lắp đặt thiết bị cảm biến).
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 27/02/2023 đến ngày 16/06/2023.
  • Phạm vi kỹ thuật và dữ liệu: Dữ liệu môi trường thu thập bao gồm nhiệt độ, độ ẩm, áp suất khí quyển, tiếng ồn, ánh sáng và các chỉ số khí CO, NO2, O3; công nghệ truyền thông mạng qua giao thức TCP Socket và Wi-Fi 802.11 b/g/n; ngôn ngữ lập trình thực thi gồm Solidity, C, GoLang và NodeJS.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng giải pháp dựa trên các nền tảng lý thuyết và công nghệ chuyên ngành:

  • Máy chủ ảo VPS trên nền tảng OpenStack: Cung cấp hạ tầng ảo hóa điện toán đám mây mã nguồn mở, cho phép khởi tạo và quản lý linh hoạt các máy chủ ảo có khả năng mở rộng, độ bảo mật và tính sẵn sàng cao để vận hành các nút Blockchain.
  • Cơ chế truyền thông TCP Socket: Giao thức hướng kết nối (connection-oriented) đảm bảo truyền nhận dữ liệu đồng bộ, kiểm soát lỗi thông qua cơ chế xác nhận gói tin (ACK), truyền lại gói tin lỗi (retransmission) và kiểm soát luồng (sliding window), tránh nghẽn mạch tại tầng truyền thông biên.
  • Nền tảng điều phối K3s: Phiên bản Kubernetes rút gọn dành cho môi trường nhúng và biên, loại bỏ các thành phần phức tạp để tối ưu hóa tài nguyên CPU/RAM nhưng vẫn bảo toàn các tính năng cân bằng tải, quản lý vòng đời container và tự động phục hồi sự cố.
  • Blockchain IoTeX và cơ chế đồng thuận Roll-DPoS: Mạng chuỗi khối tối ưu cho IoT, sử dụng biến thể Roll-Delegated Proof-of-Stake (Roll-DPoS). Cơ chế này chia nhỏ các node xác thực (validator) thành các nhóm "Rolls", áp dụng cơ chế ủy quyền, bỏ phiếu chọn nhà sản xuất khối cùng chính sách phân bổ phần thưởng và trừng phạt nhằm tối ưu tốc độ xử lý giao dịch.
  • Hợp đồng thông minh Solidity: Ngôn ngữ lập trình hướng đối tượng dùng để viết và triển khai các Smart Contract trên máy ảo tương thích Ethereum/IoTeX, định nghĩa các cấu trúc lưu trữ và quy tắc xác thực chuỗi băm tự động.

Phương pháp nghiên cứu thực tế:

  • Phương pháp tổng hợp và phân tích lý thuyết: Nghiên cứu các công trình khoa học trong và ngoài nước về kiến trúc BloT (Blockchain IoT) và IoTT (Internet of Trusted Things) để xây dựng mô hình hệ thống 3 tầng.
  • Phương pháp thực nghiệm thiết kế hệ thống: Thiết lập môi trường mạng cục bộ và đám mây, cấu hình cụm K3s Cluster 3 node trên máy tính nhúng, cài đặt 2 node IoTeX Blockchain trên máy ảo VPS OpenStack, lập trình Smart Contract xác thực và đóng gói dữ liệu cảm biến thành các dataframe gửi qua TCP Socket.
  • Nguồn dữ liệu: Dữ liệu đo đạc thực tế từ các cảm biến vật lý Libelium Smart City Pro và dữ liệu giao dịch (transaction hash, gas price, update records) sinh ra trên mạng IoTeX Testnet.

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

Hệ thống được thiết kế theo mô hình phân tầng gồm 3 lớp: Tầng Thiết bị (Device Layer), Tầng Cận biên (Edge Layer) và Tầng Đám mây (Cloud Layer).

Tầng kiến trúc Phần cứng / Nền tảng Thông số kỹ thuật chi tiết Vai trò và chức năng triển khai
Device Layer Libelium Smart City Pro & Bo mạch Waspmote Wifi Pro Vi điều khiển ATmega1281 (14.7456 MHz), SRAM 8KB, Flash 128KB, EEPROM 4KB, SD Card 2GB, Pin CR2450 3V. Module Wi-Fi 802.11 b/g/n (2.4 GHz). Thu thập dữ liệu cảm biến: Nhiệt độ (-40°C đến +85°C), Độ ẩm (0-100% RH), Ánh sáng (3-220.000 lux), Tiếng ồn (30-110 dB), khí độc (CO, NO2, O3, SO2, H2S). Đóng vai trò TCP Client gửi dữ liệu và nhận Image tái cấu hình.
Edge Layer Cụm 3x Máy tính nhúng Raspberry Pi 3 B+ Broadcom BCM2837B0 quad-core ARM Cortex-A53 1.4GHz, RAM 1GB LPDDR2, cổng Gigabit Ethernet over USB 2.0. Cài đặt K3s (1 Master Node, 2 Worker Nodes). Triển khai dịch vụ TCP Socket Server tiếp nhận kết nối qua cổng NodePort 31252. Thực thi băm Image và truy vấn so khớp mã băm với Blockchain.
Cloud Layer 2x Máy ảo VPS trên nền tảng OpenStack Cấu hình mỗi VPS: 4GB RAM, 60GB Storage, hệ điều hành Ubuntu 22.04 LTS, GoLang environment. Chạy 2 Node Blockchain IoTeX kết nối mạng IoTeX Testnet. Cung cấp môi trường thực thi Web3 và triển khai Smart Contract lưu trữ chuỗi băm Image cùng lịch sử cập nhật.

Luồng vận hành tái cấu hình của hệ thống được tổ chức qua 3 giai đoạn:

  • Giai đoạn 1 (Tạo và đóng gói mã băm): Người dùng hoặc quản trị viên tạo Image cấu hình/firmware mới, sử dụng hàm băm một chiều để chuyển đổi Image thành chuỗi băm đại diện. Thông qua giao diện DApp/Web3, chuỗi băm cùng thông tin định danh được gửi lên mạng IoTeX Blockchain và lưu trữ cố định vào Smart Contract.
  • Giai đoạn 2 (Xác thực tính toàn vẹn tại Edge): Bản Image được gửi tới cụm K3s Edge Cluster. Thiết bị Edge nhận Image, tự tính toán chuỗi băm độc lập, đồng thời gửi yêu cầu truy vấn chuỗi băm gốc đã lưu trên IoTeX Blockchain. Edge tiến hành so sánh hai chuỗi băm: nếu trùng khớp hoàn toàn, Image được xác nhận hợp lệ và cho phép chuyển tiếp xuống Device; nếu sai lệch, hệ thống lập tức hủy bỏ Image.
  • Giai đoạn 3 (Cập nhật và lưu vết bất biến): Bo mạch Waspmote tại tầng Device tiếp nhận Image hợp lệ và nạp vào bộ nhớ để tái cấu hình. Khi hoàn tất, thiết bị gửi thông tin phản hồi (gồm Image ID, Version, Timestamp) qua TCP Socket về Master Node của K3s. Master Node kích hoạt hàm sendUpdateInfo trên Smart Contract FirmwareUpdate để ghi nhận vĩnh viễn trạng thái cập nhật vào Blockchain.

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

Chương 1: Mở đầu

Chương này phân tích bối cảnh phát triển của các công nghệ đô thị thông minh và những thách thức về an toàn thông tin khi tái cấu hình các thiết bị IoT qua mạng Internet. Tác giả xác định mục tiêu áp dụng công nghệ Blockchain nhằm tăng cường tính xác thực, minh bạch và chống giả mạo dữ liệu. Đối tượng và phạm vi nghiên cứu được định vị cụ thể tại Phòng thí nghiệm E3.1 Tòa nhà E, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, tập trung vào bộ phần cứng Libelium Smart Cities, cụm Raspberry Pi và nền tảng IoTeX.

Chương 2: Tổng quan

Chương 2 tổng thuật các nghiên cứu trong và ngoài nước về ứng dụng Blockchain trong IoT. Các công trình tiêu biểu gồm nghiên cứu bảo vệ quyền riêng tư qua quản lý danh tính chuỗi khối của Chintan Patel, hệ thống kiểm soát truy cập Fabric-IoT, các mô hình bảo mật IoT và ứng dụng Blockchain trong nông nghiệp tại Việt Nam. Tác giả phân tích tính khoa học và sự cần thiết của đề tài trong việc giải quyết bài toán toàn vẹn dữ liệu cho hàng triệu thiết bị IoT trong tương lai.

Chương 3: Lý thuyết liên quan

Chương này cung cấp nền tảng lý thuyết chi tiết về 5 thành phần công nghệ cốt lõi:

  1. Hạ tầng máy chủ ảo VPS trên nền điện toán đám mây OpenStack.
  2. Cơ chế truyền thông TCP Socket và các thuật toán kiểm soát luồng ACK, sliding window.
  3. Hệ thống quản trị container K3s với kiến trúc gọn nhẹ tối ưu cho thiết bị phần cứng hạn chế tài nguyên.
  4. Nền tảng Blockchain IoTeX và thuật toán đồng thuận Roll-DPoS với cơ chế chia nhóm Rolls, phân quyền biểu quyết và chính sách thưởng phạt.
  5. Ngôn ngữ lập trình Solidity phục vụ xây dựng hợp đồng thông minh.

Chương 4: Triển khai môi trường

Chương 4 mô tả chi tiết quá trình xây dựng kiến trúc 3 tầng và cài đặt các dịch vụ:

  • Cấu hình trạm Libelium Smart City Pro kết hợp bo mạch Waspmote và module Wi-Fi.
  • Thiết lập cụm K3s trên 3 máy Raspberry Pi 3 B+ (1 Master kltnmaster, 2 Worker kltnworker1, kltnworker2). Master Node mở dịch vụ TCP Socket Server dạng NodePort trên cổng 31252 (trong dải cổng 30000-32767).
  • Dựng 2 node IoTeX Blockchain trên máy ảo VPS Ubuntu 22.04 qua OpenStack.
  • Lập trình hợp đồng thông minh FirmwareUpdate chứa cấu trúc UpdateInfo (ID, timestamp, version), bảng ánh xạ updateRecords, sự kiện UpdateRecorded, hàm ghi nhận sendUpdateInfo và hàm truy xuất getUpdateInfo.
  • Hiện thực hóa luồng hoạt động 3 pha từ băm Image, so khớp tại biên đến nạp cấu hình và lưu vết giao dịch.

Chương 5: Đánh giá kết quả

Chương này thiết lập các tiêu chí đánh giá về độ ổn định của kênh truyền TCP Socket giữa Waspmote và cụm K3s, độ chính xác của quá trình so khớp chuỗi băm và thời gian xử lý yêu cầu. Tác giả tiến hành thống kê chi phí tài nguyên (Gas Price) và lượng tiền mã hóa IOTX cần chi trả khi thực thi các giao dịch triển khai, cập nhật trạng thái hợp đồng thông minh trên mạng IoTeX Testnet.

Chương 6: Kết luận và hướng phát triển

Chương cuối tổng kết các kết quả đạt được về mặt xây dựng hạ tầng phần cứng, triển khai phần mềm và ứng dụng thành công Blockchain vào quản lý tái cấu hình IoT. Đồng thời, tác giả thẳng thắn chỉ ra các điểm hạn chế về phần cứng, chi phí thiết bị và đề xuất các định hướng nghiên cứu mở rộng trong tương lai.


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

Kết quả thực nghiệm chính:

  • Xây dựng hoàn chỉnh hệ thống 3 tầng kết hợp phần cứng cảm biến chuyên dụng (Libelium), tính toán cận biên (Raspberry Pi K3s Cluster) và mạng chuỗi khối phân tán (IoTeX Blockchain).
  • Triển khai thành công dịch vụ TCP Socket Server dạng NodePort (port 31252) trên K3s Master Node, duy trì kết nối ổn định và tin cậy với module Waspmote Wi-Fi qua giao thức 802.11 b/g/n.
  • Thu thập và đóng gói thành công các thông số môi trường đô thị gồm nhiệt độ (-40°C đến +85°C), độ ẩm (0-100% RH), ánh sáng (3 đến 220.000 lux), tiếng ồn (30 đến 110 dB) cùng nồng độ các khí CO, NO2, O3.
  • Triển khai thành công hợp đồng thông minh FirmwareUpdate bằng Solidity trên mạng IoTeX Testnet, cho phép tự động kiểm tra tính toàn vẹn của mã băm Image và lưu trữ bất biến các thông tin định danh (ID, Version, Timestamp) của từng lần tái cấu hình.

Giải pháp và kiến nghị:

  • Khuyến nghị áp dụng giải pháp xác thực mã băm qua Blockchain để thay thế các phương thức kiểm tra toàn vẹn truyền thống, loại bỏ sự phụ thuộc vào máy chủ tập trung của bên thứ ba trong các hệ thống IoT công cộng.
  • Đề xuất mô hình K3s Cluster tại tầng biên nhằm phân chia tải xử lý dữ liệu cảm biến và trung chuyển Image, ngăn chặn hiện tượng tắc nghẽn hoặc sập mạng biên khi một nút phần cứng gặp sự cố.

Đóng góp tự nêu:

  • Khóa luận đã kết hợp thành công công nghệ chuỗi khối chuyên biệt cho IoT (IoTeX Roll-DPoS) vào quy trình quản lý vòng đời firmware trên nền tảng phần cứng mã nguồn mở Libelium, mang lại cơ chế xác thực minh bạch và chống giả mạo cho các ứng dụng đô thị thông minh.

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

Hạn chế của đề tài (theo văn bản):

  • Chi phí phần cứng: Bộ thiết bị cảm biến Libelium Smart City Pro Wifi có chi phí đầu tư ban đầu cao, tạo rào cản tài chính nếu triển khai trên diện rộng.
  • Hạ tầng truyền thông biên: Tầng thiết bị phụ thuộc vào kết nối Wi-Fi 2.4 GHz, vốn có phạm vi phủ sóng hạn chế và dễ bị ảnh hưởng bởi tính ổn định của sóng mạng tại các vị trí lắp đặt thực địa; chưa tích hợp đa dạng các giao thức truyền xa như LoRa, GPRS hay Zigbee.
  • Tài nguyên phần cứng nhúng: Máy tính nhúng Raspberry Pi 3 B+ bị giới hạn về dung lượng bộ nhớ RAM (1GB) và hiệu năng xử lý, có thể gặp khó khăn khi tải trọng dữ liệu tăng đột biến; mức tiêu thụ năng lượng của thiết bị còn tương đối cao đối với các trạm quan trắc sử dụng nguồn pin độc lập.
  • Cơ sở dữ liệu K3s: Bản phân phối K3s không tích hợp sẵn cơ sở dữ liệu phân tán mặc định, đòi hỏi phải cấu hình các điểm cuối cơ sở dữ liệu ngoài (như MySQL, PostgreSQL) khi mở rộng quy mô.

Hướng nghiên cứu tiếp:

  • Mở rộng hỗ trợ các module kết nối không dây công suất thấp và tầm xa (LoRaWAN, NB-IoT, GPRS) trên Waspmote nhằm nâng cao tính linh hoạt tại hiện trường.
  • Tối ưu hóa thuật toán tiết kiệm năng lượng cho các nút cảm biến và nâng cấp phần cứng tầng biên để xử lý các thuật toán phân tích dữ liệu phức tạp hơn.
  • Kết nối hệ thống cơ sở dữ liệu phân tán ngoài cho cụm K3s và thử nghiệm quy mô lớn trên mạng chính (Mainnet) của IoTeX.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo thực tiễn hữu ích cho:

  • Sinh viên và học viên cao học: Chuyên ngành Mạng máy tính và Truyền thông, Kỹ thuật Máy tính, Hệ thống thông tin và Khoa học máy tính nghiên cứu về sự kết hợp giữa IoT và Blockchain (BIoT).
  • Kỹ sư phát triển hệ thống: Cung cấp hướng dẫn chi tiết về cấu hình cụm K3s Kubernetes trên thiết bị phần cứng nhúng Raspberry Pi 3 B+, cài đặt dịch vụ TCP Socket dạng NodePort để giao tiếp với vi điều khiển.
  • Nhà nghiên cứu giải pháp bảo mật IoT: Cung cấp mẫu thiết kế Smart Contract bằng Solidity và quy trình xác thực mã băm 3 pha phục vụ cập nhật firmware an toàn từ xa.

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

1. Nền tảng Blockchain IoTeX sử dụng cơ chế đồng thuận nào trong nghiên cứu này và nguyên lý hoạt động ra sao?
Blockchain IoTeX sử dụng cơ chế đồng thuận Roll-DPOS (Roll-Delegated Proof-of-Stake). Trong cơ chế này, mạng lưới chia nhỏ các validator thành các nhóm gọi là "Rolls". Người dùng ủy quyền và bỏ phiếu cho các đại diện để xác định quyền tạo khối và xác thực giao dịch. Các nhà sản xuất khối nhận phần thưởng khi hoàn thành xác thực chính xác và bị phạt tước phần thưởng nếu vi phạm quy tắc.

2. Cụm tính toán cận biên (Edge Cluster) được cấu hình như thế nào trên phần cứng Raspberry Pi?
Cụm Edge được thiết lập bằng công nghệ K3s (bản phân phối Kubernetes rút gọn) trên 3 máy tính nhúng Raspberry Pi 3 B+ (vi xử lý Broadcom BCM2837B0 quad-core 1.4GHz, RAM 1GB), gồm 1 Master Node (kltnmaster) và 2 Worker Nodes (kltnworker1, kltnworker2). Dịch vụ TCP Socket Server được triển khai trên Master Node với kiểu truy cập NodePort qua cổng 31252.

3. Trạm cảm biến Libelium Smart City Pro Wifi có thể đo đạc những chỉ số môi trường nào và phạm vi đo cụ thể là bao nhiêu?
Trạm cảm biến tích hợp khả năng đo các thông số môi trường gồm: Nhiệt độ (từ -40°C đến +85°C, độ chính xác ±0.5°C), Độ ẩm (từ 0% đến 100% RH, độ chính xác ±3%), Ánh sáng (từ 3 lux đến 220.000 lux, độ chính xác ±15%), Tiếng ồn (từ 30 dB đến 110 dB, độ chính xác ±1 dB) và các chất khí ô nhiễm như CO, CO2, NO2, O3, SO2, H2S.

4. Quy trình tái cấu hình thiết bị IoT thông qua chuỗi băm trên Blockchain diễn ra qua những bước nào?
Quy trình gồm 3 giai đoạn: Giai đoạn 1, người dùng băm Image và gửi chuỗi băm lên Blockchain qua Smart Contract; Giai đoạn 2, Edge nhận Image, tự băm lại và so sánh với chuỗi băm truy vấn từ Blockchain, nếu khớp mới gửi xuống Device; Giai đoạn 3, Device nạp Image mới và gửi thông tin phản hồi (ID, timestamp, version) để Edge gọi Smart Contract ghi nhận vào sổ cái Blockchain.

5. Hợp đồng thông minh Solidity quản lý các thông tin tái cấu hình qua cấu trúc dữ liệu nào?
Hợp đồng định nghĩa cấu trúc UpdateInfo chứa các trường: id (mã định danh), timeUpdated (mốc thời gian cập nhật) và version (phiên bản phần mềm). Dữ liệu được lưu trong ánh xạ updateRecords liên kết với địa chỉ tài khoản gửi, được ghi nhận qua hàm sendUpdateInfo và phát sự kiện UpdateRecorded.


Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Khánh An đã xây dựng thành công giải pháp bảo vệ tính toàn vẹn và quản lý quá trình tái cấu hình thiết bị cho kiến trúc Thành phố thông minh bằng cách kết hợp trạm cảm biến Libelium, cụm tính toán cận biên K3s trên Raspberry Pi và mạng chuỗi khối IoTeX. Nghiên cứu đã chứng minh tính khả thi của quy trình xác thực mã băm 3 giai đoạn thông qua hợp đồng thông minh Solidity, loại bỏ nguy cơ giả mạo cấu hình từ xa và đảm bảo tính bất biến của nhật ký vận hành. Mô hình thực nghiệm cung cấp tài liệu kỹ thuật giá trị cho việc triển khai các hệ thống IoT phân tán, bảo mật và sẵn sàng cao trong thực tiễn đô thị thông minh.