Blockchain là cơ sởdữ liệu phân tán, dữ liệu đã lưu gần như không thể thay đổi được, nó chỉ đượccập nhật khi tất cả các bên liên quan đều đồng ý.. Hệ thống đã sử dụng một chuỗi các khối
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ
-
-CHUYÊN ĐỀ THỰC TẬP TỐT NGHIỆP
Đề tài:
NGHIÊN CỨU, ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN ĐỂ XÂY DỰNG PHẦN MỀM QUẢN LÝ VĂN BẰNG, CHỨNG CHỈ
Sinh viên thực hiện : Tôn Mai Hương
Mã sinh viên : 11182146
Chuyên ngành : Công nghệ thông tin
Giảng viên hướng dẫn : ThS Lưu Minh Tuấn
Hà Nội - 2022
Trang 2MỤC LỤC
MỤC LỤC 1
CÁC THUẬT NGỮ VIẾT TẮT 3
LỜI CẢM ƠN 4
LỜI MỞ ĐẦU 5
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 6
1.1 Tổng quan về blockchain 6
1.1.1 Giới thiệu về blockchain 6
1.1.2 Các định nghĩa kỹ thuật về blockchain 6
1.1.3 Lịch sử blockchain 6
1.1.4 Đặc điểm của blockchain 7
1.1.5 Ứng dụng blockchain 8
1.1.6 Các nền tảng blockchain phổ biến 9
1.2 Tổng quan về hệ thống quản lý văn bằng, chứng chỉ 10
1.2.1 Giới thiệu 10
1.2.2 Một số ứng dụng trên thế giới 10
1.3 Giới thiệu về đề tài 10
1.3.1 Tính cấp thiết của đề tài 10
1.3.2 Đối tượng và phạm vi nghiên cứu 10
1.3.3 Phương pháp nghiên cứu 11
1.3.4 Mục tiêu của đề tài 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12
2.1 Nền tảng Ethereum 12
2.1.1 12
1
Trang 32.2 Nghiệp vụ quản lý văn bằng 12
2.3 Hệ thống phần mềm 12
2.4 Cơ chế truy xuất văn bản dựa vào chuỗi khối 12
CHƯƠNG 3: CÀI ĐẶT THỰC NGHIỆM 13
CHƯƠNG 4: ĐÁNH GIÁ HỆ THỐNG 14
TÀI LIỆU THAM KHẢO 15
Trang 4CÁC THUẬT NGỮ VIẾT TẮT
ST
T
Thuật ngữ và
1 Blockchain
LỜI CẢM ƠN
Lời cảm ơn
Trang 5LỜI MỞ ĐẦU
Lời mở đầu
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI :
1.1 Tổng quan về blockchain
1.1.1 Giới thiệu về blockchain
Blockchain là chuỗi khối, hiểu đơn giản là dữ liệu sẽ được lưu trữ trong các khối và các khối liên kết với nhau tạo thành một chuối Blockchain là cơ sở
dữ liệu phân tán, dữ liệu đã lưu gần như không thể thay đổi được, nó chỉ được cập nhật khi tất cả các bên liên quan đều đồng ý Do đó, nó tại ra tính minh bạch
và niềm tin cho mọi người
1.1.2 Các định nghĩa kỹ thuật về blockchain
• Peer-to-peer (P2P): không có bộ điều khiển trung tâm trong mạng, tất cả mọi người đều có thể giao dịch trực tiếp với nhau
• Sổ cái phân tán: là một sổ cái được trải rộng trên mạng lưới giữa tất cả các peers ngang hàng, mỗi người dùng giữ một bản sao của sổ cái hoàn chỉnh
• Mật mã an toàn: Mật mã đã được sử dụng để cung cấp các dịch vụ bảo mật nhằm bảo vệ nó khỏi bị giả mạo và lạm dụng
• Chỉ nối (Append only): Chỉ có thể thêm dữ liệu vào chuỗi khối theo trình tự được sắp xếp theo thời gian
• Bất biến: Khi dữ liệu được thêm vào chuỗi khối, hầu như không thể thay đổi được
• Cập nhật thông qua sự đồng thuận: Mọi bản cập nhật đều được xác thực theo tiêu chí nghiêm ngặt được xác định bởi giao thức blockchain và chỉ được thêm vào blockchain sau khi đã đạt được sự đồng thuận giữa tất cả các đồng nghiệp / nút tham gia
1.1.3 Lịch sử blockchain
Blockchain đang được biết đến rộng rãi, phát triển mạnh mẽ ở trên thế giới nói chung và ở Việt Nam nói riêng Tuy nhiên, công nghệ này đã được nghiên cứu từ khá lâu Dưới đây là một số mốc quan trọng trong lịch sử của blockchain:
• Năm 1991, Stuart Haber và W Scott Stornetta có ý tưởng về một chuỗi
dữ liệu bất biến nhằm ghi nhận thời gian thực để không bị chỉnh sửa và giả mạo trên một bài báo có tiêu đề : “ Làm thế nào để đóng dấu thời gian một tài
Trang 7liệu ký thuật số” Hệ thống đã sử dụng một chuỗi các khối được bảo mật bằng mật mã để lưu trữ các văn bản được đánh dấu thời gian
• Năm 1992, Haber, Stornetta và Dave Bayer đã kết hợp cây Merkle vào thiết kế, điều này đã cải thiện hiệu quả của nó bằng cách cho phép thu thập một số chứng chỉ tài liệu vào một khối
• Năm 2004, Harold Thomas Finney II đưa ra một hệ thống gọi là RPoW, Proof Of Work Hệ thống hoạt động bằng cách nhận một Hashcash không thể thay đổi hoặc không thể thay thế dựa trên token proof of work và đổi lại tạo
ra một token đã được ký RSA mà sau đó có thể trao đổi trực tiếp từ người này sang người khác RpoW có thể xem là thử nghiệm ban đầu và những bước đầu tiên quan trọng trong lịch sử tiền điện tử
• Năm 2008, blockchain đầu tiên được lên ý tưởng bởi một người (hoặc một nhóm người) được gọi là Satoshi Nakamoto Nakamoto đã cải tiến thiết
kế bằng cách sử dụng phương pháp giống như Hashcash để timestamp các khối mà không yêu cầu chúng phải được ký bởi một bên đáng tin cậy và giới thiệu một tham số độ khó để ổn định tốc độ mà các khối được thêm vào trong chuỗi
• Năm 2009, Bitcoin ra đời Đây là sự kiện rất quan trọng trong lịch sử blockchain
1.1.4 Đặc điểm của blockchain
Một số đặc điểm của công nghệ blockchain:
• Tính phân tán: Chuỗi khối được phân tán, có nghĩa là không một người hay nhóm nào nắm giữ quyền quyết định của toàn bộ mạng lưới Như vậy thì cho dù hacker có tấn công 1 người, dữ liệu sẽ còn ở rất nhiều nơi khác và người bị tấn công cũng dễ dàng lấy lại dữ liệu ban đầu bằng cách sao chép dữ liệu của người khác Khi bị yếu tố bên ngoài ảnh hưởng ở một phạm vi thì tại phạm vi khác vẫn sẽ còn bản sao lưu Vì vậy gần như không có cách gì để phá huỷ quyển sổ cái này được Mô hình này đã đáp ứng tối đa nhu cầu lưu trữ và bảo vệ dữ liệu
• Tính bất biến: Một khi các thông tin đã lưu trữ trong blockchain, ta hoàn toàn yên tâm, bất kì ai hay tổ chức nào gần như là không thể sửa đổi được
nó, không có cách nào để phá huỷ nó Nó sẽ tồn tại mãi mãi theo đúng nghĩa đen, đây là yếu tố vô cùng quan trọng để cả thế giới tin vào blockchain
Trang 8• Loại bỏ vai trò của bên thứ ba: Giúp mọi người dù không hề quen biết nhưng vẫn có thể tin tưởng nhau tuyệt đối, vẫn có thể thực hiện giao dịch mà không cần trung gian Từ đó tạo nên niềm tin giữa hai bên và sẽ giúp công việc hoàn thành nhanh chóng, tiết kiệm chi phí và rất đáng tin cậy
• Tính ẩn danh: Mỗi người dùng có thể tương tác với blockchain với một địa chỉ được tạo, không tiết lộ danh tính thực sự của người dùng Tuy nhiên thì mỗi người cần phải bảo quản mã khoá bí mật của mình, nếu để lộ sẽ rất nguy hiểm
• Tính chống giả mạo: Với đặc tính bất biến đã được trình bày ở trên, việc phát hiện giả mạo bất kỳ dữ liệu nào sẽ trở nên dễ dàng hơn Chuỗi khối có thể chống giả mạo vì mọi thay đổi trong một khối có thể được phát hiện và
xử lý nhanh chóng Như được mô tả trước đó, mỗi giá trị băm của một khối
là duy nhất Mọi thay đổi trong dữ liệu sẽ dẫn đến thay đổi giá trị băm Do giá trị băm của một khối được liên kết với khối tiếp theo, để hacker có thể thực hiện bất kỳ thay đổi nào, chúng sẽ phải sở hữu 51% số node để có thể thay đổi giá trị băm của tất cả các khối sau khối đó Điều này là rất khó và có thể nói là không khả thi
• Sức chứa: blockchain như một hình thức lưu trữ hồ sơ phi tập trung gần như không có giới hạn Càng nhiều node tham gia vào thì hệ thống sẽ càng trở lên an toàn hơn mà thôi
1.1.5 Ứng dụng blockchain
Hiện nay, blockchian đã được ứng dụng rộng rãi trong xã hội Một số lĩnh vực mà blockchain đã, đang và sẽ sớm đưa vào phục vụ xã hội của chúng ta:
• Tiền kỹ thuật số: điển hình là bitcoin, một đồng tiền kỹ thuật số đang rất
có giá trị ngày nay Ngoài bitcoin cũng còn nhiều đồng tiền kỹ thuật số khác như : ETH, LINK, DOT,
• Hợp đồng thông minh: khi hai bên đã ký kết hợp đồng với các điều khoản rõ ràng, cụ thể thì họ sẽ cài đặt một đoạn mã lập trình gắn vào bên trong các khối với điều khoản lập trình sẵn dựa trên các tập lệnh khác nhau Một khi điều kiện hợp đồng thỏa mãn thì điều khoản tương ứng sẽ được thi hành tự động mà không cần một bên trung gian đứng ra đảm bảo
• Lĩnh vực y tế: hiện nay, hồ sơ bệnh án của bệnh nhân tại mỗi bệnh viện lại khác nhau và bệnh nhân mỗi khi chuyển viện là phải làm lại các xét
Trang 9nghiệm gây tốn kém về tiền và thời gian rất nhiều Blockchain có thể giúp lưu trữ và chia sẻ các hồ sơ bệnh án của người bệnh giữa các bệnh viện với nhau, qua đó các bác sỹ hoàn toàn có thể tin tưởng vào thông tin bệnh án của bệnh nhân và có thể sẽ giảm thiểu thủ tục không cần thiết Ngoài ra còn ứng dụng vào việc quản lý hàng tồn kho, các thiết bị y tế, thuốc,…
• Lĩnh vực giáo dục: Blockchain có thể giúp minh bạch hóa hồ sơ học tập, các văn bằng, chứng chỉ,… mà không ai có thể thay đổi được Và trong khóa luận này, tôi cũng áp dụng công nghệ Ethereum - một nền tảng blockchain để
áp dụng vào hệ thống quản lý văn bằng tốt nghiệp
• Lĩnh vực sản xuất: Trong quá trình sản xuất, chúng ta cần theo dõi quá trình sản xuất, tồn kho, phân phối, thông tin giao dịch, Blockchain sẽ thay thế các thiết bị thông minh cấp quyền quản lý, nâng cao hiệu quả và tăng đáng kể năng suất của quản lý chuỗi cung ứng quá trình Đối với người tiêu dùng thì việc kiểm tra được tính xác thực của sản phẩm có thể ngăn chặn được hàng giả, hàng kém chất lượng trên thị trường
• Thương mại điện tử: blockchain sẽ giúp khách hàng hoàn toàn yên tâm
là mua được hàng thật nhờ khả năng truy xuất nguồn gốc và xuất xứ của hàng hóa
• Lĩnh vực tài chính & ngân hàng: blockchain với tính chất không thể thay đổi được sẽ rất thích hợp để lưu trữ những giao dịch liên quan đến tiền Cụ thể trong lĩnh vực này, khi áp dụng công nghệ blockchain vào sẽ trở nên cực
kỳ minh bạch và hạn chế rủi ro trong thanh toán
• Lĩnh vực nông nghiệp: quản lý chuỗi cung ứng sản phẩm, chuỗi phân phối hàng tồn kho, lưu trữ thông tin hàng hóa, quy trình chăm sóc, các tiêu chuẩn cho thực phẩm sạch, truy xuất nguồn gốc và vòng đời sản xuất nông sản,…
1.1.6 Các nền tảng blockchain phổ biến
Hiện nay, các nền tảng blockchain cũng được phát triển rất mạnh mẽ phục
vụ cho các mục đích khác nhau Sau đây là một sổ nền tảng phổ biến:
• Bitcoin:
• Ethereum: là một nền tảng điện toán có tính chất phân tán, công cộng,
mã nguồn mở dựa trên công nghệ Blockchain Đây là công nghệ được tôi nghiên cứu rất kỹ và áp dụng vào khóa luận này Vì thế nền tảng ethereum sẽ
Trang 10được viết cụ thể và chi tiết ở phần sau.
• Hyperledger:
• Polkadot:
• Solana:
• Cosmos:
1.2 Tổng quan về hệ thống quản lý văn bằng, chứng chỉ
1.2.1 Giới thiệu
Trước tiên, chúng ta cần hiểu văn bằng, chứng chỉ là văn bản chính thức chứng nhận do cơ quan giáo dục có thẩm quyền cấp về một trình độ học vấn nhất định, có giá trị pháp lý lâu dài Hiểu đơn giản hơn thì nó là một văn bản mà bên này cấp cho bên kia để xác nhận một sự kiện nào đó là đúng
Về các quy trình liên quan đến văn bằng, chứng chỉ thì có 3 quy trình, đó là: phát hành, xác minh và chia sẻ Quy trình phát hành được thực hiện hàng loạt cho các học viên đã học xong khóa học và đủ điều kiện để nhận văn bằng, chứng chỉ Quy trình xác minh ở đây có thể là chữ ký hoặc đóng dấu kết hợp của bên tạo ra khóa học đó Quy trình chia sẻ thì đơn giản là việc người học sau khi nhận được chứng chỉ có thể mang đến cho bên nhà tuyển dụng xem
1.2.2 Một số ứng dụng trên thế giới
Hiện nay, trên thế giới có rất nhiều dự án sử dụng công nghệ blockchian
để quản lý và xác minh văn bằng, chứng chỉ Tiêu biểu đó là Blockcerts và BTCert
Blockcerts
BTCert
1.3 Giới thiệu về đề tài
1.3.1 Tính cấp thiết của đề tài
Trong xã hội hiện nay, chúng ta không thể phủ nhận được một vấn nạn hết sức phổ biến và nghiêm trọng, đó là việc làm các chứng chỉ, bằng cấp giả Chỉ cần lên google gõ chữ “ làm bằng giả” là hàng loạt các địa chỉ trang web làm chứng chỉ, bằng cấp giả hiện lên Điều đó trở nên không công bằng đối với những người học thật, thi thật và cũng rất khó khăn cho các nhà tuyển dụng trong việc xác thực những tấm bằng hay chứng chỉ của ứng viên Ở trong xã hội hiện nay thì bằng cấp vẫn là căn cứ hết sức quan trọng để các nhà tuyển dụng có thể nhìn thấy một phần năng lực của ứng viên Ngoài ra, việc làm giả bằng cấp
để chạy vào các cơ quan nhà nước là khá phổ biến, điều đó có thể giúp cho những người không đủ năng lực trở thành cán bộ nhà nước, rất dễ gây mất phẫn
Trang 11nộ trong nhân dân Xét về lâu dài thì có thể ảnh hưởng đến cả một xa hội, gián tiếp làm cho nền kinh tế bị thụt lùi Chính vì vậy, để giảm thiểu việc làm bằng cấp, chứng chỉ giả, tôi quyết định xây dựng một hệ thống quản lý văn bằng, chứng chỉ Đặc biệt, để đảm bảo tính minh bạch thì hệ thống được ứng dụng công nghệ blockchain thay vì lưu trữ cơ sở dữ liệu bình thường mà dữ liệu có thể dễ dàng thay đổi bởi một admin nào đó
1.3.2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Công nghệ blockchain
- Quy trình xây dựng phần mềm
- Công cụ xây dựng phần mềm: phần mềm Visual Studio
- Người sử dụng hệ thống
+ Các trường học, trung tâm đào tạo
+ Các nhà tuyển dụng
+ Sinh viên, học viên, học sinh
Phạm vi nghiên cứu:
1.3.3 Phương pháp nghiên cứu
- Nghiên cứu các tài liệu từ giáo trình môn phân tích và thiết kế hệ thống;
cơ sở dữ liệu; hệ quản trị cơ sở dữ liệu
- Nghiên cứu từ các tài liệu trên mạng, các trang web hướng dẫn lập trình
- Trao đổi kiến thức từ giảng viên và học tập từ các anh chị, bạn bè
1.3.4 Mục tiêu của đề tài
Việc nghiên cứu, ứng dụng công nghệ blockchain để xây dựng phần mềm quản lý văn bằng, chứng chỉ nhằm mục đích giúp cho nhà trường, trung tâm có thể lưu trữ thông tin về bằng cấp, chứng chỉ của sinh viên, học viên một cách dễ dàng và giúp cho các nhà tuyển dụng có thể xác thực được bằng cấp, chứng chỉ của ứng viên Đặc biệt, việc ứng dụng công nghệ blockchain giúp cho các dữ liệu được công khai, minh bạch và trở nên uy tín hơn bao giờ hết
Trang 12CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Nền tảng Ethereum
2.1.1.
2.1.2.
2.2 Nghiệp vụ quản lý văn bằng
2.3 Hệ thống phần mềm
2.4 Cơ chế truy xuất văn bản dựa vào chuỗi khối
Trang 13CHƯƠNG 3: CÀI ĐẶT THỰC NGHIỆM 3.1
3.2.
Trang 14CHƯƠNG 4: ĐÁNH GIÁ HỆ THỐNG
Trang 15TÀI LIỆU THAM KHẢO
[1] https://en.wikipedia.org/wiki/Blockchain
[2] https://academy.binance.com/vi/articles/history-of-blockchain
[3] https://wincolaw.com.vn/vi/cong-nghe-blockchain-la-gi-ung-dung-thuc-te-cua-blockchain-trong-cuoc-song.html