NGHIÊN CỨU TRIỂN KHAI HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ BLOCKCHAIN Hiện nay, công nghệ Blockchain dần trở thành xu hướng của nhiều ngành công nghiệp, dịch vụ với những ưu việt có thể hỗ trợ cho cuộc sống của con người trở nên dễ dàng hơn, điển hình là ứng dụng trong tiền điện tử Bitcoin. Bên cạnh đó, trong hệ thống bỏ phiếu điện tử, công nghệ Blockchain bảo đảm tính công khai, minh bạch và toàn vẹn dữ liệu của cuộc bỏ phiếu, giúp tiết kiệm chi phí và hoàn toàn có thể khắc phục được những nhược điểm của các hệ thống bỏ phiếu cũ, truyền thống. Hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain có nguyên tắc hoạt động tương tự như các hình thức bỏ phiếu truyền thống. Nhưng cử tri thay vì bỏ phiếu kín thì sẽ tiến hành bình chọn qua thiết bị điện tử và công nghệ Blockchain sẽ giúp ngăn chặn sự sai lệch dữ liệu cũng như khả năng bị tấn công giúp kết quả được đảm bảo chính xác nhất. Vào giữa năm 2018, West Virginia (Hoa Kỳ) trở thành tiểu bang đầu tiên áp dụng Blockchain trong bỏ phiếu. Mặc dù số lượng cử tri tham gia bầu cử qua nền tảng này vẫn là một con số nhỏ như một cuộc thử nghiệm nhưng với những kết quả tích cực mà nó mang lại, dự kiến công nghệ này sẽ được áp dụng ở quy mô lớn hơn. Việc vận dụng công nghệ Blockchain trong bỏ phiếu có thể được triển khai bằng việc sử dụng các nền tảng bỏ phiếu Blockchain mã nguồn mở. Nền tảng nguồn mở không có bất cứ yếu tố độc quyền nào nên tất cả cử tri đều có thể trực tiếp xem xét khiến cho tính minh bạch trong bầu cử luôn được đảm bảo. Mặc dù có những ưu điểm rõ rệt, nhưng việc áp dụng công nghệ Blockchain vào quá trình bỏ phiếu điện tử vẫn còn khá nhiều thách thức để có thể phổ cập rộng rãi. Vì vậy, việc nghiên cứu xây dựng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain là vấn đề mang tính thời sự cao, là một trong những nhiệm vụ chính trong lĩnh vực nghiên cứu xây dựng chính phủ điện tử. Xuất phát từ lý do đó em chọn đề tài: “Nghiên cứu hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain” để làm đồ án tốt nghiệp. Đồ án gồm 3 chương cụ thể như sau: Chương 1: Tổng quan về công nghệ Blockchain x Trong chương này sẽ trình bày các khái niệm có liên quan của công nghệ Blockchain, phân loại, kiến trúc, nguyên lý hoạt động, ứng dụng và đánh giá độ an toàn của công nghệ này. Chương 2: Hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain Trong chương này sẽ trình bày tổng quan về hệ thống bỏ phiếu điện tử, các mối đe dọa và từ đó đề xuất hệ thống bỏ phiếu điện tử sử dụng công nghệ Blockchain, phân tích các môđun mật mã trong hệ thống này. Chương 3: Triển khai mô phỏng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain Trong chương này sẽ đề xuất thiết kế hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain, cài đặt mô phỏng và đánh giá hiệu năng của hệ thống này. Xây dựng mô hình hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Phát triển mô phỏng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Đánh giá hiệu năng của hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Dựa trên kết quả mô phỏng và thử nghiệm, hệ thống được đề xuất đã hoạt động tốt. Các lá phiếu đã nhận có thể được kiểm tra tính xác thực và tính toàn vẹn bằng chữ ký số ECDSA và sau đó tất cả dữ liệu trong mỗi lá phiếu được kiểm tra tính hợp lệ. Chỉ những lá phiếu hợp lệ mới có thể được ghi lại là giao dịch, sau đó được niêm phong thành các khối. Nếu một nút có một hoặc nhiều giao dịch bị giả mạo, chúng có thể được phát hiện và khôi phục bằng cách so sánh dữ liệu với nút khác. Việc sử dụng SHA3 và ECDSA (thay vì chữ ký RSA) nhằm tăng tốc quá trình tạo cặp khóa và giữ cho kích thước dữ liệu tổng thể ở mức tối thiểu. Trong tương lai, hệ thống có thể được thử nghiệm giữa các thiết bị trên mạng nội bộ hoặc internet bằng cách sử dụng API an toàn Về mặt cơ sở lý thuyết: Tìm hiểu tổng quan về công nghệ Blockchain bao gồm thành phần, kiến trúc, nguyên lý hoạt động, tính chất, ứng dụng và độ an toàn của công nghệ Blockchain. Tìm hiểu về hệ thống bỏ phiếu điện tử, đề xuất mô hình hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain và phân tích các môđun mật mã, các giai đoạn bỏ phiếu trong hệ thống. Kết quả đạt được: Tìm hiểu về công nghệ Blockchain và khả năng ứng dụng trong thực tế. Tìm hiểu về hệ thống bỏ phiếu điện tử, đề xuất và phân tích mô hình hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Triển khai mô phỏng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Đánh giá hiệu suất và độ an toàn của mô phỏng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain. Hướng phát triển: Công nghệ Blockchain là một công nghệ đầy triển vọng phát triển và tính ứng dụng cao. Việc áp dụng công nghệ Blockchain vào hệ thống bỏ phiếu điện tử được coi là an toàn, tiết kiệm chi phí và hoàn toàn có thể ứng dụng trong thực tế. Từ những nhận xét trên, em xin đề xuất hướng nghiên cứu tiếp theo để hoàn thiện hơn kết quả đạt được như sau: Nghiên cứu chuyên sâu về công nghệ Blockchain và hệ thống bỏ phiếu điện tử từ đó triển khai mô hình bỏ phiếu điện tử dựa trên công nghệ Blockchain trên thực tế giữa các thiết bị trên mạng nội bộ. Tìm hiểu các ưu nhược điểm khi triển khai trên thực tế hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain để tối ưu hóa hệ thống. Do thời gian thực hiện đề tài có hạn và kiến thức hiểu biết chưa được sâu sắc nên trong phạm vi đề tài này chúng em mới chỉ nghiên cứu tổng quan về công nghệ Blockchain và tiến hành phát triển mô phỏng hệ thống bỏ phiếu điện tử dựa trên công nghệ Blockchain
ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ NGHIÊN CỨU TRIỂN KHAI HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ BLOCKCHAIN Nguyen Thanh Long Hà Nội - 2023 MỤC LỤC LỜI CẢM ƠN Lỗi! Thẻ đánh dấu không được xác định LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định CÁC KÝ HIỆU, CHỮ VIẾT TẮT v DANH SÁCH BẢNG BIỂU vi DANH MỤC HÌNH ẢNH vii LỜI NÓI ĐẦU ix CHƯƠNG TỔNG QUAN VỀ BLOCKCHAIN 1.1 Blockchain các khái niệm liên quan 1.1.1 Khái niệm hệ thống mạng phi tập trung 1.1.2 Khái niệm Blockchain 1.1.3 Hàm băm 1.1.4 Chữ ký số 1.2 Phân loại Blockchain 1.3 Kiến trúc nguyên lý hoạt động Blockchain 1.3.1 Kiến trúc 1.3.2 Nguyên lý hoạt động 1.4 Thuật toán đồng thuận Blockchain 10 1.4.1 Thuật toán chứng công việc (Proof of work) 11 1.4.2 Thuật toán chứng cổ phần (Proof of Stake) 14 1.5 Tính chất Blockchain 16 1.5.1 Tính tin cậy 16 1.5.2 Tính khơng thể đảo ngược 16 1.5.3 Tính bền vững 16 1.5.4 Tính mở 17 1.5.5 Tính sẵn sàng 17 1.6 Các phiên Blockchain 17 1.6.1 Phiên Blockchain 1.0: Tiền tệ 17 1.6.2 Phiên Blockchain 2.0: Hợp đồng thông minh 17 1.6.3 Phiên Blockchain 3.0: Ứng dụng phi tập trung (Dapp) 18 ii 1.6.4 Phiên Blockchain 4.0: Càng nhiều ứng dụng thực tiễn công nghệ chuỗi khối 18 1.7 Ứng dụng công nghệ Blockchain 19 1.7.1 Ngành công nghiệp dịch vụ tài 19 1.7.2 Công nghệ Blockchain với IoT 20 1.7.3 Ứng dụng vào giao thông 20 1.7.4 Ứng dụng lĩnh vực y tế, chăm sóc sức khỏe 21 1.7.5 Ứng dụng lĩnh vực bảo hiểm 21 1.7.6 Ứng dụng lưu trữ 21 1.7.7 Ứng dụng hoạt động công nghiệp – nhà máy 22 1.7.8 Ứng dụng lĩnh vực vận tải 22 1.7.9 Ứng dụng bỏ phiếu điện tử 22 1.7.10 Những ứng dụng khác 22 1.8 Độ an toàn Blockchain 23 1.9 Kết luận chương 24 CHƯƠNG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ BLOCKCHAIN 25 2.1 Khái niệm bỏ phiếu điện tử 25 2.2 Quy trình bỏ phiếu điện tử 26 2.2.1 Các thành phần hệ thống bỏ phiếu điện tử 26 2.2.2 Quy trình tổng quát 27 2.3 Các mối đe dọa an tồn thơng tin hệ thống bỏ phiếu điện tử 27 2.4 Mơ hình bỏ phiếu điện tử dựa công nghệ Blockchain 29 2.4.1 Các thành viên hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 29 2.4.2 Các mô-đun mật mã hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 29 2.4.3 Các giai đoạn hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 44 2.5 Kết luận chương 48 CHƯƠNG TRIỂN KHAI MÔ PHỎNG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ BLOCKCHAIN 49 iii 3.1 Mơ hình hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 49 3.2 Triển khai mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain…… ……………………… 50 3.3 Đánh giá hiệu suất mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain…………………………………… …………………………52 3.4 Đánh giá độ an toàn mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 56 3.5 Kết luận chương 60 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO 62 PHỤ LỤC A Lỗi! Thẻ đánh dấu không được xác định PHỤ LỤC B Lỗi! Thẻ đánh dấu không được xác định iv CÁC KÝ HIỆU, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt Elliptic Curve Cryptosystem Hệ mật đường cong Elliptic Elliptic Curve Digital Thuật toán chữ ký số đường Signature Algorithm cong Elliptic RSA Rivest–Shamir–Adleman Thuật toán mã hóa khóa cơng khai RSA PoW Proof of Work Thuật toán chứng công việc PoS Proof of Stake Thuật toán chứng cổ phần SHA Secure Hash Algorithm Thuật toán băm an toàn IoT Internet of Things Internet vạn vật P2P Peer-to-peer network Mạng ngang hàng ECC ECDSA NIST National Institute of Standards Viện tiêu chuẩn công nghệ quốc and Technology gia v DANH SÁCH BẢNG BIỂU Trang Bảng 2.1 So sánh kích thước khóa RSA ECDSA 43 Bảng 2.2 So sánh hiệu suất ECDSA RSA-PSS 43 vi DANH MỤC HÌNH ẢNH Hình 1.1 Hệ thống Blockchain sử dụng cấu trúc phân tán phi tập trung Hình 1.2 Các thành phần kỹ thuật cấu tạo nên Blockchain Hình 1.3 Mơ hình thực băm liệu Hình 1.4 Sơ đồ tạo kiểm tra chữ ký số Hình 1.5 Cấu trúc liệu Block gốc Blockchain Hình 1.6 Mơ hình liên kết các khối Blockchain Hình 1.7 Lược đồ thuật toán Proof of work 13 Hình 1.8 Biểu đồ phân bổ hash rate Bitcoin theo blockchain.info 15 Hình 2.1 Cấu trúc sponge: Z = SPONGE[ f ,pad, r ]( M , d ) 32 Hình 2.2 Cây băm Merkle 36 Hình 2.3 Đường dẫn xác thực Merkle 37 Hình 2.4 Quá trình xử lý liệu theo Merkle 38 Hình 2.5 Lược đồ thuật toán sinh chữ ký số ECDSA 41 Hình 2.6 Lược đồ thuật toán kiểm tra chữ ký ECDSA 42 Hình 2.7 Giai đoạn đăng ký 45 Hình 2.8 Giai đoạn bỏ phiếu 48 Hình 3.1 Sơ đồ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain….… 49 Hình 3.2 Giao diện trang chủ mơ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain 51 Hình 3.3 Giao diện bình chọn ứng cử viên 52 Hình 3.4 Quá trình xác minh chữ ký số 52 Hình 3.5 Giao diện hiển thị thành phần khối vừa được tạo 53 Hình 3.6 Quá trình niêm phong khối 54 Hình 3.7 Thử nghiệm tạo 10.000 phiếu bầu liên tục 55 Hình 3.8 Thử nghiệm niêm phong 10.000 phiếu bầu vào 500 khối 55 Hình 3.9 Giao diện hiển thị kết bỏ phiếu 56 Hình 3.10 Thay đổi liệu lá phiếu qua hệ quản trị CSDL SQLite 57 Hình 3.11 Hệ thống phát khối có liệu bị sửa đổi 58 Hình 3.12 Ví dụ khối chứa liệu bị hỏng giả mạo 58 Hình 3.13 Quá trình đồng liệu nút bị hỏng với các phần lớn các nút khác 59 vii Hình 3.14 Khối bị hỏng sau đồng trở nên hợp lệ 59 viii LỜI NĨI ĐẦU Hiện nay, cơng nghệ Blockchain dần trở thành xu hướng nhiều ngành công nghiệp, dịch vụ với ưu việt hỗ trợ cho sống người trở nên dễ dàng hơn, điển hình ứng dụng tiền điện tử Bitcoin Bên cạnh đó, hệ thống bỏ phiếu điện tử, cơng nghệ Blockchain bảo đảm tính cơng khai, minh bạch toàn vẹn liệu bỏ phiếu, giúp tiết kiệm chi phí hồn tồn khắc phục được nhược điểm các hệ thống bỏ phiếu cũ, truyền thống Hệ thống bỏ phiếu điện tử dựa cơng nghệ Blockchain có ngun tắc hoạt động tương tự các hình thức bỏ phiếu truyền thống Nhưng cử tri thay bỏ phiếu kín tiến hành bình chọn qua thiết bị điện tử công nghệ Blockchain giúp ngăn chặn sai lệch liệu khả bị tấn công giúp kết được đảm bảo xác nhất Vào năm 2018, West Virginia (Hoa Kỳ) trở thành tiểu bang áp dụng Blockchain bỏ phiếu Mặc dù số lượng cử tri tham gia bầu cử qua tảng số nhỏ thử nghiệm với kết tích cực mà mang lại, dự kiến cơng nghệ được áp dụng quy mô lớn Việc vận dụng cơng nghệ Blockchain bỏ phiếu được triển khai việc sử dụng các tảng bỏ phiếu Blockchain mã nguồn mở Nền tảng nguồn mở khơng có bất yếu tố độc quyền nên tất cử tri trực tiếp xem xét khiến cho tính minh bạch bầu cử ln được đảm bảo Mặc dù có ưu điểm rõ rệt, việc áp dụng công nghệ Blockchain vào quá trình bỏ phiếu điện tử cịn khá nhiều thách thức để phổ cập rộng rãi Vì vậy, việc nghiên cứu xây dựng hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain vấn đề mang tính thời cao, nhiệm vụ lĩnh vực nghiên cứu xây dựng phủ điện tử Xuất phát từ lý em chọn đề tài: “Nghiên cứu hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain” để làm đồ án tốt nghiệp Đồ án gồm chương cụ thể sau: Chương 1: Tổng quan công nghệ Blockchain ix Trong chương trình bày các khái niệm có liên quan công nghệ Blockchain, phân loại, kiến trúc, nguyên lý hoạt động, ứng dụng đánh giá độ an tồn cơng nghệ Chương 2: Hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Trong chương trình bày tổng quan hệ thống bỏ phiếu điện tử, các mối đe dọa từ đề xuất hệ thống bỏ phiếu điện tử sử dụng cơng nghệ Blockchain, phân tích các mơ-đun mật mã hệ thống Chương 3: Triển khai mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Trong chương đề xuất thiết kế hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain, cài đặt mô đánh giá hiệu hệ thống x Hình 2.8 Giai đoạn bỏ phiếu 2.4.3.3 Giai đoạn kiểm phiếu Trong giai đoạn này, khối được tạo số giao dịch nhất định (phiếu bầu) được chuyển tiếp đến tất các nút sau khối được phát Cuối cùng, kết bỏ phiếu được tính Số phiếu hợp lệ phải nhỏ tổng số phiếu được kiểm, thể công thức (2) 𝑉hợp lệ = 𝑉tổng số phiếu – 𝑉không được đánh dấu (2) Lá phiếu “khơng được đánh dấu” khóa cơng khai tương ứng không được sử dụng để xác minh liệu phiếu bầu không hợp lệ Trong hệ thống đề xuất, lá phiếu có cấu trúc sau: 𝑏v_id + 𝑏c_id + t Trong đó: 𝑏v_id UUID làm ID cử tri (32 byte) 𝑏c_id ID ứng cử viên (độ dài thay đổi) 𝑡 tem thời gian (có thể số nguyên giá trị thực) Giá trị tem thời gian thời gian tạo phiếu bầu thời gian phiếu bầu được hệ thống bỏ phiếu điện tử nhận được Sau ví dụ lá phiếu hợp lệ: e412ecdb-9970-4868-b0df-915e3eed9416|2|1623599074.389749 2.5 Kết luận chương Trong chương này, đề tài trình bày các nội dung sau: - Cơ sở lý thuyết các mơ hình bỏ phiếu điện tử phổ biến - Các mối đe dọa an tồn thơng tin hệ thống bỏ phiếu điện tử đề x́t mơ hình bỏ phiếu điện tử dựa cơng nghệ Blockchain - Phân tích các thành phần nguyên lý hoạt động hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Trong chương 3, đề tài triển khai mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain để đánh giá hiệu hệ thống CHƯƠNG TRIỂN KHAI MÔ PHỎNG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ DỰA TRÊN CƠNG NGHỆ BLOCKCHAIN 3.1 Mơ hình hệ thống bỏ phiếu điện tử dựa cơng nghệ Blockchain Máy chủ Dữ liệu lưu trữ UUID, thông tin cá nhân cử tri Cử tri Cơ quan Đăng ký Internet Cử tri Máy chủ lưu trữ, quản lý khóa cơng khai cử tri Cử tri n Cơ quan Bỏ phiếu Mining Node Máy chủ Blockchain quản lý, lưu trữ liệu phiếu cử tri Hình 3.1 Sơ đồ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain gồm có hai quan là: Cơ quan đăng ký quan bỏ phiếu với nhiệm vụ là: - Cơ quan đăng ký: Quản lý máy chủ dùng để lưu trữ UUID, thông tin cá nhân cử tri ứng cử viên; trao đổi liệu với các máy chủ máy chủ - Cơ quan Bỏ phiếu: Chịu trách nhiệm quản lý máy máy chủ Trong đó: Máy chủ có nhiệm vụ lưu trữ, quản lý khóa cơng khai cử tri xác thực chữ ký số cử tri lá phiếu; trao đổi liệu lá phiếu với máy chủ Máy chủ có nhiệm vụ quản lý hệ thống mạng Blockchain lưu trữ liệu bỏ phiếu sau được xác thực, niêm phong các khối Ngồi hệ thống cịn có thành phần quan trọng Mining Node - tập hợp các máy tính tham gia mạng Blockchain có nhiệm vụ xác thực liệu bỏ phiếu, tạo các khối hệ thống Blockchain dựa thuật toán Proof of Work, tập hợp các lá phiếu để niêm phong chúng khối vừa tạo truyền phát tới toàn mạng Blockchain Sau hết thời gian bỏ phiếu, quan bỏ phiếu tiến hành kiểm phiếu công bố kết bỏ phiếu 3.2 Triển khai mô hệ thống bỏ phiếu điện tử dựa cơng nghệ Blockchain Để nghiên cứu phân tích cách thức hoạt động hệ thống được đề xuất, em phát triển chương trình mơ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Chương trình mơ ứng dụng dựa web sử dụng: - Ngơn ngữ lập trình: Python phiên 3.9.0 - Framework: Django dựa Python 3.9.0 - Cơ sở liệu: SQLite - GUI: dựa web (trình duyệt) - Máy chủ: Máy chủ phát triển tích hợp Django Mơ được chạy máy tính với các thơng số kỹ thuật sau: - CPU: Intel Core i7-8750H - RAM: GB - Ổ cứng: Dung lượng TB, tốc độ đọc ~100 MB/s, tốc độ ghi ~ 100MB/s - Hệ điều hành: Windows 10 Home Single Language Trong mô này, các giao dịch được phát tới hai nút Số lượng giao dịch khối độ khó thuật toán Proof of Work được điều chỉnh để bù đắp hiệu suất máy tính chạy mơ Mơ bao gồm hai phần: “khối” “chuỗi” (Hình 3.2); đó: 1) “Khối”: Phần hiển thị ví dụ phiếu bầu thể quá trình xác minh chữ ký khai thác 2) “Chuỗi”: Phần trình bày quá trình tạo giao dịch hàng loạt, quy trình niêm phong lá phiếu, chi tiết khối, quy trình xác minh đồng hóa liệu Hình 3.2 Giao diện trang chủ mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain đáp ứng các yêu cầu sau tính sau: - Mỗi người dùng kiểm tra phiếu bầu họ sau bỏ phiếu kết thúc - Người dùng kiểm tra chi tiết khối (băm, nonce, số lượng giao dịch mà chứa, tổng số khối, v.v…) - Trong trường hợp nút bị hỏng, phải có khả đồng thuận với phần lớn các nút - Phải tạo số lượng lớn các lá phiếu ảo hợp lệ (10.000 phiếu) để chạy thử nghiệm đánh giá hiệu 3.3 Đánh giá hiệu suất mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Trong phần “Khối” chương trình mơ phỏng, em tiến hành bỏ lá phiếu có chữ ký cách sử dụng giao diện người dùng web giao dịch nhất sau niêm phong thành khối Hình 3.3 Giao diện bình chọn ứng cử viên Sau cử tri điền khóa bí mật phiếu bầu, hệ thống tiến hành xác minh chữ ký số cử tri lá phiếu bình chọn (Hình 3.4) Hình 3.4 Quá trình xác minh chữ ký số Sau xác minh chữ ký số thành công, phiếu bầu được đưa vào khối niêm phong lại Hệ thống hiển thị các thành phần khối chứa lá phiếu được gửi (Hình 3.5) Hình 3.5 Giao diện hiển thị thành phần khối vừa tạo Khối được khai thác thành công sau hàm băm hợp lệ được tạo Trong thử nghiệm em, số nonce 178597 độ khó câu đố yêu cầu băm với bốn số đầu mất khoảng 30,66 giây để tạo khối (Hình 3.6) Hình 3.6 Quá trình niêm phong khối Trong phần “Chuỗi”, hệ thống tạo 10.000 phiếu bầu (Hình 3.7) 500 khối (Hình 3.8) khoảng 2727,6724 giây (45 phút 28 giây) truyền lên hệ thống mạng Blockchain Mỗi khối bao gồm 20 phiếu bầu giao dịch, kích thước tối đa khối 1000 byte để đảm bảo khối đủ nhỏ để tất các giao dịch khối được xác minh nhanh chóng Hình 3.7 Thử nghiệm tạo 10.000 phiếu bầu liên tục Hình 3.8 Thử nghiệm niêm phong 10.000 phiếu bầu vào 500 khối Trong thử nghiệm này, ứng cử viên số giành chiến thắng với 3397 phiếu bầu (Hình 3.9) Hình 3.9 Giao diện hiển thị kết bỏ phiếu 3.4 Đánh giá độ an tồn mơ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain sử dụng hàm băm SHA-3, Merkle, số nhận dạng nhất (UUID) phiên lược đồ chữ ký số ECDSA Trong đó: - Hàm băm SHA-3 Merkle đảm bảo tính tồn vẹn tính chống sửa đổi liệu phiếu bầu - Số nhận dạng nhất (UUID4) đảm bảo tính bí mật định danh cử tri tham gia bỏ phiếu - Lược đồ chữ ký số ECDSA cung cấp tính tồn vẹn, tính xác thực tính chống chối bỏ cho phiếu bầu cử tri - Cơng nghệ Blockchain cung cấp tính tồn vẹn tính chống sửa đổi liệu phiếu bầu cử tri Để kiểm chứng độ an toàn hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain, em tiến hành giả mạo phiếu bầu sở liệu công cụ quản lý sở liệu Ví dụ: Tiến hành thay đổi kết phiếu bầu thứ 1000 với các liệu sau: - ID cử tri: 22da1395b6cd4e0c828788f8867c950c - Kết bầu: Ứng cử viên số (Thay đổi thành ứng cử viên số 1) - Tem thời gian: 1623216593.11433 - Block ID: 500 Hình 3.10 Thay đổi liệu phiếu qua hệ quản trị CSDL SQLite Tất các khối các giao dịch sau được kiểm tra tính tồn vẹn hệ thống phát thành cơng các khối nút có liệu bị giả mạo, được hiển thị hình 3.11 Hình 3.11 Hệ thống phát khối có liệu bị sửa đổi Khi bị thay đổi liệu phiếu bầu, hệ thống phát giá trị hash phiếu bầu giá trị Merkle Root Hash khối bị thay đổi (Hình 3.12) u cầu nút gặp cố phải đồng liệu với phần lớn các nút mạng Blockchain (Hình 3.13) Hình 3.12 Ví dụ khối chứa liệu bị hỏng giả mạo Hình 3.13 Quá trình đồng liệu nút bị hỏng với phần lớn nút khác Sau đồng thành công, liệu khối hợp lệ đưa lên hệ thống mạng Blockchain Kết bầu lá phiếu thứ 1000 ứng cử viên số (Đúng với kết bỏ phiếu ban đầu chưa bị thay đổi) Hình 3.14 Khối bị hỏng sau đồng trở nên hợp lệ 3.5 Kết luận chương Trong chương này, đề tài trình bày các nội dung sau: - Xây dựng mơ hình hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain - Phát triển mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain - Đánh giá hiệu hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Dựa kết mô thử nghiệm, hệ thống được đề xuất hoạt động tốt Các lá phiếu nhận được kiểm tra tính xác thực tính tồn vẹn chữ ký số ECDSA sau tất liệu lá phiếu được kiểm tra tính hợp lệ Chỉ lá phiếu hợp lệ được ghi lại giao dịch, sau được niêm phong thành các khối Nếu nút có nhiều giao dịch bị giả mạo, chúng được phát khôi phục cách so sánh liệu với nút khác Việc sử dụng SHA-3 ECDSA (thay chữ ký RSA) nhằm tăng tốc quá trình tạo cặp khóa giữ cho kích thước liệu tổng thể mức tối thiểu Trong tương lai, hệ thống được thử nghiệm các thiết bị mạng nội internet cách sử dụng API an toàn KẾT LUẬN Về mặt sở lý thuyết: - Tìm hiểu tổng quan cơng nghệ Blockchain bao gồm thành phần, kiến trúc, nguyên lý hoạt động, tính chất, ứng dụng độ an tồn cơng nghệ Blockchain - Tìm hiểu hệ thống bỏ phiếu điện tử, đề x́t mơ hình hệ thống bỏ phiếu điện tử dựa cơng nghệ Blockchain phân tích các mô-đun mật mã, các giai đoạn bỏ phiếu hệ thống Kết đạt được: - Tìm hiểu công nghệ Blockchain khả ứng dụng thực tế - Tìm hiểu hệ thống bỏ phiếu điện tử, đề x́t phân tích mơ hình hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain - Triển khai mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain - Đánh giá hiệu suất độ an tồn mơ hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain Hướng phát triển: Công nghệ Blockchain công nghệ đầy triển vọng phát triển tính ứng dụng cao Việc áp dụng công nghệ Blockchain vào hệ thống bỏ phiếu điện tử được coi an tồn, tiết kiệm chi phí hồn tồn ứng dụng thực tế Từ nhận xét trên, em xin đề xuất hướng nghiên cứu để hoàn thiện kết đạt được sau: - Nghiên cứu chuyên sâu công nghệ Blockchain hệ thống bỏ phiếu điện tử từ triển khai mơ hình bỏ phiếu điện tử dựa công nghệ Blockchain thực tế các thiết bị mạng nội - Tìm hiểu các ưu nhược điểm triển khai thực tế hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain để tối ưu hóa hệ thống Do thời gian thực đề tài có hạn kiến thức hiểu biết chưa được sâu sắc nên phạm vi đề tài chúng em nghiên cứu tổng quan công nghệ Blockchain tiến hành phát triển mô hệ thống bỏ phiếu điện tử dựa công nghệ Blockchain TÀI LIỆU THAM KHẢO [3] Don Tapscott, Alex Tapscott, Blockchain Revolution, 2016 [4] Krystsina Sadouskaya, Adoption of Blockchain Technology in Supply Chain and Logistics, 2017 [5] Loris De Luca, Blockchain - The New Internet?, 2019 [6] Yifan Wu, An E-voting System based on Blockchain and Ring Signature, 2017 [7] S Aruna, M Maheswari and A Saranya, Highly Secured Blockchain Based Electronic Voting System Using SHA3 and Merkle Root, 2020 [8] Gottfried Christophorus Prasetyadi, Gottfried Christophorus Prasetyadi, Rina Refianti, Blockchain-based Electronic Voting System with Special Ballot and Block Structures that Complies with Indonesian Principle of Voting, International Journal of Advanced Computer Science and Applications, 2020