Nghiên cứu và ứng dụng công nghệ blockchain cho bầu cử điện tử

71 75 2
Nghiên cứu và ứng dụng công nghệ blockchain cho bầu cử điện tử

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Nguyễn Văn Quyết NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN CHO BẦU CỬ ĐIỆN TỬ LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2020 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Nguyễn Văn Quyết NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN CHO BẦU CỬ ĐIỆN TỬ Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG MINH TUẤN HÀ NỘI - 2020 i LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng tôi, kết đạt luận văn sản phẩm riêng cá nhân, không chép lại người khác Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn Nguyễn Văn Quyết ii LỜI CẢM ƠN Lời tơi xin gửi lời cảm ơn lịng biết ơn sâu sắc đến thầy giáo TS.Đặng Minh Tuấn, người giúp tơi chọn đề tài, định hình hướng nghiên cứu, tận tình hướng dẫn bảo tơi suốt q trình thực luận văn tốt nghiệp Tơi xin gửi lời cảm ơn chân thành đến thầy, cô giáo trường Học viện Công nghệ Bưu Viễn thơng Các thầy, giáo dạy bảo truyền đạt cho nhiều kiến thức, giúp tơi có tảng kiến thức vững sau ngày tháng học tập trường Tôi xin gửi lời cảm ơn chân thành tới bạn khóa 2018 đợt ủng hộ khuyến khích tơi suốt q trình học tập trường Cuối cùng, tơi muốn gửi lời cảm ơn sâu sắc đến gia đình bạn bè – người thân u ln kịp thời động viên giúp đỡ vượt qua khó khăn học tập sống iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT v DANH SÁCH BẢNG vi DANH SÁCH HÌNH VẼ vii LỜI MỞ ĐẦU 1 Lý chọn đề tài Cấu trúc luận văn CHƯƠNG 1: TỔNG QUAN VỀ BẦU CỬ VÀ BẦU CỬ ĐIỆN TỬ 1.1 Giới thiệu chung bầu cử bầu cử Việt Nam 1.1.1 Giới thiệu chung bầu cử 1.1.2 Thực trạng bầu cử Việt Nam 1.2 Giới thiệu bầu cử truyền thống 1.2.1 Mô hình triển khai 1.2.2 Ưu nhược điểm mơ hình bầu cử truyền thống 1.3 Giới thiệu bầu cử điện tử 1.3.1 Mơ hình triển khai 1.3.2 Ưu nhược điểm mơ hình bầu cử điện tử 1.4 Kết luận chương CHƯƠNG 2: BLOCKCHAIN VÀ BẦU CỬ ĐIỆN TỬ iv 2.1 Giới thiệu công nghệ blockchain 2.1.1 Khái niệm 2.1.2 Cơ cở lý thuyết nguyên tắc hoạt động blockchain 11 2.2 Ứng dụng blockchain cho bầu cử điện tử 22 2.2.1 Yêu cầu hệ thống bầu cử điện tử, mơ hình an tồn khả công vào hệ thống bầu cử điện tử 22 2.2.2 2.3 Giới thiệu mơ hình ứng dụng blockchain cho bầu cử điện tử 24 Kết luận chương 30 CHƯƠNG 3: THỬ NGHIỆM VÀ KẾT QUẢ 32 3.1 Phân tích thiết kế hệ thống 32 3.2 Lựa chọn công nghệ triển khai hệ thống 33 3.3 Xây dựng mơ hình kịch thử nghiệm 49 3.4 Một số kết quả, nhận xét đánh giá 54 KẾT LUẬN 56 DANH MỤC TÀI LIỆU THAM KHẢO 57 v DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT Viết tắt API CPU ECDSA e-voting HĐND HTTP ID JSON P2P Txid vi DANH SÁCH BẢNG Bảng 2.1: So sánh số thuật toán băm [9] 11 Bảng 2.2: Các thành phần giao dịch 18 Bảng 2.3: Tìm số Nonce thỏa mãn Difficulty 21 Bảng 3.1: Các giao dịch trung bình giây Multichain 35 Bảng 3.2: Mô tả liệu cử tri 37 Bảng 3.3: Mô tả liệu quản trị viên 38 Bảng 3.4: Mô tả liệu ứng viên 38 Bảng 3.5: Thực nghiệm gửi yêu cầu lấy liệu hệ thống blockchain với nút 52 Bảng 3.6: Thực nghiệm gửi yêu cầu tạo liệu hệ thống blockchain với nút 52 Bảng 3.7: Thực nghiệm gửi yêu cầu lấy liệu hệ thống blockchain với nút 53 Bảng 3.8: Thực nghiệm gửi yêu cầu tạo liệu hệ thống blockchain với nút 53 Bảng 3.9: So sánh hình thức bầu cử 54 vii DANH SÁCH HÌNH VẼ Hình 1.1: Mơ hình triển khai bầu cử truyền thống Hình 1.2: Mơ hình triển khai bầu cử điện tử Hình 2.1: Đồ thị hệ mật đường cong elliptic 13 Hình 2.2: Nguyên lý hoạt động mạng blockchain [10] 16 Hình 2.3: Rẽ nhánh blockchain [11] 17 Hình 2.4: Các thành phần transaction [10] 18 Hình 2.5: Cấu trúc transaction [5] 19 Hình 2.6: Mơ hình khối chuỗi khối bitcoin [10] 20 Hình 2.7: Mơ hình bầu cử điện tử Estonian [14] 23 Hình 2.8: Giai đoạn – chuẩn bị bầu cử 25 Hình 2.9: Giai đoạn – Bỏ phiếu 27 Hình 2.10: Giai đoạn – Tổng hợp kết 28 Hình 3.1: Thiết kế hệ thống mơ hình bầu cử điện tử ứng dụng blockchain 32 Hình 3.2: Mơ hình thiết kế hệ thống sử dụng JavaEE Multichain 36 Hình 3.3: Cấu trúc mã nguồn ứng dụng 39 Hình 3.4: Mã nguồn dùng JSON-RPC API để tương tác với Multichain 40 Hình 3.5: Tạo blockchain 40 Hình 3.6: Khởi động blockchain 41 Hình 3.7: Tạo stream user 41 Hình 3.8: Đăng ký (subcribe) stream user 41 Hình 3.9: Tạo quản trị viên 41 Hình 3.10: Tạo ứng viên 42 Hình 3.11: Tạo cử tri 42 Hình 3.12: Gửi phiếu bầu cho cử tri 43 Hình 3.13: Xem thông tin quản trị viên 43 Hình 3.14: Xem thơng tin ứng viên 44 Hình 3.15: Kiểm tra số lượng phiếu bầu ứng viên 44 Hình 3.16: Xem thơng tin cử tri 45 Hình 3.17: Lấy thơng tin số lượng phiếu bầu cử trị 45 Hình 3.18: Cử tri thực bỏ phiếu cập nhật trạng thái bỏ phiếu cho cử tri 46 Hình 3.19: Kiểm tra lại thơng tin cử tri sau bỏ phiếu 47 Hình 3.20: Lấy thơng tin số lượng phiếu bầu ứng viên 48 Hình 3.21: Kết nối nút vào mạng blockchain có 48 Hình 3.22: Đăng nhập hệ thống 49 Hình 3.23: Tiến hành bỏ phiếu 50 Hình 3.24: Tổng hợp kết 51 LỜI MỞ ĐẦU Lý chọn đề tài Bầu cử công khai hoạt động tảng để xây dựng nên quốc gia, tổ chức dân chủ, công minh bạch Từ trước đến nay, phương pháp bầu cử áp dụng hầu hết quốc gia bỏ phiếu dựa phiếu giấy hay bầu cử tảng điện tử Hệ thống bầu cử giấy hệ thống sử dụng rộng rãi toàn giới từ trước đến nay, nhiên bầu cử theo cách truyền thống gặp phải nhiều hạn chế như: lãng phí tài nguyên giấy; việc triển khai đến khu vực vùng sâu vùng xa khó khăn tốn nhiều chi phí; tính an ninh phiếu trình vận chuyển kiểm phiếu chưa thực đảm bảo; cần số lượng lớn nhân lực phục vụ cho bầu cử… Bằng chứng bầu cử ngày 17/04/2019 Indonesia, có 92 nhân viên phục vụ bầu cử tử vong làm việc tải 374 người ngã bệnh mệt mỏi [1] Những hạn chế thách thức vô lớn hệ thống bầu cử giấy Bầu cử điện tử (e-voting) khái niệm khơng cịn xa lạ với nước phát triển, đặc biệt Bắc Mỹ Châu Âu Tuy nhiên, khái niệm tương đối Việt Nam Bầu cử điện tử giải hạn chế phương pháp bầu cử giấy Bằng việc triển khai hệ thống bầu cử điện tử, cử tri tự tay bỏ phiếu cho dù họ nơi đâu, tính an ninh phiếu đảm bảo phải vận chuyển phiếu cách thủ công, bầu cử điện tử giảm số lượng nhân lực cần thiết để phục vụ cho công tác bầu cử xuống mức tối thiểu Mặc dù có nhiều tiến hệ thống bầu cử truyền thống, bầu cử điện tử tồn số hạn chế như: hệ thống máy chủ bị cơng cài mã độc phá hỏng kết bầu cử; kết phiếu bầu bị thay đổi có người cố tình can thiệp 46 Hình 3.18: Cử tri thực bỏ phiếu cập nhật trạng thái bỏ phiếu cho cử tri 47 Hình 3.19: Kiểm tra lại thông tin cử tri sau bỏ phiếu 48 Hình 3.20: Lấy thơng tin số lượng phiếu bầu ứng viên Hình 3.21: Kết nối nút vào mạng blockchain có 49 3.3 Xây dựng mơ hình kịch thử nghiệm Sau triển khai hệ thống, luận văn thử nghiệm việc bỏ phiếu (vai trò cử tri) tổng hợp kết (vai trò quản tri viên) đạt kết sau: Hình 3.22: Đăng nhập hệ thống 50 Hình 3.23: Tiến hành bỏ phiếu 51 Hình 3.24: Tổng hợp kết Để đánh giá hiệu hệ thống, luận văn tiến hành thử nghiệm việc gửi yêu cầu lấy liệu (request get data) yêu cầu tạo liệu (request put data) hệ thống blockchain với nút nút sau: - Luận văn viết đoạn script giả lập (chạy multithread) để tạo số lượng yêu cầu cần thiết - Yêu cầu lấy liệu (request get data): Luận văn thực yêu cầu lấy tổng số phiếu bầu mà ứng viên sở hữu (Số phiếu mà ứng viên bầu) - Yêu cầu tạo liệu (request put data): Luận văn thực yêu cầu gửi phiếu bầu từ địa ví cử tri đến địa ví ứng viên (Thực bỏ phiếu) 52 - Tổng số yêu cầu: Là số lượng thread tạo để chạy thực nghiệm - Thời gian trung bình xử lý yêu cầu (ms): Là trung bình cộng thời gian xử lý yêu cầu - Số lượng yêu cầu xử lý giây: Là số yêu cầu mà hệ thống xử lý giây (Do yêu cầu xử lý đồng thời) - Thời gian trung bình xác nhận giao dịch (ms): Là trung bình cộng thời gian xác nhận yêu cầu Dưới số kết thực nghiệm: Bảng 3.5: Thực nghiệm gửi yêu cầu lấy liệu hệ thống blockchain với nút Tổ yê Bảng 3.6: Thực nghiệm gửi yêu cầu tạo liệu hệ thống blockchain với nút Tổn yêu 53 Bảng 3.7: Thực nghiệm gửi yêu cầu lấy liệu hệ thống blockchain với nút Tổ yê Bảng 3.8: Thực nghiệm gửi yêu cầu tạo liệu hệ thống blockchain với nút Tổn yêu 54 3.4 Một số kết quả, nhận xét đánh giá Trong thực tế, hệ thống bầu cử điện tử bị cơng lúc Luận văn đưa vài tình giả định mà hệ thống bị cơng cách thức chống công hệ thống sau: - Hacker giả mạo ID cử tri để xâm nhập vào hệ thống: Để xâm nhập vào hệ thống, hacker cần có mã ID cử tri (là 32 ký tự bất kỳ), dùng phương pháp thử, hacker cần tối đa ID cử tri, hacker cần hacker tự sinh chuỗi ID gồm 32 ký tự thử đăng nhập vào hệ thống Tuy nhiên, danh sách ID quản lý blockchain ID mà hacker tự sinh không tồn blockchain hệ thống từ chối truy cập Như vậy, việc giả mạo ID cử tri để xâm nhập vào hệ thống khó khăn - Quản trị viên cố tình vào theo dõi xem cử tri bỏ phiếu cho ai: Việc không thể, hệ thống không lưu thông tin cá nhân cử tri Quản trị viên xem phiếu bầu gửi từ địa (tương ứng với ID) cử tri đến địa cử ứng viên mà Việc truy xuất thông tin cử tri - Quản trị viên cố tình đăng nhập ID cử tri để thực bỏ phiếu: Quản trị viên xem ID cử tri Tuy nhiên mật lưu blockchain mã hóa thuật tốn SHA256 có sử dụng salt Việc nhìn thấy mật mã hóa khơng thể giúp cho cử tri dịch ngược mật thực cử tri Sau xây dựng hệ thống bầu cử điện tử ứng dụng công nghệ blockchain, luận văn thực so sánh mơ hình bầu cử: bầu cử truyền thống, bầu cử điện tử (Client-Server), bầu cử điện tử ứng dụng blokchain Kết thể bảng đây: Bảng 3.9: So sánh hình thức bầu cử 55 Nội dung so sánh Bầu cử truyền Bầu cử điện tử Bầu cử điện tử thống (Client – Server) (Blockchain) Thiết bị sử dụng Máy chủ thiết bị điện tử có sử dụng Internet Chi phí Thấp (Chỉ tốn chi phí triển khai ban đầu) Dễ dàng mở rộng Quy mô quy mô lớn Dễ dàng Tổng hợp kết Bảo mật cho cử tri Nguy công Đảm bảo Xác suất công thay đổi đổi kết nhỏ Như vậy, luận văn đưa mơ hình ứng dụng cơng nghệ blockchain cho bầu cử điện tử, đồng thời xây dựng mơ hình thực nghiệm sử dụng JavaEE Multichain làm tảng Mơ hình chứng minh tính ứng dụng để thay mơ hình bầu cử giấy truyền thống đưa điểm mấu chốt để đảm bảo an tồn so với mơ hình bầu cử điện tử (Client-Server) Tuy nhiên, luận văn dừng lại việc thử nghiệm nút mạng blockchain web server Trong tương lai, luận văn mong muốn có điều kiện để mở rộng hệ thống đưa vào ứng dụng thực tế 56 KẾT LUẬN Luận văn tập trung nghiên cứu bầu cử ứng dụng công nghệ blockchain cho bầu cử điện tử Cụ thể, luận văn đạt số kết sau:  Tìm hiểu bầu cử, bầu cử truyền thống bầu cử điện tử theo mơ hình cũ (Client – Server)  Tìm hiểu, nghiên cứu blockchain khả ứng dụng blockchain cho bầu cử điện tử  Đưa mơ hình thử nghiệm với tảng Multichain đạt số kết định Luận văn tiếp tục phát triển theo hướng sau: Tìm hiểu thêm tảng blockchain khác, mở rộng số lượng nút mạng lưới blockchain số lượng web server để đưa vào ứng dụng thực tế 57 DANH MỤC TÀI LIỆU THAM KHẢO [1] Ánh Ngọc, “Hơn 90 nhân viên kiểm phiếu tử vong kiệt sức bầu cử Indonesia,” vnexpress, 2019 [Online] Available: https://vnexpress.net/thegioi/hon-90-nhan-vien-kiem-phieu-tu-vong-vi-kiet-suc-trong-cuoc-bau-cuindonesia-3913896.html [Accessed: 28-Jul-2019] [2] L.K.Tùng, “Hỏi - Đáp: ABC bầu cử,” Nhà xuất Hồng Đức, 2016 [3] PGS.TS Nguyễn Quốc Sửu, “Bầu cử Việt Nam – Những nội dung cần quan tâm,” Quản lý nhà nước, 2019 [Online] Available: https://www.quanlynhanuoc.vn/2019/08/01/bau-cu-o-viet-nam-nhung-noidung-can-quan-tam/ [Accessed: 30-Aug-2019] [4] Wikipedia, “Blockchain,” Wikipedia, 2019 [Online] Available: https://vi.wikipedia.org/wiki/Blockchain [Accessed: 25-Sep-2019] [5] S Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” J Gen Philos Sci., vol 39, no 1, pp 53–67, 2008 [6] B Shahzad and J Crowcroft, “Trustworthy Electronic Voting Using Adjusted Blockchain Technology,” IEEE Access, vol 7, pp 24477–24488, 2019 [7] A Tar, “Smart Contracts, Explained,” Cointelegraph, 2017 [Online] Available: https://cointelegraph.com/explained/smart-contracts-explained [Accessed: 26-Sep-2019] [8] W Stallings and M J Horton, CRYPTOGRAPHY AND NETWORK SECURITY PRINCIPLES AND PRACTICE SEVENTH EDITION GLOBAL EDITION British Library Cataloguing-in-Publication Data [9] M Sumagita and I Riadi, “Analysis of Secure Hash Algorithm (SHA) 512 for Encryption Process on Web Based Application,” vol 7, no 4, pp 373– 381, 2018 [10] Dang Minh Tuan, “Tổng quan blockchain.” 2019 58 [11] A Kujawa, “Bitcoins, Pools and Thieves,” Malwarebytes lab blog, 2016 [Online] Available: https://blog.malwarebytes.com/cybercrime/2013/11/bitcoins-pools-andthieves/ [Accessed: 30-Sep-2019] [12] A Schneider, C Meter, and P Hagemeister, “Survey on Remote Electronic Voting,” 2017 [13] L Fouard, M Duclos, and P Lafourcade, “Survey on electronic voting schemes,” Support by ANR …, 2007 [14] R Verbij, “Dutch e-voting opportunities,” EEMCS Univ Twente, vol 8, no 33, p 44, 2014 [15] C S L Dr Gideon Greenspan, Founder and CEO, “MultiChain Private Blockchain — White Paper,” Web, vol 29, no 3, pp 274–279, 2002 [16] Gideon Greenspan, “MultiChain 1.0 beta and 2.0 roadmap,” MultiChain, 2017 [Online] Available: https://www.multichain.com/blog/2017/06/multichain-1-beta-2-roadmap/ [Accessed: 02-Oct-2019] [17] Multichain, “MultiChain JSON-RPC API commands,” Multichain, 2019 [Online] Available: https://www.multichain.com/developers/json-rpc-api/ [Accessed: 20-Aug-2019] [18] SimplyUb, “MultichainJavaAPI,” Github, 2019 [Online] Available: https://github.com/SimplyUb/MultiChainJavaAPI [Accessed: 01-Oct-2019] ... blockchain cho bầu cử điện tử 22 2.2.1 Yêu cầu hệ thống bầu cử điện tử, mơ hình an tồn khả công vào hệ thống bầu cử điện tử 22 2.2.2 2.3 Giới thiệu mơ hình ứng dụng blockchain cho bầu cử. .. hình ứng dụng blockchain cho bầu cử điện tử 25 Dựa đặc tính blockchain yêu cầu hệ thống bầu cử điện tử Luận văn đưa mơ hình ứng dụng blockchain cho bầu cử điện tử sử dụng mạng blockchain riêng... pháp bầu cử truyền thống bầu cử điện tử Từ đó, tiền đề để đưa đề xuất ứng dụng công nghệ blockchain cho bầu cử điện tử Phần trình bày chi tiết nội dung chương chương 9 CHƯƠNG 2: BLOCKCHAIN VÀ BẦU

Ngày đăng: 29/10/2020, 19:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan