Thông qua việc tìm hiểu và xây dựng hệ thống quản lý chuỗi cung ứng vac xin em nhận thay dé tài có thé giải quyết các van dé trong chuỗi cung ứng trong khi dữ liệu và logic doanh nghiệp
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
NGUYEN QUOC DUONG
KHOA LUAN TOT NGHIEP NGHIEN CUU VA HIEN THUC HE THONG TRUY XUAT NGUON GOC CUA VAC XIN COVID-19 VOI
CONG NGHE BLOCKCHAIN VA IOT
Research and implement traceability of Covid-19 vaccine with
Blockchain and IoT technology
KY SƯ NGANH KY THUAT MAY TÍNH
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TÍNH
NGUYEN QUOC DƯƠNG - 17520385
KHÓA LUẬN TÓT NGHIỆP
NGHIÊN CỨU VÀ HIỆN THỰC HỆ THÓNG TRUY XUẤT NGUON GOC CUA VAC XIN COVID-19 VỚI
CÔNG NGHỆ BLOCKCHAIN VÀ IOT
Research and implement traceability of Covid-19 vaccine with
Blockchain and IoT technology
KY SƯ KY THUAT MAY TÍNH
GIANG VIEN HUONG DAN
TS DOAN DUY THS NGUYEN THANH THIEN
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 62/QD-DHCNTT
ngày 14 tháng 02 năm 2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LỜI CÁM ƠN
Dé hoàn thành khóa luận tốt nghiệp này, em xin chân thành cảm ơn các thầy côtrường Đại học Công nghệ Thông tin- Dai học Quốc gia Thành phố Hồ Chí Minhnói chung và các thầy cô giáo khoa Kỹ thuật máy tính nói riêng đã cho chúng em.kiến thức và kinh nghiệm quý báu trong 4 năm qua
Xin gửi lời cảm ơn chân thành nhất đến Thạc sĩ Nguyễn Thanh Thiện, Tiến sĩ Đoàn
Duy, những người đã dành thời gian và kinh nghiệm quý báu của mình đã tận tình
hướng dẫn em hoàn thành khóa luận tốt nghiệp Xin chân thành cảm ơn sự giúp đỡ
của bạn bè, anh chị trong và ngoài trường đã giúp em tìm kiếm và thu thập thông tin
trong quá trình thực hiện khóa luận Một lần nữa xin cảm ơn mọi người đã dànhthời gian và tâm sức đề hỗ trợ em hoàn thành khóa luận tốt nghiệp Kính mong quýthầy cô và các bạn bỏ qua, tha thứ trong quá trình thực hiện khóa luận chắc chắn cónhững sai sót và thiếu sót
Dương
Nguyễn Quốc Dương
Trang 5Chương 1 MỞ ĐẦU 22 -SS SE E9E1211211215211111111111111 1111111111 c0 2
1.1 Van dé phân phối và tiêm Vac xin 2 2 2 2+E£+Ee£EeEEeEEeEEerkrrerreee 2
1.2 Mục tiêu để tài chua 5
1.3 Phương pháp nghiÊn CỨU - 6 c1 3121131191111 111 EEEErkrrrkrrrre 5
1.4 Nội dung nghiÊn CỨU - 6 <3 9 99T ng ng 6
1.5 Giới hạn đề tài -cccccccrtnthhh nhưng he 6Chương 2 CƠ SỞ LÝ THUYÊT - 22 2 S2E2E£+EE£EEEEEEEEEEEEEEEErErrerrkrrvee 7
2.1 Các khái niệm chung về Blockchain (chuỗi khối) -5-52-55¿555+¿ 72.2 Các cơ chế đồng thuận (ConsenSu$) << < 55s S222 ceesseeeeeeees 13
2.2.1 Tổng quan về cơ chế đồng thuận - 2-2 5¿2+2+++x++zx+zzxeex 13
2.2.2 Các cơ chế đồng thuận trong blockchain - 2-5252 22 s+zszzsz+2 14
2.3 Kiến trúc của chuỗi khối Biance Smart Chain -5¿ ©5252 s2sz25++‡ 172.4 Hệ thống lưu trữ phân tán — IPFS ¿+ ©++++x++z++zx++zx++rxe+rxeex 182.5 Hợp đồng thông minh (Smart contraCf) 2: 2 2 22 22E2+E££E+£++£E+£+2vsz2 192.6 Ứng dụng phi tập trung (Decentralized Application) . -.: ‹:-: 192.7 Vi điện tử - Metamask - Ă 1312231122211 129 1 ng ng vn ng ng re 20
2.8 Thư viện Web3 - API Javascript Ethereum - -s++-ss+xsssxsexseeress 21
2.9 Khung ứng dung may chủ - Nes(JŠ Án HH Hư, 21
2.10 Cơ sở dit liệu NoSQL — MongoDB cee eecceesecesceceneeeeeeeseeceeeseeeneaeeeteees 21 2.11 Máy chủ HeroKU - 5 + c1 399118393183 11 8 111 811 9111 11 g1 ng ng ngư 21 2.12 Dịch vu Cloud Mongo Atlas - G13 S121 1 ng ng nh Hy re, 22
2.13 Các giao thức kết nối không dây - ¿2 + + ++E£+E£2E+Ee£Eerkerxerxerxee 23Chương 3 PHAN TICH VÀ THIẾT KE HỆ THÓNG 2- 5522 52 25
Trang 63.1 Tổng quan hệ thống - ¿2-22 52©+22E+EEE£EEE2EEEEEE2EEE2EE2E2EE2EEkrrrrres 253.2 Thiết kế hợp đồng thông minh quản lý chuỗi cung ứng Vac xin 26
3.2.1 Sơ đồ hệ thống -¿- ¿+ kSkE 39 1211211 2152171111111111 111111111 cxe 26
3.4.1 Sơ đồ hệ thống -¿- ¿+ sSt9Ek9 12 12E12121712111111112 211111111 383.4.2 Plan CONG 8n .,.ÔỎ 38
3.4.3 Sơ đỒ Mach seeccccscccsesssesssesssessssssssssecsssssecssecssecssscsscssscssecsuecsscssecssecsseessesses 42
3.4.4 Cach hoat 0000i))Nnmi 43 3.4.5 Giải thuật giám sát năng lượng cho kho bao quản - - 5+ 44
3.5 Thiết kế chức năng giám sát nhiệt độ cho khu vực vận chuyền 46
3.5.1 Sơ đồ hệ thống -¿- ¿+ St E2 12 1211215 1171111111111 111111111 te 46
3.5.2 Phần cứng -: :¿©c¿+ 12 xS2EE211211211712112112111111121111 111111 1 1e 47Ea: 0n ‹aa^ä:đ4 48
3.5.4 Giải thuật giám sát năng lượng cho nhà phân phối . - 49Chương 4 THỰC NGHIỆM VÀ KET QUẢ 2-2 ++cx+zE+zszrxerxcrez 51
4.1 Quản lý và xử lý thông tin chuỗi cung ứng dùng hợp đồng thông minh 514.2 Ứng dụng phi tập trung quản lý thông tin vac xin và tiêm chủng 57
Trang 74.3 Giám sát nhiệt độ, độ 4m kho bảo quản, đơn vị phân phối vac xin 67Chương 5 KẾT LUẬN VÀ HƯỚNG PHAT TRIÉN -¿-5¿©55z-: 70
5.1 Kết 8785001010017 705.2 Ưu điểm, nhược điểm của hệ thống - - 2: 2 2 2+E£2E+E££EeEEeEEerxrxee 705.3 Hướng phát trin ¿+ + E+EE+EE+EEEEEEEEEEEEEEE21121121121121E 212111111, 71
Trang 81 Mô tả về hệ thống phân tán - 2 2 £+E+SE+EE£EE£EE2EEEEEEEEEEEErrkrrkrreee 8
2 Thuật toán Asymmetric Crytography .- - «+ + x++xk+svksseeseeseeee 10
3 Cách hoạt động của private, public key trong blockchain - 11
4 Nguyên lý hoạt động của thuật toán băm - 5+ 5-cc+++cc<sees+ 12
5 Hoạt động tạo một khối mới trong BlockchaIn . -+-« «<< <+++ 14
6 Nguyên lý hoạt động của Proof of Work ConsenSus -‹ - 15
7 Nguyên lý hoạt động của Proof of Stake Consensus -. 16
8 Nguyên lý hoạt động của Delegated Proof of Stake - -«- 17
9 Nguyên tắc hoạt động của IPFS [39] -.- -c kg re, 18
10 Cau trúc của một hợp đồng thông minh - 2-2 +22z+zx+zxzzs4 19
11 Kiến trúc máy chủ Heroku [4Ö] «+ - «+ £+s£+svexsseessseesseers 22
12 Kiến trúc cơ sở dữ liệu Mongo Atlas [41] «<<-<c<sseeesee 22
13 Hình ảnh mô tả kết nối giữa các thành phan trong giao tiếp UART Kết
63.51.4007 23
1 Kiến trúc của hệ thống truy xuất nguồn sốc VAC XỈN ccccccccc 25
2 Sơ đồ thiết kế hợp đồng thông minh ¿2-2 +++z+++x++rx++zxez 26
3 Sơ đồ hệ thống máy chủ - 2-2 £+s£+E+EE+EE+EE£EEEEE2EEEerEerkrrkrrkrrkee 35
4 Sơ đồ hệ thống giám sát nhiệt độ kho bảo quan 5: 25s 38
5 Arduino NanO - cv gHgnh n Hnnrờ 39
6 Module Thu Phát Wifi ESP8266 NodeMCU - 25 <<<<<<<<<+2 40
7 Module cảm biến nhiệt độ, đồ âm DHTI I c:¿+c5scc+ccxscez 4I
8 Sơ đồ mạch hệ thống giám sát kho bảo quản — l -: -s: 42
9 Sơ đồ mạch hệ thống giám sát kho bảo quản — 2 - 2 s52: 43
10 Các thành phần của gói tin - 2 2 £+E++E£EE£EE+EE+EEEEEEerEerkerxersrex 44
11 Giải thuật giám sát năng lượng cho kho bảo quản - ‹ +5 44
12 Sơ đồ hệ thống giám sát nhiệt độ cho các đơn phi phân phối vac xin 46
13 Sơ đồ mạch hệ thống giám sát nhiệt độ cho đơn vị vận chuyển vắc xin 48
14 Giải thuật giám sát nhiệt độ cho nhà phân phối - 552 49
Trang 9Hình 4 1 Giao diện danh sách các lô hàng do nhà cung cấp tạo - 58
Hình 4 2 Giao diện hién thi chi tiết thong tin một lô hang của nhà cung cấp 58
Hình 4 3 Giao diện tao thông tin lô hàng từ nhà cung cấp -:-s 59 Hình 4 4 Tại bước này nhà cung cấp tiến hành xác nhận giao dịch và đồng thời tạo ra một chữ ký số ( thay thé cho chữ ký tay trên hợp đồng giấy) - - 60
Hình 4 5 Giao diện hién thị thông tin của kho bảo quản .: -: -5: 60 Hình 4 6 Quản lý kho tiến hành xác nhận thông tin nhập lô vac xin vào kho 61
Hình 4 7 Thông tin 16 vac xin vừa được thêm vào kho bảo quản -. 61
Hình 4 8 Giao diện hiển thị thông tin của nhà phân phối - z5 62 Hình 4 9 Nhà phân phối nhập thông tin và tiến hành xác nhận thông tin để vận chuyên vac xin đến địa điểm tiêm chủng - 2-5 2 s2 x££+E++E£EerEerxerxerssvee 63 Hình 4 10 Thông tin 16 vac xin được tiến hành giai đoạn phân phối 63
Hình 4 11 Giao diện hiển thị thông tin của địa điểm tiêm chủng 64
Hình 4 12 Địa điểm tiêm chủng xác nhận nhận vac xin từ đơn vị phân phối 64
Hình 4 13 Thông tin lô vắc xin của địa điểm tiêm chủng nhận từ đơn vị phân phối ¬— ' te ` “cố 65
Hình 4 14 Giao diện hiên thị thông tin của đối tượng tiêm chung/bénh nhân 65
Hình 4 15 Thêm bệnh án và thông tin của đối tượng tiêm chủng 66
Hình 4 16 Thông tin bệnh án của người được tiêm VAC xin - -: - 66
Hình 4 17 Thông tin nhiệt độ, độ ầm được gửi từ module esp8266 67
Hình 4 18 Giao diện giám sát và hiền thị nhiệt độ của Vac xin 67 Hình 4 19 Thông tin nhiệt độ, độ am gửi từ Module Sim + -s«++<s+ 68
Trang 10DANH MỤC BANG
Bang 2 1 Ưu và nhược điểm của ứng dụng phi tập trung - 5 s2 s2 20
Bang 3 1 Bang mô tả chức năng của Contract Manage€r .- «<< «<< x<x+ 28 Bảng 3 2 Mô tả các chức năng của IoT Manager Contract - -« «+«+ 29 Bảng 3 3 Mô tả các chức năng cho Vaccine User Extended Contract 29 Bang 3 4 Mô tả chức năng của Vaccine System Storage Contract 32
Bảng 3 8 Thiết kế API cho hệ thống máy chủ - 2-22 2 s£x+2££+£++£++zxzzsz 37Bang 3 9 Giải thuật tiết kiệm năng lượng cho kho bảo quản -5- 55-552 46Bảng 3 10 Giải thuật tiết kiệm giám sát nhiệt độ cho đơn vị phân phối vac xin 50Bảng 4 1 Thông tin giao dịch của nhà cung cấp : -¿ 2 5z+cx2zx+zxssrss 52Bảng 4 2 Sự kiện của nhà cung cấp từ smart Contract 2-5 ©522cs+cs+zxzsz 53
Bang 4 3 Thông tin giao dịch của kho bảo quản - ‹- 5c + ss£+£+se+se+sessxs 54
Bang 4 4 Sự kiện kho bảo quan từ smart CONtraCt 5 <5 5 25+ ++seseese 54
Bang 4 5 Thông tin giao dịch don vị phân phối 2-2 2+ 2+s2£x+£x+zs+zsz +2 55Bang 4 6 Sự kiện của đơn vi phân phối từ smart contract - 5 s2 s2 55Bảng 4 7 Thông tin giao dich của địa điểm tiêm chủng -.: -: -5: 56Bảng 4 8 Sự kiện của địa điểm tiêm chủng từ smart COnfraCt - ‹ -<+-s<+ 56Bảng 4 9 Thông tin giao dịch của đối tượng tiêm chủng 55555552552 57Bang 4 10 Sự kiện của đối tượng tiêm chủng của smart contraet - 57Bang 4 11 Kiểm thử thoi gian hoạt động của mô đun vận chuyên ¬— 69
Trang 11DANH MỤC TỪ VIET TAT
RE - Radio Frequency
BC - Blockchain
SC - Smart Contract
BSC - Binance Smart Chain
IoT - Internet of Thing
IPFS - InterPlanetary File System
P2P - Peer to Peer
PoW - Proof of Work
PoS - Proof of Stake
DPoS - Delegated Proof Of Stake
MTR - Merkle Tree Root
PoSA - Proof of Stake Authority
DApp - Decentralized application
EVM - Ethereum Virtual Machine
DAG - Directed Acyclic Graph
DHT - Distributed Hash Table
API - Application Programming Interface
HTTP - Hypertext Transfer Protocol
IPC - Inter-process communication
Trang 12GSM - Global System for Mobile Communications
WLAN - Wireless local area network
IEEE - Institute of Electrical and Electronics Engineers COVID-19 - Coronavirus Discovered In Late 2019
Trang 13TOM TAT KHÓA LUẬN
Đề tài nghiên cứu và xây dựng một hệ thống quản lý và truy xuất nguồn gốc củavac xin COVID-19 thông qua việc sử dụng nền tang công nghệ Blockchain, baogồm giám sát tình trạng của lô hàng thông qua các giai đoạn trong chuỗi cung ứng.Giám sát nhiệt độ thông qua hệ thống IoT Các thông tin giám sát và thông tin trongtừng giai đoạn được hién thị trên ứng dụng phi tập trung tự xây dựng và có bản thiết
kế toàn bộ giao diện Thông qua việc tìm hiểu và xây dựng hệ thống quản lý chuỗi
cung ứng vac xin em nhận thay dé tài có thé giải quyết các van dé trong chuỗi cung
ứng trong khi dữ liệu và logic doanh nghiệp sẽ được lưu trên trên blockchain va
giám sát nhiệt độ với hệ thống IoT cho kho bảo quản và quá trình vận chuyên vacxin thông qua việc theo dõi, thử nghiệm và xây dựng các thuật toán tối ưu hóa vàtiết kiệm năng lượng tiêu hao
Trang 14Chương 1 MỞ ĐẦU
1.1 Vân dé phân phôi và tiêm vac xin
Hiện nay dân số thế giới rơi vào mức hơn 7 tỉ người và mục tiêu tiêm chủng dự kiếnvào cuối năm 2021 đạt mức 3.1 tỉ người (tức chiếm 40% tổng dân số thế giới) [1].Mục tiêu tiêm chủng giữa năm 2022 dự kiến là 4,6 tỉ người (tức chiếm 60% tổng
dân số thế giới) Hiện tại đến tháng 9/2021 thế giới đã đạt 2.1 tỉ người đã được tiêm
chủng đầy đủ (tức 27.6% tổng dân số thế giới) Và nguồn cung cấp vắc xin dự kiếnrơi vào khoảng 15.7 tỉ liều trong khi đó 5.6 tỉ liều vắc xin đã được phân phối và 5.3
tỉ liều vắc xin được quản lý Vấn đề phân phối và tiêm vắc xin hiện nay gặp rấtnhiều khó khăn và trở ngại, do phần đông người dân không tin tưởng vào vắc xin vàquyết định không tiêm khiến các cơ quan nhà nước và vấn đề khống chế dịch bệnhkhó khăn nay lại càng gặp nhiều khó khăn hơn Có thể thấy sự tin cậy, minh bạch,tính chặt chẽ và công khai rõ ràng trong toàn bộ quy trình cung ứng vắc xin đóng
Vai trò rât quan trọng.
Những thông kê vừa rồi cho thấy được một số lượng rất lớn vắc xin cần phải được
sản xuất và cung ứng liên tục Vậy vấn đề được đặt ra ở đây là làm thế nào có thểgiảm thời gian cung ứng và phân phối vắc xin, xử lý và giám sát thông tin một cáchđồng bộ, minh bạch, và tạo được sự tin cây cho người dân, giảm bớt gánh nặng vềnhân công và chi phí sản xuất, tránh giả mạo vac xin và thu hồi nhanh chóng dựa
vào việc truy xuât dữ liệu.
Nghiên cứu [2] đã chỉ ra thực trạng của việc triển khai Blockchain trên chuỗi cung
ứng bằng cách tập trung vào đại dịch COVID-19 Theo đó họ phân loại thành bốn
nhóm bao gồm khả năng hiển thị, số hóa, tính minh bạch và hợp đồng thông minh
và các kết quả đánh giá cho thấy sự tập trung chủ yếu vào hai nhóm là số hóa vàkhả năng hiển thị và hai nhòm còn lại có tỉ trọng nhỏ hơn Phát hiện này ủng hộ giả
thuyết cho rằng việc sử dụng blockchain phụ thuộc vào các dịch vụ được cung cấp
tùy theo từng lĩnh vực khác nhau, đặc biệt là trong COVID-19 Ngoài ra, họ chothấy răng trong các ngành công nghiệp thực phẩm và chăm sóc sức khỏe, công nghệ
Trang 15số hóa và hình ảnh hóa đã được sử dụng thường xuyên nhất Mối quan hệ trực tiếp
này có thể là do sự thay đôi đột ngột của cung và cầu, năng lực sản xuất, hạn chếphân phối, và điều kiện lưu trữ, dẫn đến nhu cầu lớn hơn về đữ liệu, giám sát vàtheo dõi thời gian thực Một lý do khác cho sự tập trung ngày càng tăng vào số hóa
và khả năng hiển thị là yêu cầu đối với các doanh nghiệp đa dang phải thích ứng với
cơ sở hạ tầng kỹ thuật số, đặc biệt khi COVID-19 cần làm việc tại nhà Hơn nữa họnhận thấy rang hầu hết các nghiên cứu đều nhấn mạnh vai trò tổng thé của
blockchain đối với chuỗi cung ứng và các ứng dụng của nó trong việc kiểm soát đại
dịch COVID-19 hơn là một lĩnh vực công nghiệp cụ thể Kết luận cho rằng cáchtiếp cận tập trung vào ngành sẽ trở nên quan trọng hơn vì rất có thể các mô hình tiêudùng đối với các sản phẩm và dịch vụ cụ thể sẽ khác so với trước đại dịch COVID-
19.
Nghiên cứu [3] cho thấy đại dịch COVID-19 đã nêu bật được sự cần thiết của việcxây dựng các chuỗi cung ứng có khả năng phục hồi Trong thời kỳ đại dịch, chuỗicung ứng đã bị gián đoạn từ mọi góc độ Đại dịch gây ra không phải là một giánđoạn đơn lẻ, nhưng gián đoạn theo tầng ảnh hưởng đến nhiều mắt xích, liên kếtmạng lưới, bao gồm tác động đến nhu cầu đối với hàng hóa và dịch vụ nhất định.Theo đó ủy ban Đánh giá Kinh tế và an ninh Hoa Kỳ - Trung Quốc nhận thấy rằng
sự nghiêm ngặt trong việc hạn chế di chuyền và tình trạng thiếu lao động ở TrungQuốc đặc biệt là tác động đến nguồn cung ứng của ngành điện tử, dược phẩm và
chuỗi ô tô [4] Sự phụ thuộc quá mức vào Trung Quốc trong lĩnh vực sản xuất điện
tử là một yếu tố được Resilience360 của DHL trích dẫn là một trong mười rủi rochính mà nguồn cung công nghệ toàn cầu phải đối mặt và đánh giá lại nhà cung cấp
và mạng lưới phân phối sau COVID-19 [5] Tương tự, chuỗi cung ứng y tế và dượcpham của Hoa Kỳ phụ thuộc vào sản xuất của Trung Quốc với phần lớn quan áo y
tế và phòng thí nghiệm nhập khẩu từ Trung Quốc [6] Mặc dù nhiều giá trị cao hơn
các sản phâm bồ sung như sản phẩm sinh học và vắc xin đến từ nhập khâu (79%), ít
hơn 0,05% đến từ Trung Quốc, với 59% từ Liên minh Châu Âu trong các trườnghợp bình thường, nêu bật những tác động mà chính sách đối ngoại cũng như động
Trang 16lực của các quôc gia khác vê chuôi cung ứng toàn câu [7] Khi sô lượng y tê toàncầu tăng lên thì vac xin COVID-19 nên được phát triển nhanh chóng.
Quá trình phát triển vắc xin truyền thống tiến hành theo phương thức tuyến tính: (1)trước các nghiên cứu lâm sang; (2) thử nghiệm lâm sang giai đoạn I; (3) thử nghiệmlâm sàng giai đoạn II; (4) thử nghiệm lâm sang giai đoạn III (5) cơ sở hạ tầng; (6)sản xuất: (7) sự chấp thuận; (8) phân phối và tiếp thị giai đoạn IV sau tiếp thị giám
Z
sat.
Sự tăng tốc va khối lượng vac-xin cần thiết chưa từng có này làm tăng thêm gánhnặng cho chuỗi cung ứng Vì lý do này, nhiều phương pháp được đề xuất và nghiêncứu vắc xin đã xem xét các loại thuốc hiện có, chăng hạn như ribavirin, do tồn kho
và chuỗi cung ứng đáng tin cậy nói chung làm cho các nhà sản xuất dược phẩm mô
tả việc sản xuất vắc xin bán tuyến tính từ nguyên liệu thô tiếp nhận nguyên liệu đã
qua xử lý, sản xuất thành phần hoạt tính, ghép nối và xây dựng, chiết rót, đóng gói
và phát hành lô, vận chuyền và phân phối Nói một cách rộng rãi hơn, các chươngtrình tiêm chủng toàn cầu, chăng hạn như Liên minh GA VI, thúc day tăng cườngkhả năng tiếp cận vac xin ở các nước đang phát trién, nhắn mạnh tầm quan trọngcủa chuỗi cung ứng thông qua quảng bá trong số năm trụ cột của nó: con người và
thực hành, thiết bi dây chuyền lạnh, dữ liệu dé quản lý, phân phối và thiết kế hệthống Quá trình sản xuất vắc xin trung bình mất từ 6-36 tháng do không chỉ sự
phức tạp của bản thân các dược phẩm sinh học, mà còn cả các quy trình kiểm soátchất lượng, chiếm khoảng 70% thời gian sản xuất Chuỗi cung ứng vắc xin cũng đặc
biệt dé bị gián đoạn sản xuất vì cụ thé vac xin dựa trên các quy trình cụ thé và do đó
các nguyên liệu thô cụ thể và bền vững, nghĩa là áp lực cạnh tranh từ trong ngànhhoặc thậm chí các ngành khác không chỉ có thé có khả năng làm tăng chi phí, nhưngcũng lam gián đoạn chuỗi cung ứng.
Một sô ước tinh chỉ ra răng 70% dân sô toàn cau sẽ cân vac-xin COVID-19 trong một khung thời gian ngăn, sẽ lân at cơ sở hạ tang hiện có và chuối cung ứng vac xin
hệ thông tại chô Giả sử răng năng lực sản xuât được mở rộng, nêu có sự gián đoạn
Trang 17trong dây chuyên lạnh xảy ra, ví dụ, sự hư hỏng theo thứ tự hàng tỷ có thể xảy ranếu hiện tại tỷ lệ hư hỏng vắc xin trên toàn cầu là đúng.
Đề tài “Nghiên cứu và hiện thực hệ thống truy xuất nguồn gốc vac xin Covid-19bằng công nghệ Blockchain và IoT” với mục định giải quyết các van đề về nguồn
gốc và thông tin của vắc xin, giúp qua trình theo dõi và thu hồi vắc xin được thực
hiện dễ hơn mà không cần sự cung cấp thông tin từ các bên trung gian và giảm bớt
gánh nặng về sức lao động với hệ thông theo dõi nhiệt độ của vắc xin.
1.2 Mục tiêu đề tài
Xây dựng hệ thống quản lý chuỗi cung ứng vắc xin có khả năng truy xuất nguồngốc của vắc xin một cách chính xác, nhanh chóng với công nghệ blockchain đểtránh các tình huống thông tin bị sửa đổi sai lệch so với thông tin ban đầu, loại bỏcác bên trung gian và tinh gọn quy trình phân phối vac xin
Xây dựng hệ thống IoT dé giám sát nhiệt độ trong kho bảo quan và đơn vị phânphối vắc xin
1.3 Phương pháp nghiên cứu
Sử dụng Smart Contract để viết các logic xử lý các nghiệp vụ cơ bản trong chuỗi
cung ứng.
Sử dụng chuỗi khối Binance Smart Chain dé triển khai, lưu trữ và xử lý giao dichtrong từng bộ phận trong chuỗi cung ứng.
Sử dụng IPES [14] dé lưu trữ các dữ liệu (metadata)
Sử dụng NestJS [20], MongoDB [27] dé lưu trữ và xử lý các dữ liệu từ hệ thống
loT.
Sử dụng Web3JS [28], Metamask [29] để kết nối DApps với Blockchain Network
Sử dung EtherJS [30] dé lắng nghe các sự kiện được phát ra từ Smart Contract
Su dụng Module Arduino [31], Asim 800 [32], RF, ESP8266 [33], DHT11[34] dé
giám sát hệ thông và sự thay đôi về nhiệt độ, độ âm va gửi đên server.
Trang 18Xây dựng các thuật toán đề tiết kiệm năng lượng sử dụng cho các module IoT trong
kho bảo quản và quá trình vận chuyền
Sử dụng framework React [35] để xây dựng Web Application
Sử dụng công cụ Figma [36] dé thiết kế giao diện
Sử dung Truffle [26], NodeJS [37], Solidity [22], Remix [38] để phát triển và thửnghiệm hợp đồng thông minh
1.4 Nội dung nghiên cứu
Nội dung 1: Nghiên cứu về các nền tảng blockchain phổ biến hiện nay như
Ethereum.
Nội dung 2: Nghiên cưu các kiến trúc về ứng dụng phi tập trung hiện nay
Nội dung 3: Nghiên cứu về các hệ thống giám sát nhiệt độ trong kho và trong môi
trường công nghiệp.
1.5 Giới hạn đề tài
1 Số lượng kết nối vào ứng dụng phi tập trung sẽ giới hạn tối đa 200 kết nói
2 Các module Sim 800 GSM/GPRS, DHT11 có thé sử dụng nguồn điện trực
tiếp hoặc qua pin sac dé duy trì trạng thái theo dõi nhiệt độ
Trang 19Chương2 CƠ SỞ LÝ THUYET
2.1 Các khái niệm chung về Blockchain (chuỗi khối)
Blockchain là một giao thức an toàn cho phép trao đổi ngang hàng (Peer to Peer)
trong một mạng phi tập trung một cách an toàn, công khai và được công nhận Hay theo Wikipedia thì blockchain là một co sở dữ liệu phân tán duy trì một danh sách
bản ghi lớn dan liên tục gọi là khối (block) va được bảo vệ khỏi giả mạo và chỉnh
sửa.
Bên cạnh đó blockchain còn là một hệ thống phân tán hay còn được gọi là một môhình máy tính theo đó hai hoặc nhiều nút làm việc với nhau theo cách phối hợp déđạt được một kết quả chung Nó được mô hình hóa theo cách mà người dùng cuốixem nó như một nền tảng logic duy nhất Ví dụ, công cụ tìm kiếm của Google dựa
trên một hệ thống phân tán lớn; tuy nhiên, đối với người dùng, nó trông giống như
một nền tảng duy nhất và liên tục Một nút có thé được định nghĩa là một cá nhântham gia vào trong một hệ thống phân tán Tat cả các nút đều có khả năng gửi vànhận các thông điệp đến và đi lẫn nhau Các nút có thể trung thực, bị lỗi hoặc độchại và chúng có bộ nhớ và bộ xử lý Một nút thé hiện hành vi không hợp lý cònđược gọi là nút Byzantine Một ví dụ quy mô nhỏ về hệ thống phân tán được théhiện trong Hình 2.1 Hệ thống phân tán này có sáu nút, trong đó một nút (L4) lànút Byzantine dẫn đến sự không nhất quán dữ liệu có thê xảy ra L2 là một liên kết
bị hỏng hoặc chậm và điều này có thé dẫn đến một phân vùng trong mạng:
Trang 20thức đồng thuận) của các nút bị lỗi hoặc liên kết mạng bị hỏng, hệ thống phân tán
sẽ có thé chịu đựng được điều này và tiếp tục làm việc dé đạt được kết quả mongmuốn Đối với blockchain thì cơ chế đồng thuận chính của nền tảng blockchain décho nó hoạt động được Có ba kỹ thuật được sử dụng trong blockchain và ba kỹthuật này cũng sẽ cho chúng ta biết được lý do tại sao blockchain lại cần thiếttrong thời gian sắp tới và lý do tại sao blockchain lại cần thiết để xây dựng xã hội
mới bao gồm ba kỹ thuật (1) Decentralized, (2) Immutable, (3) Transparent
Blockchain được ứng dung, xử lý dữ liệu, tự động hóa (không phải là sự tự động
của một tổ chức hay một công ty mà là sự tự động của các tổ chức va công ty khác
nhau) và để mà thực hiện được sự tự động hóa này thì chúng ta phải có được sự
chia sẻ đữ liệu Ví dụ về việc chia sẽ dữ liệu giữa các bệnh viện với nhau, hiện nay
có rất nhiều các bệnh viện lớn trên thé giới dé tìm ra được tiêu chuẩn chung quốc
tế Khi đề cập đến bệnh viện thì chúng ta sẽ hướng tới một khía cạnh nữa chính làngân hàng hay các điểm ATM để thực hiện các giao dịch thanh toán và khi mà các
dịch này muốn tự động hóa thì sẽ đòi hỏi các dự liệu chung để đưa lên các hệ
thong sử dụng chung và hệ thống này thì tất cả mọi người déu có thể truy xuất
Trang 21được và blockchain là hệ thống có thể đáp ứng được vấn đề đó với đặc điểm
Decentralized (phân tán dữ liệu ra khắp nơi mà không tập chung ở một nơi) Các
dữ liệu dùng dé lưu trữ dữ liệu của người dùng thì sẽ được lưu trữ ở trong 1 cuốn
số cái (Blockchain Ledger) và cuốn số cái này sẽ được lưu trữ và động bộ hóa trêntất cả các node trong mạng lưới blockchain (blockchain network) Chính vì yếu tốDecentralized mà tat cả tổ chức và người ding đều có thé truy cập dir liệu một
cách dễ dàng được và trong đề tài Hệ Thống Truy Xuất Nguồn Gốc Vắc XinCovid-19 các đối tượng có thé truy xuất được dữ liệu vac xin sé bao gom: nha san
xuất, kho bảo quản, nhà phân phối, địa điểm tiêm chủng, đối tượng tiêm chủng.Với sự tự động hóa mà smart contract thì việc giao, nhận và tiêm vắc xin sẽ đượcdiễn ra một cách tự động mà không cần sự can thiệp của bất lỳ một bên trung giannào chỉ với điều này chúng ta đã tiết kiệm được chi phí thuê nhân công, bên cạnh
đó việc ựng dụng việc theo dõi nhiệt độ với IoT sẽ khiến cho quy trình cung ứng
vắc xin sẽ tiết kiệm được thời gian, sức lực con người và loãi bỏ những sai xót,
được chính vì vậy điều này sẽ dẫn đến vẫn đề an toàn và bảo mật thông tin.
Đặc điểm thứ ba của blockchain chính là transparent (thông suốt) ý nghĩa ở đâychính là những thông tin sau khi đưa lên mạng blockchain thì tất cả mọi người đều
có thé lay được các thông tin đó dé kiểm tra tính xác thực của thông tin Chính vìcác yếu tố trên mà blockchain được xem như một cuộc cách mạng công nghệ có
thể tạo ra được sự thay đổi lớn về cách vận hành của xã hội
Cac kỹ thuật blockchain được sử dụng phố biến nhất
Asset-Owner Relationship (Quyền sở hữu): Trong thế giới thực thì mọi thứ từ đồ
vật, trang sức hay các vật thé vật chat và được gọi chung là "tài sản” thì đều có một
Trang 22môi liên hệ vê quyên sở hữu Va chủ sở hữu tai sản có thê ra quyêt định cho những tai sản mà họ dang sở hữu Và sau đây là ba giai đoạn vê việc sac định chủ sở hưu
một loại tai sản nao đó.
1 Identification: Day là bước xác định một người/vật là ai, là cái gì.
2 Authentication: Đây là bước xác định người thực hiện có đúng là người đã được
chỉ định từ bước 1 hay không.
3 Authorization: Sau khi đã vượt qua được hai giai đoạn Identification vaAuthentication thì bước cuối cùng là cung cấp cho người sở hữu loại tài sản đónhững quyền dé quản ly và ra quyết định với tài sản đó
Trong hệ thống truy xuất nguồn gốc vac xin covid-19 thì tài sản chính là quyền sở
hữu thông tin vac xin Dé xác định và bảo vệ được chủ sở hữu của dit liệu đó mới
được phép "Authorization" để ra được các quyết định liên quan đến dữ liệu đó, để
có thể làm được điều này, hiện tại blockchain dang sử dụng một số kỹ thuật phổ
biên nhât như sau:
1 Asymmetric Cryptography (RSA encryption).
Private key Public key
Asymmetric Cryptography
Private key
Public key
Hình 2 2 Thuật toán Asymmetric Crytography
Public key
Asymmetric Cryptography (Mã hóa bất đối xứng) nghĩa là khi một người dùng tạo
một tài khoản để tham gia vào mạng blockchain thì thuật toán mã hóa bất đối xứng
sẽ được thực hiện và tạo ra hai một cặp khóa và cặp khóa này sẽ có vai trò giông
10
Trang 23nhau một là prublic key và hai là private key Public key sẽ được người dùng sử
dụng dé chia sẻ cho tat cả mọi người hay nói cách theo vi dụ thi public key sẽ được
coi là "địa chỉ nhà" để tất cả mọi người khi muốn gửi thông tin cho mình Private
key hay nói cách khác chính là khóa bí mật, đây là mã mà người dùng không đượcchia sẻ cho bất cứ ai Ví dụ ở đây chính là "Chìa khóa nhà" của người dùng Khithông tin được mã hóa bang public key thì chỉ người nắm giữ private key mới có thê
giải mã Điều này sẽ tương tự cho điều ngược lại là khi thông tin được mã hóa bằngprivate key thì chỉ người nào nắm giữ private key mới có thể giải mã được Thì
trong blockchain sẽ sử dung public key va private key theo hai hình thức sau: (1) Public to Private, (2) Private to Public.
Hình 2 3 Cách hoạt động cua private, public key trong blockchain
Ví dụ trong hình 2.3, khi người dùng A muốn gửi thông tin đến cho người dùng B
và đảm bảo là thông tin này chỉ B mới có quyền xem được thì A sẽ sử dụng mộtpublic key của B dé mã hóa thông tin và sau đó A sẽ sử dung Private key của A dé
11
Trang 24tạo thành một chữ kỹ số (Digital Signature) và những thông tin sau khi được mã hóa
sẽ được gọi là những thông tin giao dịch và những thông tin này sẽ được lưu vào
Mining pool của validator Sau đó validator C sẽ lấy những thông tin đó trước khi
ghi vào blockchain để kiểm tra những thông tin này có đúng là do người A tạo rahay không hay là do một người nào khác giả mao A tạo ra Và dé biết được thôngtin này do người A tạo ra thì C sẽ kiểm tra chữ ký của người A này bằng cách lay
thông tin và chữ ký của người A và giải mã bằng cach sử dung public key của người
A để giải mã xem chữ kí số này có đúng hay không, nếu đúng thì validator C sẽthực hiện việc mining đề ghi thông tin của người A vào trong blockchain Và người
B dé xem được thông tin Trans.1 họ sẽ dùng Private key B dé giải mã thông tin
Cryptography Hash Function (SHA-256, SHA-512 ): khi có sự thay đổi nhỏ thicác validator (người dao, validators) có thé phát hiện được
Hình 2 4 Nguyên lý hoạt động của thuật toán băm
Mục đích của hash function kiểm tra sự thay đổi của data một cách nhanh chóng.Đầu vào của một hash function là một lượng dt liệu có thé rất lớn hoặc có thé là
một lượng dir liệu nhỏ và sau khi đi qua hash function nó sẽ tạo ra "Hash of data"
nghĩa là data đã được băm và function hash ở đây là một chiều cho nên từ những
12
Trang 25thông tin đã hash chúng ta không thê làm điều ngược lại, điều đó có nghĩa là chúng
ta không thể giải mã được những thông tin sau khi hash Và hiện tại chúng tra có
những thuật toàn đề hash dữ liệu như MDS, SHA1, SHA256, SHA512,
Hình 2.4 mô tả Blockchain Ledger và các thông tin được lưu trữ trong từng block
và các block sẽ được kết nối với nhau thông qua giá trị hash Ví dụ như trong block
51 của sơ đồ trên sẽ lưu trữ thông tin của các transaction A, B, C, D thì đây lànhững thông tin mà người dùng muốn ghi vào mạng blockchain, khi các validator
ghi những thông tin này vào blockchain họ sẽ dùng và tính hash của các thông tin
nay theo mô hình merkle tree dé tính ra merkle root của tat cả các thông tin sẽ được
ghi vào một block Từ thông tin của merkle root hash và kết hợp với header info (ví
dụ như các version của block, previous block hash, timestamp, target ) và tiếp tụcchạy thuật toán hash mining dé tạo ra hash value của block hiện tại
2.2 Các cơ chế đồng thuận (Consensus)
2.2.1 Tổng quan về co chế đồng thuận
Cơ chế đồng thuận (còn được gọi là giao thức đồng thuận hoặc thuật toán đồngthuận) cho phép các hệ thống phân tán (mạng máy tính) làm việc cùng nhau và giữ
an toàn Ví dụ hãy xem xét một nhóm năm người đi xem phim Nếu ba trong số
năm đồng ý về một bộ phim, thì sẽ đạt được sự đồng thuận - quy tắc đa số Liênquan đến blockchain, đạt được sự đồng thuận có nghĩa là ít nhất 51% các nút trênmạng đồng ý về trạng thái toàn cầu tiếp theo của mạng
13
Trang 26User 1 User 2 User 3
Hình 2 5 Hoạt động tao một khối mới trong Blockchain
Hình 2.5 chúng ta đang có 523 block trong blockchain Ledger và bây giờ mục tiêu
là các validator sẽ "làm việc" để tạo ra block thứ 524 Ví dụ như chúng ta cóvalidator thứ 1 tao ra block 524 thứ nhất, validator thứ 2 tao ra block 524 thứ 2 va
validator thứ L tạo ra block 524 thứ L Tuy nhiên blockchain Ledger sé chi chọn 1
block 524 va đưa vào mang, lúc nay chúng ta phải lam sao dé đưa ra block 524chính xác nhất dé đưa vào mang và đây chính là lý do ma chúng ta phải cần có một
có chế đồng thuận dé giải quyết van dé này
2.2.2 Các cơ chế đồng thuận trong blockchain
Cơ chế đồng thuận Proof of Work (PoW)
PoW là cơ chế đồng thuận bảo mật hệ thống và đánh đổi sự tiêu thụ năng lượng vàtài nguyên máy tính, hình phạt cho hành vi không trung thực trong node là rấtnghiêm trọng điều nay dé tránh các hành động "cố gắng giả mạo" Dé tạo một block
mới khi và chỉ khi mỗi validator trong mạng sẽ cạnh tranh làm việc đê tạo ra được
14
Trang 27một block mới cho số cái blockchain, các validator sẽ vào mining pool (tập hợp các
thông tin tracsaction mà người dùng của hệ thống muốn ghi vào Blockchain ledger)
được lưu trữ trong máy của mỗi validator Các validator tiến hành chọn lọc các
thông tin thông qua thuật toán Merkle Tree Hash dé tạo ra Merkle Tree Root (MTR)của thông tin giao dich sẽ được ghi vào block Sau đó MTR sẽ kết hop với cácthông tin như hash của block trước đó, phiên bản, thời gian, target, nonce dé tạo rađược header cho block hiện tại.
Merkle Root = Info LÍ
Hình 2 6 Nguyên lý hoạt động của Proof of Work Consensus
Từ header dùng thuật toán SHA256 để tính ra được gia tri hash, tại bước nay
validator phai chay thuat toan lién tuc cho đến khi tim duoc mã hash nhỏ hơn so vớitarget mà hệ thống quy định Cuối cùng sau khi tìm ra được mã hash kết hợp với
thông tin từ header đã có và các thông tin giao dich thô dé tạo thành một block mới
và đồng thời block này sẽ được chuyển đi cho các validator trong hệ thống để xác
thục.
15
Trang 28Cơ chế đồng thuận Proof of Stake (PoS)
Validator A Validator B Validator C (Own 100 stake) (Own 500 stake) (Own 1000 stake)
900
Candi
| J
1000 stakes => win! 600 stakes => lose
Hình 2 7 Nguyên lý hoạt động của Proof of Stake Consensus
Đối với PoW thì sử dụng năng lượng điện dé đảm bảo sự bảo mật an toàn cho hệthống còn PoS sẽ sử dung "Stakeholder" Nói cách khác mỗi một người dùng trong
hệ thống họ sẽ giữ cho mình một lượng "cô phần" nhất định dé giám sát và bỏ phiếucho những block nào mà họ cho là hoạt động đúng theo nguyên tắc va block được
bỏ phiếu nhiều nhất sẽ được hệ thống coi là block mới cho số cái blockchain
Cơ chế đồng thuận Delegated Proof of Stake (DPoS)
PoS nghĩa là người được nhiều Stake và họ sẽ là người validator trực tiếp dé taomột block mới thì DPoS thì những Stakeholder họ sẽ ủy quyền cho một nhóm các
delegate (đại biểu) và trong một DPoS network sẽ được quy định một số các đại
biểu và các Stakeholder có thé trở thành delegate nếu được các Stakeholder khác bỏphiếu Các delegate sẽ trở thành validator và có nhiệm vụ giám sát quá trình tạo rablock mới Trong mang blockchain thì nó sẽ hoạt động theo cơ chế là "longest
chain", tại vì trong các mạng blockchain hiện tại chưa có cơ chê nào gọi lại chon ra
16
Trang 29block cuôi cùng mà là tat cả các validator sẽ tự ngâm hiệu với nhau là cái "longest
chain" nào dài nhat thì sẽ được chọn là block cuôi cùng.
Delegated Proof Of
Stake (dPoS)
Blockchain Rules <% _ _
TTT———————
Users can also vote on who
can become delegates as well.
e Delegates can influence future
¬—— updates of a blockchain.
New
Block «ey
Witnesses can validate “
more transactions, add them to the blockchain,
and get rewarded for ,”
Hình 2 8 Nguyên lý hoạt động của Delegated Proof of Stake
2.3 Kiến trúc của chuỗi khối Biance Smart Chain
BSC là một nền tảng hợp đồng thông minh mới được Binance phát hành dựa trên
ứng dụng khách Go Ethereum (Gcth), giúp nó tương thích với các ứng dụng
blockchain được phát triển cho mạng Ethereum Tuy nhiên, nó rẻ hơn và nhanh hơnnhiều khi chạy cùng một ứng dụng trên BSC so với trên Ethereum BSC sử dụng cơchế đồng thuận Proof of Stake Authority (PoSA) cho nên có khá nhiều điểm tươngđồng giữa BSC và Ethereum PoSA là sự kết hợp của Bằng chứng cổ phần được ủyquyền (DPoS) và Bằng chứng về quyền (PoA) Quy tắc trước đây đã được triển khai
thành công trước đây trong các chuỗi khối chăng hạn như EOS DPoS là một dạng
mô hình ủy quyền, theo đó những người xác thực đặt một cô phan của các mã thôngbáo sốc của mạng dé có cơ hội xác thực các giao dịch và tạo khối Về mặt kỹ thuật,
bât kỳ ai có cô phân tôi thiêu của các mã thông báo được yêu câu đêu có thê trở
17
Trang 30thành người xác thực, nhưng mạng sẽ trở nên chậm chạp nếu điều này được cho phép BSC ra đời để khắc phục những hạn chế của Ethereum Blockchain, các ưu
điểm của BSC bao gồm (1) Tốc độ giao dịch cao, (2) Phí gas thấp, (3) Khả năng
tương thích chuỗi chéo.
2.4 Hệ thống lưu trữ phân tán — IPFS
IPFS là mạng lưu trữ ngang hàng (P2P) Nội dung có thé truy cập được thông qua
các ứng dụng ngang hang ở bat kỳ đâu trên thế giới, có thể chuyển tiếp thông tin,
lưu trữ hoặc thực hiện cả hai IPFS biết cách tìm những gì người dùng yêu cầu bằng cách sử dụng địa chỉ nội dung của nó thay vì vị trí của nó và dựa trên ba đặc điểm (1) nhận dạng duy nhất thông qua địa chỉ nội dung, (2) liên kết nội dung thông qua
biểu đồ vòng có hướng (DAG), (3) khám phá nội dung thông qua bảng băm phân tán (DHT) và ba nguyên tắc này được xây dựng dựa trên nhau để kích hoạt hệ sinh
thái IPFS IPFS tận dụng lợi thé của cấu trúc dữ liệu được gọi là đồ thị xoay chiều
có hướng (mở cửa số mới) hoặc DAGs Cụ thé, họ sử dung Merkle DAGs, là những DAG trong đó mỗi nút có một mã định danh duy nhất là một hàm băm của nội dung
của nút được tối ưu hóa dé đại diện cho các thư mục và tệp.
1 Put the file in
Trang 312.5 Hợp đồng thông minh (Smart contract)
o= (om) Smart Contract No third party
Hình 2 10 Cấu trúc của một hợp đồng thông minhTheo [23] thì "Hợp đồng thông minh” chỉ đơn giản là một chương trình chạy trênchuỗi khối Ethereum Đó là một tập hợp mã (các chức năng của nó) và dữ liệu(trạng thái của nó) nằm tại một địa chỉ cụ thể trên chuỗi khối Ethereum Hợp đồngthông minh là một loại tài khoản Ethereum Điều này có nghĩa là họ có số dư và họ
có thể gửi các giao dịch qua mạng Tuy nhiên, chúng không được kiểm soát bởingười dùng, thay vào đó chúng được triển khai vào mạng và chạy như được lập
trình Sau đó, tài khoản người dùng có thé tương tác với hợp đồng thông minh bang
cách gửi các giao dịch thực hiện một chức năng được xác định trên hợp đồng thôngminh Hợp đồng thông minh có thể xác định các quy tắc, giống như một hợp đồng
thông thường và tự động thực thi chúng thông qua mã Hợp đồng thông minh không
thé bị xóa theo mặc định và các tương tác với chúng là không thé thay đổi
2.6 Ung dụng phi tập trung (Decentralized Application)
Ứng dung phi tập trung (dApp) là ứng dung được xây dựng trên mạng phi tập trungkết hợp hợp đồng thông minh và giao diện người dùng Trên Ethereum, các hợpđồng thông minh có thé truy cập và minh bạch và giống như các Public API, vì vậy
19
Trang 32dapp thậm chí có thể bao gồm một hợp đồng thông minh mà người khác đã viết Vì
các dApp được phân cấp nên chúng không bị sự kiểm soát và can thiệp của một cơ
quan có thâm quyên duy nhất
Lợi ích của dApps bao gồm bảo vệ quyên riêng tư của người dùng, kiểm duyệt và
tính linh hoạt của phát triển Trong bối cảnh tiền điện tử, các dApp chạy trên mạngblockchain trong một môi trường công khai, mã nguồn mở, phi tập trung và không
bị kiểm soát và can thiệp bởi bất ky cơ quan quyền lực duy nhất nào Ví dụ: một
nhà phát triển có thể tạo một dApp giống Twitter và đặt nó trên một chuỗi khối, nơibất kỳ người dùng nào cũng có thể xuất bản tin nhắn, bảng 2.1 so sánh về ưu vànhược điểm của một dApp:
Ưu điểm Nhược điểm
Bảo vệ quyền riêng tư và bảo mật Khả năng mở rộng khó khăn
Chống lại sự kiếm duyệt và tập trung Những thách thức trong việc phát triển
quyên lực giao diện thân thiện với khách hàng
Nền tảng linh hoạt và minh bạch Khó thực hiện việc sửa đôi mã nguồn.
Bảng 2 1 Ưu và nhược điểm của ứng dụng phi tập trung
2.7 Ví điện tử - Metamask
Metamask được tạo ra để đáp ứng nhu cầu của các nền tảng dApp dựa trên
Ethereum một cách an toàn và có thể sử dụng chuyên đổi giữa các nền tảng
blockchain linh hoạt Metamask được dùng vào việc quản lý tài khoản vá kết nối
người dùng với blockchain Đây là một cải tiễn so với việc lưu trữ khóa người dùngtrên một máy chủ trung tâm duy nhất hoặc thậm chí trong bộ nhớ cục bộ Metamask
có tính năng bảo mật và được kết nối nhanh chóng với Ethereum Blockchain như
Polygon, BSC, Infura, Ropsten, Kovan,
20
Trang 332.8 Thư viện Web3 - API Javascript Ethereum
Web3 là một tập hợp các thư viện cho phép client tương tác với một nút ethereum
cục bộ hoặc từ xa băng cách sử dụng HTTP, IPC hoặc WebSocket
Dé cài đặt Web3 dùng lệnh : npm install web3
2.9 Khung ứng dụng máy chủ - NestJS
Nest (NestJS) là một khuôn khổ dé xây dựng các ứng dụng phía máy chủ Node.js
hiệu quả, có thể mở rộng Nó sử dụng JavaScript tiễn bộ, được xây dựng và hỗ trợđầy đủ TypeScript (nhưng vẫn cho phép các nhà phát triển viết mã băng JavaScriptthuần túy) và kết hợp các yếu tố của OOP (Lập trình hướng đối tượng), FP (Lậptrình chức năng) và FRP (Lập trình phản ứng chức năng) Nest cung cấp mức độtrừu tượng cao hơn các khung Node.js phô biến này (Express / Fastify), nhưng cũnghién thị trực tiếp các API của họ cho nhà phát triển Điều này cho phép các nhà pháttriên tự do sử dụng vô sô mô-đun của bên thứ ba có sẵn cho nên tảng cơ bản.
Dé cai đặt nestjs dùng lệnh sau: npm i -g @nestjs/cli
2.10 Co sở dir liệu NoSQL — MongoDB
MongoDB là một chương trình quản lý co sở dữ liệu NoSQL mã nguồn mở và lưu
trữ các bản ghi dữ liệu dưới dạng tài liệu BSON MongoDB sử dụng các bản ghi được tạo thành từ các tài liệu có câu trúc dữ liệu bao gôm các cặp trường và giá trỊ.
2.11 Máy chủ Heroku
Heroku là một nền tảng đám mây như một dịch vụ hỗ trợ một số ngôn ngữ lập trình.Một trong những nền tảng đám mây đầu tiên, Heroku đã được phát triển từ tháng 6
năm 2007, khi nó chỉ hỗ trợ ngôn ngữ lập trình Ruby, nhưng hiện hỗ trợ Java,
Node.js, Scala, Clojure, Python, PHP va Go.
21
Trang 34CRUD Security
Hình 2 11 Kiến trúc máy chủ Heroku [40]
2.12 Dịch vụ Cloud Mongo Atlas
MongoDB Atlas là một dịch vụ cơ sở dữ liệu đa dam mây do cùng một người xây
dựng MongoDB Atlas đơn giản hóa việc triển khai và quản lý cơ sở dit liệu của bạnđồng thời cung cấp tính linh hoạt mà bạn cần đề xây dựng các ứng dụng toàn cầu
linh hoạt và hiệu quả trên các nhà cung câp đám mây của từng khu vực trên thê giới.
Bury AWS Cloud
fp Ss MongoDB Atlas project VPC
| Availability Zone 1: | Availability Zone 2! A
- = : | Availability | | Availability ! † Availability |
vec! mm tt ' ' Zone1 + | Zone2 ¡ ! Zone3 }
' Public subnet :_! [igi Public subnet ' i faa ro
Trang 352.13 Các giao thức kết nối không dây
UART - Universal Asynchronous Receiver Transmitter
UART là giao tiếp nối tiếp được chuyển đổi từ giao tiếp song song — quá trình
chuyển đôi này được thực hiện trước khi truyền ở thiết bị truyền và sau khi nhận ở
thiết bị nhận dữ liệu Nó là giao tiếp phổ biến tại vì các thông số như: tốc độ truyền,
kiểu dữ liệu Trong giao tiếp UART cơ bản, thiết bị truyền và thiết bị nhận giao tiếp
theo cách thức như sau: Phần cứng UART sẽ chuyển đổi dữ liệu song song nhậnđược từ vi xử lý, vi điều khiển và chuyển chúng thành dữ liệu nối tiếp Dữ liệu nốitiếp này sẽ được truyền đến thiết bị nhận và tại day, hardware UART sẽ chuyền đổingược lại thành dữ liệu song song dé truyền về vi điều khiển, vi xử lý của thiết bị
Hình 2 13 Hình ảnh mô tả kết nối giữa các thành phan trong giao tiếp UART Kết
nối RF, GPRS, Wifi [42]
RF - Radio Frequency
RF là hình thưc truyền tải dir liệu bang tan số vô tuyến giữa các thiết bị, hiện naycác iao thức như ZigBee hoặc ZWave sử dụng sóng vô tuyến RF công suat.RF tiêutốn ít năng lượng và giao thức này thường được ứng dụng pho biến và quản lý tập
trung và cục bộ nợi yêu cầu một lượng lớn các thiết bị tập trung ở một khu vực như
nhà kho, khách sạn hoặc các tòa nhà thông minh.
23
Trang 36GPRS - General Packet Radio Service
Theo [43] thì GPRS có thể được dùng cho những dịch vụ như truy cập Giao thức
Ứng dụng Không dây (WAP), Dịch vụ tin nhắn ngắn (SMS), Dịch vụ nhắn tin đa
phương tiện (MMS), và với các dịch vụ liên lạc Internet như email và truy cập
World Wide Web Dữ liệu được truyền trên GPRS thường được tính theo từng megabyte di qua, trong khi dữ liệu liên lạc thông qua chuyển mạch truyền thống được tính theo từng phút kết nối, bất kể người dùng có thực sự đang sử dụng dung
lượng hay đang trong tình trạng chờ.
WiFi
Là mang cục bộ không dây (WLAN) sử dụng tiêu chuẩn IEEE 802.11 thông qua tan
số 2,4GhZ UHE và 5GhZ ISM WiFi cung cấp khả năng truy cập Internet cho các thiết bị nằm trong phạm vi 66 feet ~ 20.12 m tinh từ diém truy cap.
24
Trang 37Chương 3 PHAN TÍCH VA THIẾT KE HE THONG
Thiết bị loT.
Hình 3 | Kiến trúc của hệ thống truy xuất nguồn gốc vac xin
Tổng quan hệ thống truy xuất nguồn gốc Covid-19 được trình bay trên hình 3.1 bao gồm các thành phan sau:
Chuỗi khối Ethereum sẽ có vai trò lưu trữ tat cả các thông tin của chuỗi cung ứng và chứa các hợp đồng thông minh để xử lý các yêu cầu từ người dùng
Ứng dụng phi tập trung có vai trò nhận trực tiếp các giá trị và chữ ký số từ người
dùng sau đó chuyển các thông tin này đến hợp đồng thông minh đề xử lý xong sau
đó sẽ gửi các giữ liệu đến khối IPFS để lưu trữ các thông tin cần thiết như số lô,
thông tin vắc xin và toàn bộ các thông tin giao dịch được gửi về từ blockchain sẽ
được lưu trữ trong khối máy chủ.
Các thông tin từ khối máy chủ sẽ được lưu và đọc dữ liệu từ cơ sở dự liệu Cloud
MongoDB Các dữ liệu được gửi từ các node IoT sẽ được xử lý và lưu trữ bởi hệ
thống máy chủ backend, các thông tin nay sau đó sẽ được hiên thị trên ứng dụng phi
tập trung.
25
Trang 383.2 Thiết kế hợp đồng thông minh quản lý chuỗi cung ứng vắc xin
Vaccine User
Extended
Contract Address
Hợp đồng thông minh được phát triển gồm (1) Contract Manager, (2) Vaccine User
Extended, (3) Vaccine System Storage, (4) Vaccine Supply Chain, (5) loT Manager
Contract Trong đó Contract Manager sẽ đóng vai trò lưu trữ tất ca các địa chỉ của
các hợp đồng có trên hệ thống dé dé quản lý và tránh sai sót nhầm lý khi tham chiếu đến sai địa chỉ khi gọi các hợp đồng.
Nhà cung cấp sẽ tạo ra một mã băm “duy nhất” chính là số lô của vắc xin kèm theo bước thực thi tiếp theo, các bước xác minh như sau
26
Trang 39Nhà cung cấp:
- Tao ra batchNo = hash (địa chỉ vi của người thực hiện + dấu thời gian của
block trên blockchain) (*)
- nextAction = WAREHOUSER
Kho bao quan:
- Su dụng batchNo từ (*) va nextAction, nếu thỏa 2 điều kiện sẽ cho phép thực
thi (tuy nhiên người thực hiện phải có role được quy định là
“WAREHOUSER'”).
- nextAction = DISTRIBUTOR
Nhà phân phối:
- Str dụng batchNo từ (*) và nextAction, nếu thỏa 2 điều kiện sẽ cho phép thực
thi (tuy nhiên người thực hiện phải có role được quy định là
“DISTRIBUTOR”).
- nextAction = VACCINATION_STATION
Dia diém tiém chung:
- Sử dung batchNo từ (*) va nextAction, nếu thỏa 2 điều kiện sẽ cho phép thực
thi (tuy nhiên người thực hiện phải có role được quy định là
“VACCINATION STATION’).
- nextAction =OBJECT_INJECTION
Đối tượng tiêm chủng:
- Str dụng batchNo từ (*) va nextAction, nếu thỏa 2 điều kiện sẽ cho phép thực
thi (tuy nhiên người thực hiện phải có role được quy định là
“OBJECT INJECTION”).
- nextAction = DONE
Kết thúc quy trình
IoT Manager Contract được thiết kế dé quản lý các thông tin về các node của của
module IoT như địa chỉ, tên đơn vi sử dụng, số lượng cảm biến Hợp đồng Vaccine
User Extend dé quản lý thông tin địa chỉ vi, tên đơn vị và người đại diện của tổ
chức tham gia vào quy trình chuỗi cung ứng.
Vaccine system storage sẽ quan lý và lưu trữ, đọc các giữ liệu vào/ra từ mang
blockchain được triển khai
27
Trang 40Vaccine Supply Chain contract sẽ đóng vai trò là điều phối viên đến các contract dé
thực hiện các tác vụ tương ứng khi có yêu câu.
Với hệ thống smart contract được thiết kế như trên sẽ tách biệt giữa logic xử lý vàlogic quản lý, vì đối với một loại hợp đồng trong thực tế cũng chỉ được dùng cho
một số nhu cầu và điều khoản nhất định Nếu như tất cả các logic và điều khoản
được viết trên một SC duy nhất sẽ rat dễ nhằm lẫn và khó dé mở rộng va nâng cấp
về sau khi hợp đồng bị thay đổi hoặc các bên tham gia trong chuỗi cung ứng vac xinmuốn sửa đổi và đã có sự thống nhất chung trong tương lai Sau đây là các thông tinđược lưu trữ bên trong từng hợp đồng:
Contract Manager Function Input Output Permission Description
addContractAddress | address | Boolean | WhiteList, Thêm dia chỉ hợp
getWhiteList address | address | WhiteList, Lay về danh sách
Owner địa chỉ admin
removeWhiteList address | Boolean | Owner Xóa user khỏi danh
sách whitelist Bảng 3 1 Bảng mô tả chức năng của Contract Manager
IoT Contract Manager
Function Input Output Permission | Description
28