1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng công nghệ blockchain để xây dựng hệ thống bầu cử công khai

77 18 0

Đ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

Nội dung

ỌC TRƢỜN N N ỌC SƢ P M - NGUYỄN VĂN CÔN ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN Ể XÂY DỰNG HỆ THỐNG BẦU CỬ CÔNG KHAI LUẬN VĂN T CS HỆ THỐNG THÔNG TIN N n - Năm 2021 Tai ngay!!! Ban co the xoa dong chu nay!!! 16990039793361000000 ỌC TRƢỜN N N ỌC SƢ P M - NGUYỄN VĂN CÔN ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN Ể XÂY DỰNG HỆ THỐNG BẦU CỬ CƠNG KHAI Chun ngành: Hệ thống thơng tin Mã số: 8480104 LUẬN VĂN T CS N ƣời hƣớng dẫn khoa học: PGS TSKH TRẦN QUỐC CHIẾN N n - Năm 2021 i LỜ CẢM ƠN Sau hai năm học tập rèn luyện Trường Đại học Sư phạm Đà Nẵng, biết ơn kính trọng, em xin chân thành cảm ơn Ban Giám hiệu, phòng, khoa thuộc Trường Đại học Sư phạm Đà Nẵng Giáo sư, P Giáo sư, Tiến sĩ nhiệt tình giảng dạy tạo điều kiện thuận lợi giúp đỡ em trình học tập làm Luận văn Đặc biệt em xin bày tỏ lòng biết ơn lời cảm ơn sâu sắc tới PGS TSKH Trần Quốc Chiến người thầy trực tiếp hướng dẫn, giúp đỡ em suốt trình thực đề tài Xin chân thành cảm ơn Anh chị ban lãnh đạo, cán quản lý, giáo viên, nhân viên, bạn bè, đồng nghiệp tạo điều kiện theo sát em q trình nghiên cứu hồn thành Luận văn Do điều kiện lực thân cịn hạn chế, luận văn chắn khơng tránh khỏi thiếu sót Kính mong nhận đóng góp ý kiến thầy giáo hội đồng khoa học, bạn bè đồng nghiệp để luận văn em hoàn thiện Em xin trân trọng cảm ơn ii LỜ CAM OAN Tôi xin cam đoan cơng trình nghiên cứu thực luận văn thực riêng tôi, hướng dẫn PGS.TSKH Trần Quốc Chiến Mọi tham khảo từ tài liệu, cơng trình nghiên cứu liên quan nước quốc tế trích dẫn rõ ràng luận văn Mọi chép không hợp lệ, vi phạm quy chế hay gian trá tơi xin hồn toàn chịu trách nhiệm chịu kỷ luật Nhà Trường Đại học Đà Nẵng Học viên Nguyễn Văn Côn v MỤC LỤC LỜI CẢM ƠN i LỜ CAM OAN ii THÔNG TIN KẾT QUẢ NGHIÊN CỨU iii MỤC LỤC v DANH MỤC CÁC CHỮ VIẾT TẮT vii DANH MỤC CÁC HÌNH viii MỞ ẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa đề tài Bố cục luận văn C ƢƠN N ÊN CỨU TỔNG QUAN 1.1 Tổng quan công nghệ Blockchain 1.1.1 Giới thiệu công nghệ Blockchain 1.1.2 Nền tảng lý thuyết 1.1.3 Tính chất Blockchain 10 1.1.4 Phân loại hệ thống blockchain 11 1.1.5 Các phiên Blockchain nay: 11 1.1.6 Các ứng dụng điển hình cơng nghệ Blockchain .14 1.2 Bầu cử .18 1.2.1 Khái niệm Bầu cử 18 1.2.2 Các nguyên tắc bầu cử 18 1.2.3 Bỏ phiếu kín 18 Kết luận Chương .23 C ƢƠN MƠ ÌN BẦU CỬ ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN 24 2.1 Đặt vấn đề .24 2.1.1 Một số vấn đề tồn mơ hình bầu cử 24 vi 2.1.2 Bỏ phiếu điện tử 24 2.1.3 Mơ hình bầu cử cơng khai ứng dụng công nghệ Blockchain .27 2.1.4 Một số dự án ứng dụng công nghệ blockchain việc bầu cử giới 29 2.2 Phân tích hệ thống 30 2.2.1 Đặc tả chức 30 2.2.2 Sơ đồ Use Case sơ đồ nghiệp vụ 31 2.2.3 Kiến trúc tổng quan .33 Kết luận Chương .34 C ƢƠN XÂY DỰNG HỆ THỐNG VÀ THỬ NGHIỆM 35 3.1 Ethereum Network 35 3.2 Công nghệ cài đặt môi trường 37 3.2.1 Ví điện tử cách sử dụng 37 3.2.2 Cài đặt môi trường thiết lập nút blockchain cục 39 3.3 Thực nghiệm đánh giá .41 3.3.1 Môi trường phát triển công cụ 41 3.3.2 Kết thử nghiệm .41 3.3.3 Đánh giá kết 49 Kết luận Chương .50 KẾT LUẬN VÀ KIẾN NGHỊ .51 TÀI LIỆU THAM KHẢO PHỤ LỤC QUYẾT ỊN AO Ề TÀI LUẬN VĂN (Bản sao) vii DAN STT Từ viết tắt MỤC CÁC C Ữ V ẾT TẮT Tên đầy đủ iải thích BTC Bitcoin Tên loại tiền điện tử ETH Ethereum Tên loại tiền điện tử VR Virtual Reality Thực tế ảo AR Augmented Reality Thực tế tăng cường SHA Secure Hash Algorithm Thuật giải băm an toàn MD5 Message-Digest algorithm Giải thuật băm NFT Non-fungible token Tên loại tiền điện tử EVM Ethereum Virtual machine Máy ảo ethereum viii DAN Số hiệu hình MỤC CÁC Tên hình ÌN Trang 1.1: Sơ đồ tạo chữ ký số 1.2: Sơ đồ node mạng Blockchain 1.3: Cấu trúc nút blockchain 1.4: Cấu trúc block 2.1: Mơ hình ứng dụng web 26 2.2: Sơ đồ Ứng dụng Blockchain 28 2.3: Sơ đồ use case hệ thống 31 2.4: Sơ đồ nghiệp vụ 32 2.5: Kiến trúc hệ thống 33 3.1: Trị giá ETH thị trường 35 3.2: Tiện ích ví điện tử Meta mask 39 3.3: Blockchain local 40 3.4: Chạy demo Hệ thống 42 P Ụ LỤC C ẶT HỆ THỐNG BẦU CỬ TRÊN M NG BLOCKCHAIN ETHEREUM Cài đặt SmartContract Cấu trúc thư mục hệ thống sau: Thư mục Build đóng vai trị document, s tạo migrate contract lên blockchain - Thư mục contracts chứa file contract - Thư mục migrations chứa file migrate giúp đưa contract lên blockchain - Thư mục node_modules chứa thư viện sử dụng để xây dựng hệ thống - Thư mục src chữa mã nguồn client Tạo tệp với tên Election.sol tệp smartcontract Hậu tố sol biểu s dùng ngôn ngữ lập trình solidity để viết câu lệnh cho smartcontract Để đưa contract lên blockchain ethereum ta cần cài đặt chức migrate contract, chức thực hàm deploy có tệp deploy_contracts.js - Hợp đồng thông minh nằm file contract, để lưu trữ ứng cử viên cử tri ta cần khởi tạo biến cho Một ứng viên s có thuộc tính sau: Id, tên ứng viên số phiếu Còn cử tri cần biến để lưu địa ví điện tử - Struct Candidate cấu trúc định nghĩa kiểu liệu - Mapping tương tự việc tạo mãng giá trị với Để có thể bầu chọn, cử tri cần tương tác ghi vào smartcontact, để làm điều smart contract phải tồn phương thức để thực điều đó, tạo function vote Muốn có danh sách ứng cử viên ta cần khởi tạo danh sách đó, việc ban bầu thử thêm ứng cử viên vào hàm construstor() trước đưa smartcontract lên blockchain ethereum Muốn thêm ứng cử viên chì cần dùng function addCandidate(„tên ứng viên‟) Khi migrate contract lên blockchain s chạy function constructor tạo cho danh sách ứng cử viên Một phương thức khác kẹp điều kiện thời gian để định người chiến thắng, đến thời gian cài đặt sẵn, smartcontract s ngừng nhận phiếu vote sau đưa người có số phiếu cao Với hàm cài đặt trên, chương trình xây dựng smartcontract đơn giản, đáp ứng nhu cầu lưu trữ thông tin ứng cử viên chứa phương thức giao tiếp để cử tri bầu chọn cho ứng cử viên Cài đặt Web client server Để cử tri bầu chọn tương tác với Smartcontract ta cần cài đặt số function để giao tiếp với cử tri số function để giao tiếp với smartcontract Đầu tiên phương thức để kết nối với smartcontract để lấy thông tin ứng cử viên Phương thức mục đích kết nối đến Blockchain Network Phương thức để kết nối với ví điện tử cử tri Phương thức giúp kết nối client với tiện ích metamask, giúp quản lý giao dịch phát sinh từ web client Sau kết nối với smartcontract lấy thông tin liệu cần phải tạo thẻ html để hiển thị thông tin cho cử tri Phương thức để tương tác với smartcontract, gọi phương thức vote smartcontract với giá trị candidateId Config thông tin Blockchain Network để ứng dụng kết nối tới smartcontract

Ngày đăng: 03/11/2023, 18:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w