Trong số đó, việc áp dụng công nghệ Blockchain vào xây dựng thị trường thương mại điện tử được xem là hết sức phù hợp.. Bên cạnh đó, việc tham gia vào hệ thống xuất khẩu, nhập khẩu trực
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
TRAN VIET CUONG
KHOA LUAN TOT NGHIEP
TIM HIEU BLOCKCHAIN VA XAY DUNG UNG DUNG MINH HOA THEO DOI SAN PHAM TREN NEN TANG
BLOCKCHAIN
RESEARCH BLOCKCHAIN AND BUILD A PRODUCT
ILLUSTRATE PRODUCT TRACKING BASED ON
BLOCKCHAIN TECHNOLOGY
KY SU NGANH HE THONG THONG TIN
TP HO CHÍ MINH, 2022
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
TRAN VIỆT CƯỜNG - 16520159
KHÓA LUẬN TÓT NGHIỆP
TÌM HIẾU BLOCKCHAIN VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA THEO DOI SAN PHAM TREN NEN TANG
BLOCKCHAIN
RESEARCH BLOCKCHAIN AND BUILD A PRODUCT
ILLUSTRATE PRODUCT TRACKING BASED ON
BLOCKCHAIN TECHNOLOGY
KY SU NGANH HE THONG THONG TIN
GIANG VIEN HUONG DAN Ths.HA LE HOAI TRUNG
TP HO CHi MINH, 2022
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ố Ti8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4ĐẠI HỌC QUOC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc lập ~ Tự do ~ Hạnh phúc
CÔNG NGHỆ THÔNG TIN
BIÊN BẢN HỌI ĐÒNG KHÓA LUẬN TÓT NGHIỆP
I Thời gian- Địa điểm:
1 Thời gian: bắt dau lúc ngay thang nam
2 Địa điểm: phòng
II Thành phan hội đồng:
1 đt đe — Chủ tịch.
2 PP TÀàW — Thư ký.
3 Ả Â — Ủy viên.
HI Thông tin (các) đề tai:
CÁN BỘ CÁN BO
STT| MSSV HỌ TÊN TEN DE TAI HUONG DAN PHAN BIEN
IV Nội dung:
1 Hội đồng làm việc
a Thư ký đọc quyết định thành lập hội đồng.
b Chủ tịch hội đồng điều khiển buổi bảo vệ.
c Sinh viên trình bày đề tài.
d CBPB (hoặc thư ký) đọc nhận xét.
e Sinh viên trả lời các câu hỏi của CBPB và hội đồng.
f CBHD (hoặc thư ký) đọc nhận xét.
Trang 5g Hội đồng trao đổi và cham điểm.
2 Ý kiến trao đổi của hội đồng
3 Kết luận
Hội đồng thống nhất kết quả khóa luận tốt nghiệp của các sinh viên như sau:
TT Họ tên sinh viên Điểm | Điểm | Điểm | Điểm | Điểm | Điểm
Trang 6Lưu ý: Số thành viên Hội đồng là 03 Công thức tính điểm tông kết:
e _ Trường hợp CBPB không có trong Hội đồng
Điểm KLTN = (CTHĐ+TKHĐ+UVHĐ+CBHD*2+CBPB*2)/7
© _ Trường hợp CBPB là ủy viên Hội đồng
Điểm KLTN = (CTHD+TKHĐ+CBHD*2+CBPB*2)/6
Trang 7ĐẠI HỌC QUỐC GIA TP HO CHI MINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHE THONG TIN
TP HCM, ngày tháng năm
NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP
(CUA CÁN BO HUONG DAN)
Tên khóa luận:
TÌM HIỂU BLOCKCHAIN VÀ XÂY DUNG UNG DUNG MINH HOA
THEO DOI SAN PHAM TREN NEN TANG BLOCKCHAIN
Nhóm SV thực hiện: Cán bộ hướng dẫn/phản biên:
Trần Việt Cường 16520159 Ths Hà Lê Hoài Trung
Đánh giá Khóa luân
1 Về cuốn báo cáo:
Số trang Số chương
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
<nhận xét về định dạng, cách thức viết báo cáo, phân bồ nội dung, chương mục có hợp lý
không >
2 Về nội dung nghiên cứu:
<nhận xét về kiến thức, phương pháp mà sinh viên đã tìm hiểu, nghiên cứu nhận xét ưu điển và
Trang 8hạn chế>
3 Về chương trình ứng dụng:
<nhận xét về việc xây dựng ứng dung demo, nhận xét uu điểm và hạn ché>
4 Về thái độ làm việc của sinh viên:
<nhận xét về thái độ, ưu khuyết điểm của từng sinh viên tham gia>
Đánh giá chung:Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
<Tran Việt Cường>:
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 9ĐẠI HỌC QUỐC GIA TP HO CHI MINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHE THONG TIN
TP HCM, ngày tháng năm
NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP
(CUA CÁN BỘ PHAN BIEN)
Tên khóa luận:
TÌM HIỂU BLOCKCHAIN VÀ XÂY DUNG UNG DUNG MINH HOA
THEO DOI SAN PHAM TREN NEN TANG BLOCKCHAIN
Nhóm SV thực hiện: Cán bộ hướng dẫn/phản biên:
Trần Việt Cường 16520159
Đánh giá Khóa luân
5 Về cuốn báo cáo:
Số trang Số chương
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
<nhận xét về định dạng, cách thức viết báo cáo, phân bồ nội dung, chương mục có hợp lý
không >
6 Về nội dung nghiên cứu:
Trang 10<nhận xét về kiến thức, phương pháp mà sinh viên đã tìm hiểu, nghiên cứu nhận xét ưu điển và
hạn chế>
7 Về chương trình ứng dụng:
<nhận xét về việc xây dựng ứng dụng demo, nhận xét ưu điểm và hạn chế>
§ Về thái độ làm việc của sinh viên:
<nhận xét về thái độ, uu khuyết điểm của từng sinh viên tham gia>
Đánh giá chung:Khóa luận đạt/không đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình
Điểm từng sinh viên:
Người nhận xét
(Ký tên và ghỉ rõ họ tên)
Trang 11ĐẠI HỌC QUỐC GIA TP HO CHI MINH CỘNG HÒA XÃ HOI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHE THONG TIN
DE CUONG CHI TIET
TEN DE TAI: TIM HIEU BLOCKCHAIN VA XAY DUNG UNG DUNG MINH
HOA THEO DOI SAN PHAM TREN NEN TANG BLOCKCHAIN
(RESEARCH BLOCKCHAIN AND BUILD A PRODUCT ILLUSTRATE PRODUCT
TRACKING BASED ON BLOCKCHAIN TECHNOLOGY)
Cán bộ hướng dan: Hà Lê Hoài Trung
Thời gian thực hiện: Từ ngày 28/02/2022 đến ngày 11/06/2022
Sinh viên thực hiện:
<Trần Việt Cường — 16520159>
Nội dung đề tài:(Mô ta chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thực hiện,
kết quả mong đợi của dé tài)
1.Mục tiêu:
Blockchain với những giá trị tuyệt vời như: tính tin cậy, bảo mật cao, không thể đảo
ngược và tính sẵn sàng Blockchain là một công nghệ hết sức phù hợp đề áp dụng vào
những hệ thống cả nhỏ, trung và lớn Trong số đó, việc áp dụng công nghệ Blockchain
vào xây dựng thị trường thương mại điện tử được xem là hết sức phù hợp Mục tiêu được
tôi đặt ra khi xây dựng thị trường này là:
- Cải tiến phương thức thanh toán: Sử dụng hệ thống phi tập trung, bảo vệ danh tính
người ding, tự do trao đổi không giới hạn, dé dàng sử dụng, nhanh hon và ít gặp gian lận
hơn.
- Cải thiện quản lý chuỗi cung ứng: Theo dõi xuất xứ hàng hóa dễ dàng, giảm thiêu chỉ
Trang 12phí vận hành, bảo trì và bảo mật cho một hệ thống quản lý chuỗi cung ứng, dễ dàng quản
lý hàng tồn kho.
- Thị trường thương mại điện tử minh bạch hơn: Ngăn chặn các hành vi thao túng, thay đổi hay can thiệp vào trang thương mại điện tử.
- Đảm bảo an toàn và bảo mật dữ liệu người dùng: Các cuộc tan công mạng và đánh cắp
dữ liệu đang gia tăng một cách đáng sợ, áp dụng Blockchain là chìa khóa tuyệt vời để
giải quyết vấn đề này.
- Tạo ra các đánh giá sản phẩm thật và những ưu đãi cho từng cá nhân.
2.Phạm vi:
Người dùng mà tôi hướng tới là tắt cả các khách hàng có nhu cầu về mua và bán trên sàn thương mại điện tử Đồng thời mang đến cơ hội kinh doanh cho những người có mong
muốn một môi trường thương mại điện tử trong sạch, hiện đại, tự chủ và bảo mật Bên
cạnh đó còn cung cấp một sàn giao dich, nơi mọi người người có thé tìm được những sản phẩm ưng ý nhất mà không lo sợ lừa đảo hay mua phải hàng kém chất lượng.
3.Đối tượng:
Khảo sát nhu cầu
Cuộc cách mạng công nghiệp 4.0 dién ra đã trở thành động lực cho thương mại điện tử
của thế giới cũng như Việt Nam ngày càng phát triển, đặc biệt là hoạt động thương mại
điện tử xuyên biên giới, thu hút sự tham gia của nhiều thành phần trong xã hội Thương
mại điện tử xuyên biên giới đang nhanh chóng trở thành nhân tổ cốt lõi của nền kinh tế toàn cau và là xu hương tat yếu mà không một quốc gia nào có thé đứng ngoài cuộc.
Sau khi tham khảo một số báo chí và truyền thông, tôi xin liệt kê một số số liệu cụ thể về
thương mại điện tử của Việt Nam như sau:
- Mặc dù gặp những ảnh hưởng tiêu cực trong năm 2020 do đại dịch COVID-19, thương
mại điện tử Việt Nam vẫn có những bước tăng tốc mạnh mẽ, trở thành một trong những
thị trường TMĐT tăng trưởng nhanh nhất trong khu vực Đông Nam Á Theo Sách trắng Thương mại điện tử Việt Nam, năm 2020, tốc độ tăng trưởng của TMĐT đạt mức 18%,
quy mô đạt 11,8 tỷ USD và là nước duy nhất ở Đông Nam Á có tăng trưởng TMĐT 2
Trang 13con số Theo tính toán của các tập đoàn lớn thế giới như Google, Temasek và
Bain&Company, nhiều khả năng quy mô của nền kinh tế số Việt Nam sẽ vượt ngưỡng
52 tỷ USD và giữ vị trí thứ 3 trong khu vực ASEAN vào năm 2025.
- Thói quen mua hàng của người tiêu dùng Việt Nam tại thị trường nội địa cũng dần dịch
chuyền từ mua hàng truyền thống sang hình thức mua hàng online thông qua phương
tiện điện tử Kết quả điều tra, khảo sát của Bộ Công Thương cho thấy, tính đến năm
2020 Việt Nam có 49.3 triệu người tham gia mua sắm trực tuyến (số liệu này năm 2016 mới chỉ ghi nhận 32,7 triệu người).
- Đồng thời với đó, TMĐT giúp người tiêu dùng thông qua internet để mua sắm tại các
thị trường quốc tế và trở thành “người tiêu dùng toàn cầu”, đồng thời, giúp cho các cá
nhân, doanh nghiệp dé dàng hơn khi giới thiệu và giao sản phẩm của mình đến tay khách hàng quốc tế Bên cạnh đó, việc tham gia vào hệ thống xuất khẩu, nhập khẩu trực tuyến, các kênh thương mại điện tử xuyên biên giới sẽ tạo cơ hội cho các doanh nghiệp Việt
Nam giao lưu, cọ xát thực tế để hoàn thiện sản phẩm của mình, nâng cao năng lực doanh
nghiệp và giá trị chất lượng hàng hóa xuất xứ từ Việt Nam, đưa thương hiệu hàng Việt đến tay người tiêu dùng nhiều thị trường trên thế giới.
- Trong bối cảnh dịch bệnh Covid, thị trường TMĐT trở nên càng sôi động hơn, tuy
nhiên các phàn nàn về chất lượng sản phẩm, uy tín bán hàng, tốc độ xử lý hay bảo mật
thông tin người dùng vẫn dang là một vấn dé nan giải mà các nhà phát triển vẫn đang tìm
cách giải quyết triệt đề.
Phát hiện ra những chuyền biến của thị trường cũng như nhu cầu của người tiêu dùng và nhà cung cấp, chính là động lực dé em thực hiện dé tài nghiên cứu này.
4.Phương pháp thực hiện:
- Nghiên cứu Smart Contract:
Hợp đồng thông minh (Smart Contract) là thuật ngữ mô tả một bộ giao thức đặc biệt có khả năng tự động đưa ra các điều khoản và thực hiện các thoả thuận giữa các bên trong
hợp đồng (trường hợp này thường là các hệ thống máy tính) bằng việc ứng dụng công
nghệ blockchain.
Hop đồng thông minh có cơ chế hoạt động như một chương trình nhất định, thực thi yêu
Trang 14cầu, tác vụ cụ thể ứng với từng điều kiện riêng biệt trong một số trường hợp Vì thế, câu lệnh trong hợp đồng thông minh thường sẽ được viết ở dạng “nếu thì ” »
Mặc dù tên gọi là vậy, tuy nhiên trên thực tế, đây không phải là một hợp đồng pháp lý và cũng không “thông minh” Đơn thuần chỉ là các đoạn mã chạy trên một hệ thống phân
tán (blockchain) được lập trình sẵn.
Loi ích của Smart Contract:
Tự động hóa: Các quá trình thực hiện hợp đồng đều là cơ chế tự động hóa Người
dùng chính là người tạo hợp đồng, điều này sẽ xóa bỏ các lo lắng về việc phụ thuộc vào môi giới, luật sư hay bắt kỳ bên thứ ba nào khác.
Không bị that lạc: Chính vi tat cả dữ liệu đều được mã hóa trên một cuốn sô cái chung, nên việc thất lạc là điều rất khó Điều này cũng sẽ thuận tiện hơn trong
việc tìm kiếm hay xem lại, người dùng có thể năm giữ và kiểm soát một cách hiệu
quả.
An toàn: Bạn sẽ hạn chế được sự tấn công của hacker khi được blockchain đảm bản an toàn cho tài liệu.
Tốc độ: Nhờ vào việc sử dụng các ngôn ngữ lập trình, code phần mềm đề tự động
hóa các điều khoản, thé nên hợp đồng thông minh có thé tiết kiệm được rất nhiều thời gian cho những việc không cần thiết.
Tiết kiệm: Hợp đồng thông minh cũng tiết kiệm cho bạn một khoản ngân sách lớn
vì đã xóa bỏ các khâu trung gian.
Chính xác: Vì đã lập trình trên máy móc, việc hạn chế các lỗi mắc phải như trên
giấy tờ là điều dễ hiểu.
- Kỹ thuật được áp dụng:
Smart Contract : Hợp đồng thông minh là một chương trình máy tính hoặc một giao thức giao dịch nhằm mục đích tự động thực hiện, kiểm soát hoặc ghi lại các
sự kiện và hành động có liên quan về mặt pháp lý theo các điều khoản của hợp
đồng hoặc thỏa thuận.(Theo Wikipedia)
ERC-721: là một tiêu chuân token được nhiều lập trình viên thống nhất tuân theo tiêu chuẩn giúp cho việc viết code đơn giản và có thê tái sử dụng Việc tuân theo
tiêu chuẩn là tự nguyện và được áp dụng rộng rãi Đảm bảo token tương thích với
Trang 15đa ứng dụng như sản giao dịch, dApps, ví điện tử.
Solidity: Là một ngôn ngữ lập trình hướng đối tượng dé viết các hợp đồng thông
minh trên nền tảng blockchain, đặc biệt là Ethereum.
Truffle: là một framework của lập trình Ethereum, cho phép tạo môi trường kiểm thử, viết kiểm thử cho contract.
React: React là một thư viện JavaScript front-end mã nguồn mở miễn phí để xây dựng giao diện người dùng dựa trên các thành phần UI.
NodeJs: là một hệ thống phần mềm được thiết kế đề viết các ứng dụng internet có khả năng mở rộng Chương trình được viết bằng JavaScript, sử dụng kỹ thuật điều
khiển theo sự kiện, nhập xuất không đồng bộ dé tối thiểu tổng chi phí và tối đa
khả năng mở rộng.
5.Kết quả mong đợi của đề tài:
- Tạo ra được giao diện người dùng
- Hiểu về ERC-721 tokens
- Tạo Smart Contract thương mại điện tử
- Hoàn thành | ứng dụng dApp cho thương mại điện tử
Kế hoạch thực hién:(M6 td kế hoạch làm việc và phân công công việc cho từng sinh
viên tham gia)
Tìm hiểu định nghĩa về Ethereum,
SmartContract, NFTs.
Tuần 1-2 (28/02/2022 —
11/03/2022)
1.1 - Khai niém Blockchain.
- Khai niém Ethereum.
- Khái niệm Smart Contract.
- Khái niệm NFTs
- Tìm hiểu Truffle dé có thể test
Trang 16- Tìm hiểu cách kết nỗi React, NodeJs và Solidity => dApps
Tìm hiểu chỉ tiết kỹ thuật của Smart Contract, các bước chuẩn bị cho ứng
2.2 - Tìm hiểu các thư viện hỗ trợ tốt nhất
khi giao tiếp với Blockchain web api.
Tìm hiểu về React và NodeJs để viết
- Xây dựng giao diện
- Viết Smart Contract
- Ứng dụng BlockChain vào quản lý sản
phẩm.
- Trao đổi với giảng viên hướng dẫn và xin gop ý
Trang 17Cải tiến, mở rộng và phát triển ứng
Viết báo cáo 2 tuần (06/06/2022 — Đến khi
bảo vệ khóa luận)
- Trao đôi với giảng viên hướng dẫn và
xin góp ý
Xác nhận của CBHD TP HCM, ngày 26 tháng 02 năm 2022
(Ký tên và ghi rõ họ tên)
ThS.Ha Lê Hoài Trung
Sinh viên
(Ký tên và ghi rõ họ tên)
Trần Việt Cường
Trang 18LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn quý thầy cô khoa Hệ Thống
Thông Tin, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, đã
tận tình hướng dẫn em trong suốt thời gian học tại trường Những kiến thức mà thầy cô đã truyền đạt là nền tang quan trong dé em có thể hoàn thành đề tài này.
Đặc biệt, em xin gửi đến thầy Hà Lê Hoài Trung lời cảm ơn chân thành và sâu sắc nhất Cảm ơn các thay vì đã tận tình giúp đỡ, hướng dẫn và đưa ra lời khuyên bồ ích trong quá trình hoàn thành khoá luận Nếu không được thầy quan tâm, không có những lời góp ý, hướng dẫn của thầy thì em đã không thể hoàn thành khoá luận tốt nghiệp một cách trọn vẹn được.
Đồng thời, em cũng muốn được thé hiện lòng biết ơn của mình đến gia đình và bạn bẻ đã giúp đỡ em về cả mặt vật chất lẫn tinh thần để em có thể hoàn thành chặng đường học hành, và luôn ở bên cạnh để động viên khi
em gặp khó khăn.
Trong thời gian hơn 3 tháng thực hiện dé tai, em đã có gắng vận dụng những kiến thức nền tảng đã học, kết hợp học hỏi và tìm hiểu công nghệ mới dé ứng dụng xây dung đề tài khóa luận tốt nghiệp Tuy nhiên trong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế, khó tránh khỏi những thiếu sót Chính vì vậy, em rất mong nhận được sự góp ý
từ quý thầy cô để em hoàn thiện thêm những kiến thức mà em đã học tập,
làm hành trang quý báu trong công việc sau này.
Xin chân thành cảm ơn quý thầy cô!
Hồ Chí Minh, tháng năm 2022
Người thực hiện
Trần Việt Cường
Trang 19MỤC LỤC
CHUONG I: TONG QUAN DE TÀI
1.1 Giới thiệu đề tài -¿-2222cc 222221 2222111222111 222111 c.Errrree 3
1.2 Lý do chọn dé tài
I0 3 1.4 Phương pháp thực hiện
1.5 Kết quả dự kiến -22222c222232222211122211112222111.21111 11111 xe 4 CHƯƠNG 2: CƠ SỞ LÝ THUYÉT VÀ CÔNG NGHỆ
2.1 Tìm hiểu các khái niệm BlockChain, Ethereum, SmartContract,
2.2.2 Webpack - TT re 26
2.4 _ Ngôn ngữ Solidity Ặ Sàn TH HH HH HH rệt 27
2.5 Cơ chế trao đổi phi tập trung . -2¿+222++z+t2EEExertrrrkxrrerrrkecrrer 29
CHƯƠNG 3: XÂY DUNG HE THONG -cccccccc22Scrvverrrrrrrrrrrrer 31 3.1 Phân tích yêu CaUs cscccccssssesscssssesscssssscssssssscesssssesssssuseesssnuscesssusesesssueeeessnneees 31
3.1.1 Mô tả bài C01 | St nhe 31
Trang 20k0 32 3.2.1 Sơ đồ Usecase tổng quát.
3.2.2 Danh sách ACOF - ¿Sẻ 1k1 1E HH HH Hết 32 3.2.3 Danh sách Usecase
3.2.4 Đặc ta US€Cas€ Ăn HT HH HH Hư 34 3.3 Sequence Diagram
3.3.1 Mua hang no .Ð
3.3.2 Quan ly sản phẩm.
3.3.3 Thống kê giao diCh ceccssssssssssesscssssessssssseccssseseessssesesssieeessieesesssees 40
3.3.4 Gửi bình luận - 5c 222252232313 SE £EeEEetesexsrrerreerrrrrrreerree 40 3.4 Thiết kế cơ sở dữ liệu -22¿¿-5222+22222E2+222221112222111 2211 cerrkkerrreg 40 3.5 _ Thiết kế hệ thống 222¿-22222222222111222211112221112 22111 cEE.eccreg 42
3.6 Thiết kế giao diện -.¿¿c 22222 222212222221112222111 221111222111 re 44
3.6.1 Home - - + 5S S2 S223 3 E12 1 1 1411113111011 111gr 44 3.6.2 SelÏPage c St HH HH H1 kg 44 3.6.3 ProduCfPAg6 cành HH0 H000 H1 HH hư 44 3.6.4 OrdersPage + HH HH HH hư 46
EZn1yj0 a9 5 4 48
3.7.1 Đăng bán san phẩm sử dung blockchain và NFT 48
3.7.2 Mua sản pham cecccccssessssssseessssssesesssseeesssssesesssseesesssseseessseeseessseseesssees 49
CHUONG 4: KET LUẬN VÀ HƯỚNG PHAT TRIẺN -2 50
AL Tổng kết 222222 2222212221112 ccrrree 50 4.2 Hướng phát triển +c222+++ttEEEvvrettrrvrrerrrrrrrrrrree 50
Trang 21DANH MỤC HÌNH
Hình 1 Con trỏ chứa giá tri băm của dữ liệu bên trong khối trước.[4] -. - 6Hình 2 Phân biệt hợp đồng thường và hợp đồng thông minh - 12
Hình 4 Ví dụ file truffle-config.js sau khi tinh chỉnh - «- 5 «++<<++£+sexsex 20
Hình 5 Bức tranh NFT đắt nhất thé giới “Everydays: The First 5000 Days” 21
Hình 6 Logo MetaMMasK cv ng HH HH kh 25 Hinh 7 Logo ReactsS 27 Ig0i)i810)10)ia019) 1 28
Hinh 9 Usecase tong ni TNNớẽn ễồê.ồ®'".ồ 32
Hình 10 Sequence Mua hang - - - s5 11H TH HH HH 39
Hình 11 Sequence Quản lý sản phẩm - 2-2: ©5+S+2£x2E£+£x++rxezrxrxesree 39
Hình 12 Sequence Thống kê giao dịch -¿ 22 + ++2+++z++zx+zxvzxezzxzrxerxeres 40
Hình 13 Sequence Gửi bình luậnn - - c1 332111311131 S1 Errkereere 40
Hình 14 Ví dụ về object product (Lay trong ứng dụng demo) - 5+ 41Hình 15 So đồ cấu trúc hệ thống của 1 ứng dung web3 [3] -5z=s+ 42
Hình 17 Trang đăng sản phẩm lên website -2- 2 5 ++£z+£+E££Eerxerxerxersrree 44
Hình 18 Trang chi tiết sản phẩm -.-¿- 2 2 £+SSE£EE£EEEEEEEEEEEEEEEEEEEEEEEEEerkrrkrree 45
Hình 19 Trang cho phép người mua order sản phẩm 2 2-5 55s s+£s2 5+2 45
Hình 20 Trang hiển thị các Orders cho người bán 2-2 2 2 s+x+£x+zs+zszse2 46Hình 21 Trang hiển thị các orders của người mua . ¿ 2 5¿2cxz2+>s++>s+ 46Hình 22 Trang hiển thị các completed Ord€Ts 2 5¿+¿2++2x++zxzzxezxssrxz 47Hình 23 FlowChart Dang bán sản phẩm 2 2+2 £+E£+E£+E£EezEerxerxrrsvee 48Hình 24 FlowChart Mua sản phâm - 2-2: 5¿2S£+SE£EE£EE+2EESEEEEEerEerrxerkerrree 49
Trang 22DANH MỤC BANG
Bang | Điểm khác biệt giữa các loại blockchain - 2 2 2+ + E+£++£z£z£zez 8Bang 2 Các framework phổ biến cho lập trình blockchain hiện nay 10
Bảng 3 Danh sách ÀCEOT xxx HH ng TH TT Hà HH HH gà 32 Bảng 4 Đặc tả Usecase Tao tài khoản - - s1 vHHHnHnHngnHnry 35
Bảng 5 Đặc ta Usecase sắp xếp bình luận - 2-22 5¿22x2xtzxterxzrxrrrerree 35
Bảng 6 Đặc tả Usecase Quản lý người dùng - - + c1 x*sirrrrirrrrree 36
Bảng 7 Đặc tả Usecase Quản lý tài khoản - c1 + ng erre 36
Bang 8 Đặc tả Usecase Thống kê giao dịch -¿- + s2++££+Exe£xczkezrxerxerkeres 36
Bang 10 Đặc tả Usecase Bán hàng - cv HH HH ng 37
Bảng 11 Đặc tả Usecase Thống kê bán hàng 2 2¿ 5¿©£2x++£x+zxrrxeeree 37
Bảng 13 Đặc tả Usecase Mua hàng c1 311v ng ng ng rg 38 Bang 14 Đặc tả Usecase Tim hang - c1 2.1391 HH ng rệt 38 Bang 15 Các thuộc tính của product - 5 5 S311 ng ng ng rưệt 41
Trang 23DANH MỤC TỪ VIET TAT
STT Từ viết tắt Từ day đủ
1 SC SmartContract
2 NET Non-fungible token
3 E Ethereum
4 EVM Ethereum Virtual Machine
5 DEX Decentralized EXchange
6 ERC Ethereum Request for Comments
Trang 24TOM TAT KHÓA LUẬN
Trong môi trường kinh doanh dựa trên Internet ngày nay, thương mại điện tửdang là nền tang phát triển và nhiều tiềm năng nhất Chính vì sự phát triển cũng nhưnhu cầu thương mại điện tử tăng cao đã dẫn đến nhiều vấn đề cấp thiết phát sinh
như:
1 Lòng tin giữa các bên liên quan: Gitta nhà cung cap và bên bán hàng, gitra bên bán hang và khách hàng, giữa bên giao hàng với khách hàng,
2 Đánh giá tín dụng của người tham gia: Tín dụng ở đây là độ uy tín của cả
khách hàng, nhà cung cấp hay bên bán hàng Những người tham gia này càng thực
hiện được nhiều giao dịch thành công thì sẽ có điểm càng cao và ngược lại Từ đógiúp khách hàng đánh giá đúng nơi mình muốn mua, bên bán cũng tìm được những
khách hàng uy tín mà hướng tới.
3 Minh bạch trong hệ thống và cách vận hành: Mọi sản phẩm khi đưa vào hệ
thống phải được theo dõi sát sao từ khi sản xuất đến khi đến được tay người tiêu
dùng.
4 An ninh giao dịch và tính khả dụng của thông tin: Các thông tin giao dịchcủa các bên tham gia phải được quản lý chặt chẽ đề tránh sai sót hay nhầm lẫn, việc
đó có thé tạo lỗ hồng cho kẻ xấu lợi dụng Bên cạnh đó, thông tin về hàng hóa, kho
bãi, khả năng vận chuyển phải được cập nhật liên tục để không làm rỗi loạn hay
ngắt quãng chuỗi cung ứng
Nhận ra tiềm năng khi áp dụng công nghệ chuỗi khối vào thương mại điện
tử, để giải các bài toán ở trên, em quyết định thực hiện đề tài nghiên cứu khóa luận
tốt nghiệp “Tim hiểu blockchain và xây dựng ứng dụng minh họa theo dõi sản phẩm
trên nền tảng blockchain” với ý tưởng nghiên cứu tìm hiểu công nghệ chuỗi khối dé
khác phục và cải tiên những vân đê nêu trên.
Thông qua tìm hiệu kiên thức và công cụ liên quan đên công nghệ chuôi
khối, em hi vọng có thê hiểu và áp dụng công nghệ này để xây dựng một ứng dụng
Trang 25thương mại điện tử cơ bản với các chức năng: Quản lý sản phẩm, Quản lý đơn hàng,
Thêm hóa đơn, Xử lý đơn hàng, Đánh giá người mua, Quản lý thanh toán dựa trên
độ tin cay,
Tuy nhiên, công nghệ này khá mới với em và thời gian ba tháng thực hiện là
hơi ngăn dé vừa tìm hiểu công nghệ mới vừa hiện thực nó thành sản phẩm cụ thể
Do đó, sản phảm demo của em chỉ cho thấy được cách sử dụng và vận hành củaSmart Contract, liên kết với Blockchain thông qua Provider (Infura) và sử dụng víđiện tử Metamask.
Trang 26CHƯƠNG 1: TONG QUAN DE TÀI
1.1 Giới thiệu đề tài
Cuộc cách mạng công nghiệp 4.0 diễn ra đã trở thành động lực cho thương
mại điện tử của thế giới cũng như Việt Nam ngày càng phát triển, đặc biệt là hoạtđộng thương mại điện tử xuyên biên giới, thu hút sự tham gia của nhiều thành phần
trong xã hội Thương mại điện tử xuyên biên giới đang nhanh chóng trở thành nhân
tố cốt lõi của nền kinh tế toàn cầu và là xu hướng tất yếu mà không một quốc gia
nào có thê đứng ngoài cuộc.
Việc hợp tác thương mại điện tử xuyên biên giới này yêu cầu giao hàng giữacác bên trong chuỗi cung ứng xuyên biên giới Vì thế mà xây dựng lòng tin giữanhững người tham gia trong mạng lưới chuỗi cung ứng trở thành một vấn đề hết sức
quan trọng.
Nhu cầu về đánh giá tín dụng của những người tham gia đang ngày càng cấp
thiết với thương mại điện tử BlockChain, một công nghệ mới nổi lên ở những năm
gan đây đang là xu thé dé giải quyết van đề trên Với giá trị cốt lõi là thiết lập các
quy tắc công khai và minh bạch dựa trên các thuật toán và thiết lập sự tin cậy mạng
dé đảm bảo an ninh giao dịch và đạt được tính khả dụng của thông tin trong các môi
trường phức tạp.
1.2 Lý do chọn đề tài
Nhằm bắp kịp xu thế về công nghệ và nhu cầu trên của thương mại điện tử,
em đã lựa chọn đề tài nghiên cứu “Tìm hiểu blockchain và xây dựng ứng dụng minh
họa theo dõi sản phẩm trên nền tảng blockchain”
1.3 Mục tiêu
Blockchain với những giá tri tuyệt vời như: tính tin cậy, bảo mật cao, không
thé đảo ngược và tính sẵn sàng Blockchain là một công nghệ hết sức phù hợp dé ápdụng vào những hệ thống cả nhỏ, trung và lớn Trong số đó, việc áp dụng công nghệ
Trang 27Blockchain vào xây dựng thị trường thương mại điện tử được xem là hết sức phùhợp Mục tiêu được em đặt ra khi nghiên cứu xây dựng ứng dụng thương mại điện
tử này là:
- Cai tiến phương thức thanh toán: Sử dụng hệ thống phi tập trung, bảo vệ
danh tính người dùng, tự do trao đổi không giới hạn, dé dàng sử dụng, nhanhhon và it gặp gian lận hon.
- Dam bảo an toàn và bảo mật dữ liệu người dùng: Các cuộc tấn công mạng và
đánh cắp dữ liệu đang gia tăng một cách đáng sợ, áp dụng Blockchain là chìakhóa tuyệt vời dé giải quyết van dé này
- _ Đánh giá và xếp hạng được độ tin cậy của khách hàng từ đó có cơ chế thanh
toán riêng dựa trên độ tin cậy này.
- Cai thiện quản lý chuỗi cung ứng: Theo dõi xuất xứ hàng hóa dễ dàng, giảm
thiêu chi phí vận hành, bảo trì và bảo mật cho một hệ thống quản lý chuỗicung ứng, dễ dàng quản lý hàng tồn kho
1.4 Phương pháp thực hiện
Phương pháp thực hiện của em sẽ bao gồm 5 bước:
- Phan tích
- Tham khảo ứng dung tương tự đã có.
- _ Nghiên cứu công nghệ can sử dụng
Trang 28Quản lý kho.
Thêm hóa đơn.
Xử lý đơn hàng.
Đánh giá người mua.
Quản lý thanh toán dựa trên độ tin cậy.
Trang 29CHƯƠNG 2: CƠ SỞ LÝ THUYET VÀ CÔNG NGHỆ
2.1 Tìm hiểu các khái niệm BlockChain, Ethereum, SmartContract,
NFT,Metamask.
2.1.1 BlockChain
a) Dinh nghia BlockChain
“Blockchain giống như một database, là một cách dé lưu giữ giá tri và lịch sửgiao dịch Hau như tat cả mọi thứ đều có thé được lưu giữ trên blockchain”[2]
BlockChain sử dụng cơ chế con trỏ băm
Con trỏ sẽ trỏ đên khôi phía trước thông qua giá trị băm của khôi đó Khi đó
đê thêm vào một khôi mới, ta phải xác định giá trị băm của khôi trước và đưa nóthành giá trị của con trỏ trong khối mới
Con trỏ băm có cơ chế hoạt động tương tự như con trỏ, nhưng thay vì chỉ
today | bought a dog tomorrow | buy a flower
06c72b43a241 5edffe 01e4e52ccb1a38b8f{7 db78201eed51ci04a
Hình 1 Con trỏ chứa giá tri băm của dữ liệu bên trong khối trước.[4]
Trang 30Nguồn: Kiến trúc Blockchain - Tạo blockchain đơn giản với javascript - Phan 1 |
GMO-Z.com Vietnam Lab Center
Tức là khi hacker cố găng thay đổi dữ liệu của một khối bat kỳ thì sẽ phải
thay đôi toàn bộ lịch sử giao dịch trên các khối trước với giá trị băm tương ứng Délàm được điều này với năng lực tính toán hiện tại gần như không thể
Các loại trong hệ thong Blockchain:
- Public: Hệ thống Blockchain bat ky ai cũng có quyền đọc va ghi dữ liệu Quá
trình xác thực giao dịch đòi hỏi phải có hàng nghìn hàng vạn nút tham gia.
Do đó việc tan công vào hệ thống này là bat khả thi vì chi phí rất cao Vi dụ:
Bitcoin, Ethereum,
- Private: Chi cho phép người dùng đọc dữ liệu, quyền ghi thuộc về một bên
thứ 3 tuyệt đối tin cậy Bên thứ 3 toàn quyền quyết định mọi thay đổi trên
Blockchain bao gồm ca cấp quyền cho người dùng Ít thiết bị tham gia nên
nhanh hơn Ví dụ: Ripple
- Permissioned: Còn gọi là Consortium Kết hợp giữa public và private
blockchain Ví dụ: Các ngân hàng hay tổ chức tài chính sử dụng blockchain
Có cần được cấp Có Không Không
quyền dé sửa đôi
dữ liệu?
Ai có thê đọc dữ Bắt kỳ ai Chỉ những người Tuy thuộc
liệu trên dùng được mời
blockchain?
Trang 31Ai có thê ghi đữ Bat kỳ ai Những người Những người
liệu? tham gia được tham gia được
Tốc độ giao dịch Chậm Nhanh Nhanh
Bảng 1 Điểm khác biệt giữa các loại blockchain
b) Cơ chế đồng thuận
- PoW (Proof of Work): Phổ biến nhất được dùng trong Bitcoin, Ethereum,
Dogecoin, tuy nhiên tiêu ton rat nhiêu điện năng.
- PoS (Proof of Stake): Cơ chế đồng thuận trong Decred, Peercoin và trong
tương lai là Ethereum Cơ chế này phân cấp hơn và ít tiêu hao năng lượng
hơn.
- DPoS(Delegated Proof of Stake): Phổ biến trong Steemit, EOS, BitShares
Chi phí giao dịch rẻ, có khả năng mở rộng và hiệu suất năng lượng cao Tuynhiên vẫn hoi tập trung do vẫn lựa chọn người đáng tin cậy dé ủy quyên
Khả năng “khai thác” dựa trên sức
mạnh tính toán của máy tính.
Khả năng xác nhận phụ thuộc vào cô
thưởng
Trang 32vào chuối.
Hackers sẽ phải có một máy tính mạnh
hơn 51% của tất cả máy tính trong hệ
thống dé có thé thêm một block hỏng
Hackers phải sở hữu đến 51% tat cả số
cryptp trong mạng thì mới hack được.
Bang 2 Sự khác biệt giữa PoS và PoW
c) Các framework phố biến cho lập trình blockchain hiện nay
Amazon,
Top 3 vốn hóa : 9.7 tỷ đô năm 2021
Thanh khoản cao
Thu hút được nhiều nhà phát triển
Nôi tiêng và thịnh hành nhat Bảo mật cao nhât nhờ có rât nhiêu người dùng
Cơ sở hạ tầng phát triển
Hyperledger
Fabric
Proof of Elapsed Time
Có van bởi IBMPhổ biến với nhiều doanh nghiệp lớn
Cung cấp framework cho các doanh nghiệp xâydựng blockchain riêng tùy thuộc vào nhu cầu
Ripple
(XRP)
Proof of work Một hệ thống thanh toán tổng hợp theo thời gian
thực.
Mục tiêu thay thế SWIFT hay Western Union
EOS DPoS Hỗ trợ lưu trữ máy chủ và điện toán đám mây
Trang 33Độ trễ cực thấpBảng 2 Các framework phổ biến cho lập trình blockchain hiện nay
d) Blockchain trong tương lai
Sự phát triển của mạng lưới blockchain va sự phố biến của nó vào thế giớidoanh nghiệp sẽ hình thành một cơ sở hạ tầng thông tin quan trọng trong tương lai,bao gồm phân tích dữ liệu, trí tuệ nhân tạo và các cơ sở hạ tầng mới, Trongtương lai việc tăng cường tính minh bạch, truy xuất nguồn gốc và an ninh của cácchuỗi cung ứng và nguồn tài chính của các chuỗi cung ứng có thê sẽ là một bước
đột phá trong sự phát triển của nền kinh tế bền vững Tất cả điều này đòi hỏi các
tính toán cụ thé về việc đưa blockchain vào thực tiễn của các công ty hang đầu
thuộc ngành bán lẻ.
2.1.2 Ethereum.
- La một Blockchain Hiéu don giản Ethereum là một công nghệ được chạy
trên rất nhiều máy tính khác nhau dé có thé tạo ra một hệ thống đáng tin cậy
và sẽ vận hành đúng y như kỳ vọng.
- Một mạng lưới hàng ngàn máy tính kết nối với nhau này gọi là các nodes và
chúng cho phép truy cập thông tin lẫn nhau trong khi tin tưởng vào code với
mục tiêu phi tập trung internet.
- _ Sử dụng cơ chế đồng thuận PoW và tương lai sẽ chuyên thành PoS
- Ethereum blockchain phi tập trung va phân tán, tức là các nodes được kết nối
với nhau một cách độc lập, đồng thời chạy cùng một phần mềm ở các vị trí
khác nhau.
- Dinh nghĩa phi tập trung và phân tán:
o Mạng Phi tập trung: là một mang với nhiều máy tính chạy độc lập mà
không cần một máy trung tâm kiểm soát Mọi máy tính trong mạngđược kết nối trực tiếp với nhau trong mối quan hệ peer-to-peer (P2P).Nếu blockchain không phi tập trung, một chính phủ hay thực thể vào
đó sẽ có thé dé dàng kiêu soát cả mang lưới.
10
Trang 34o Phân tán: là một mang với nhiều máy tính khác nhau ở nhiều địa điểm
khác nhau chạy cùng một phần mềm Nếu blockchain không phân tán,
một ai đó có thé đến địa điểm mà tat cả các nodes được đặt và kiểm
soát hoàn toàn mạng.
Tại sao phi tập trung Internet lại quan trọng?
- Cac công ty lớn đang thao túng tat cả thông tin và chúng ta không thé truy
xuất hay sử dụng
- _ Việc phi tập trung internet sẽ tránh tập trung tất cả quyền lực và ảnh hưởng
vào một tổ chức hay công ty lớn Từ đó tạo sự công băng và an toàn cho mọi
cá nhân khi sử dụng.
- - Tức là thông tin sẽ không thể bị thay đôi hay bị xóa đi hoặc bị thao túng bởi
các yếu tô bên ngoài
Mục đích của Ethereum: Tạo sự tin cậy giữa các nền tảng cho phép ngườidùng tin tưởng vào Smart Contracts và Smart Contract này không thê bị can thiệp
buộc thực hiện bởi một bộ quy tắc cụ thé Các quy tắc này do bộ mã máy tính xác
định trước mà tất cả các nút (node) trong mạng đều phải sao chép và thực thi cácquy tac đó
lãi
Trang 35Traditional Contracts
Smart Contracts
Về bản chất, Smart Contract chỉ là một đoạn mã chạy trên một hệ thống phântán (blockchain), cho phép tạo ra các giao thức Permissionless (tức là không cần
trao quyền) Điều đó có nghĩa là:
- Hai bên trong hợp đồng có thé đưa ra các cam kết thông qua blockchain mà
không cần phải biết về danh tính hay tin tưởng lẫn nhau
- Họ có thé đảm bảo răng nếu các điều kiện của hợp đồng không được thỏa
mãn, hợp đồng sẽ không được thực thi
- _ Ngoài ra, việc sử dụng hợp đồng thông minh loại bỏ nhu cầu đối với các bên
trung gian, giúp giảm đáng ké chi phí hoạt động
b) Cách SmartContract hoạt động
- _ Các Smart contract thường được viết bởi các ngôn ngữ lập trình bậc cao, ví
dụ như Solidity Nhưng dé chạy, chúng bắt buộc phải được biên dịch ra level bytecode dé chạy trên máy ảo EVM Sau khi được biên dịch, chúng
low-12
Trang 36được deploy lên Ethereum blockchain với 1 transaction tới 1 creation address Mỗi một hợp đồng được xác định bởi một địa chỉ ethereum.
contract-Địa chỉ này có thê được sử dụng trong các transaction với tư cách người gửi,
người nhận hoặc đề gọi các chức năng của hợp đồng
- Chú ý, các smart contract chỉ được chạy khi chúng được gọi bởi 1
transaction, tất cả các smart contract trong ethereum được thực hiện bởi 1transaction được khởi xướng từ 1 EOAs (Externally Owned Accounts).
- Transaction là atomic, vậy nên bat kể 1 transaction có gọi bao nhiêu hop
đồng di chăng nữa, trang thái của các hợp đồng sẽ thay đổi nếu transactionthành công, nếu transaction thất bại, toàn bộ mọi thứ sẽ được rolled back nhưthé transaction chưa bao giờ được gọi Tuy nhiên transaction không thànhcông van được lưu trữ trên blockchain và có thé sẽ khấu trừ gas cost vào tài
khoản phát sinh transaction nhưng không có tác động nào lên trạng thái của
hợp đồng
- _ Một hệ thống Smart Contract thường sẽ gồm nhiều câu lệnh “if else ”
- Cac SmartContract sẽ được thực thi bởi Ethereum Virtual Machine (EVM).
Ethereum Node Ethereum Node
- EVM sẽ đóng vai trò trung gian trong việc thực thi các smart contract ở trên
mạng Ethereum Mỗi một Ethereum node được trang bị một EVM riêng,
điều này sẽ đảm bảo tính bảo mật và phi tập trung của mạng lưới
13
Trang 37- _ Như trong hình 3, các smartcontract sẽ được viết bằng ngôn ngữ solidity sau
đó sẽ được compile sang bytecode do EVM không hiểu được ngôn ngữsolidity, roi gửi dén tat cả các node trong mạng lưới Từ đó, mọi node sẽ thực
hiện sao smartcontract này.
Không thé thay đổi mã của hợp đồng nhưng chúng ta có thé xóa chúng khỏiblockchain Để thực hiện xóa chúng, chúng ta sử dụng EVM opcode
SELFDESTRUCT, opcode này sẽ remove contract ra khỏi blockchain Hoạt
động này có gas cost là âm, do đó khuyến khích việc giải phóng trạng thái
lưu trữ Xóa hợp đồng theo cách này sẽ không xóa transaction history củahợp đồng vì nó đã được lưu trữ trong blockchain nhưng nó sẽ loại bỏ trạngthái của hợp đồng ở tất cả các khối trong tương lai
c) Ưu, nhược điểm
Loi ích cua Smart Contract:
© Tự động hóa: Các quá trình thực hiện hợp đồng đều là cơ chế tự động
hóa Người dùng chính là người tạo hợp đồng, điều này sẽ xóa bỏ các
lo lắng về việc phụ thuộc vào môi giới, luật sư hay bat ky bén thu ba
nao khác.
Không bi that lạc: Chính vì tat cả dữ liệu đều được mã hóa trên mộtcuốn sô cái chung, nên việc that lạc là điều rất khó Điều này cũng sẽthuận tiện hơn trong việc tìm kiếm hay xem lại, người dùng có thểnăm giữ và kiểm soát một cách hiệu quả
An toàn: Bạn sẽ hạn chế được sự tấn công của hacker khi được
blockchain đảm bản an toàn cho tài liệu.
Tốc độ: Nhờ vào việc sử dụng các ngôn ngữ lập trình, code phần mềm
để tự động hóa các điều khoản, thế nên hợp đồng thông minh có thểtiết kiệm được rất nhiều thời gian cho những việc không cần thiết
Tiết kiệm: Hợp đồng thông minh cũng tiết kiệm cho bạn một khoản
ngân sách lớn vì đã xóa bỏ các khâu trung gian.
14