Đánh giá kết quả

Một phần của tài liệu Ứng dụng công nghệ blockchain để xây dựng hệ thống bầu cử công khai (Trang 59 - 77)

6. Bố cục luận văn

3.3. Thực nghiệm và đánh giá

3.3.3. Đánh giá kết quả

Với mục tiêu bài toán đã đưa ra, hệ thống bầu cử công khai đã chạy trên BlockChain Ethereum đã giải quyết được các vấn đề của bầu cử điện tử. Thay vì mã nguồn và dữ liệu nằm trên máy chủ tập trung thì giờ nó đã live trên Blockchain Ethereum. Kết quả bầu cử đã đảm bảo rằng s không thể thay đổi hoặc xóa đi được, kết quả luôn chính xác mãi mãi.

Hệ thống bầu cử bằng công nghệ Blockchain đã giúp ban bầu cử cũng như cử tri có thể yên tâm rằng các phiếu bầu không bị sai lệch, và mỗi cử tri chỉ có thể bầu chọn một lần. Độ an toàn của cử cũng được đảm bảo bằng cách sử ví điện tử của mình.

Kết luận Chươn 3

Chương 3 luận văn đã trình bày bài toán hệ thống bầu cử điện tử, giải pháp đưa ra là đưa mã nguồn và dữ liệu lên Blockchain Ethereum. Sau khi triển khai đưa mã nguồn và dữ liệu lên Blockchain đã Live và cho phép cử tri bỏ phiếu bầu cho ứng cử viên. Giải pháp ứng dụng blockchain hoàn toàn khả thi trong thực tế và có thể khắc phục được khó khăn cho ban bầu cử về việc kiểm soát phiếu bầu và cử tri cũng tin tưởng hơn về kết quả bầu cử. Chương 3 cũng đã trình bày chi tiết về cách cài đặt Smartcontract và hệ thống BlockChain Ethereum.

KẾT LUẬN VÀ KIẾN N Ị

Công nghệ blockchain rõ ràng rất có tiềm năng hỗ trợ cho việc bầu cử, bỏ phiếu. Tuy vậy công nghệ blockchain nói chung và ứng dụng blockchain trong bầu cử nói riêng vẫn còn đang trong quá trình thử nghiệm.

Hiện nay có rất nhiều các tổ chức, cá nhân sử dụng công nghệ blockchain trong việc bầu chọn và bỏ phiếu cho rất nhiều lĩnh vực trong cuộc sống, ứng dụng công nghệ blockchain vào mô hình bầu cử để nâng cao sự khách quan, minh bạch và tối ưu hóa cho hệ thống bầu cử.

Tuy nhiên việc ứng dụng blockchain vào bầu cử xa hơn là ứng dụng vào chính phủ điện vẫn là một thách thức vô cùng lớn như là:

 Chưa có cơ quan ban ngành để quản lý các mạng blockchain để kiểm soát các rủi ro trong quá trình vận hành. Các quy định chế tài trong việc sử dụng các ứng dụng trên mạng blockchain.

 Các yêu cầu kiểm định chất lượng, đảm bảo an toàn thông tin cho các ứng dụng trên mạng blockchain.

 Các khó khăn liên quan đến công nghệ blockchain như:

- Công nghệ blockchain còn mới mẻ, các tài liệu nghiên cứu còn hạn chế.

- Các nguồn tài nguyên cần để vận hành một network là không nhỏ.

- Đào tạo nghiệp vụ cho nhân sự các ban ngành cần nhiều thời gian.

- Hệ thống pháp lý chưa hoàn thiện.

Những thách thức trên cần được giải quyết khi xây dựng hệ thống bầu cử ứng dụng công nghệ blockchain.

Những kiến nghị để thực hiện việc xây dựng hệ thống bầu cử:

- Xây dựng hệ thống blockchain network.

- Phát hành đồng tiền điện tử quốc gia.

- Đưa thông tin quản lý người dân lên hệ thống blockchain.

- Tích hợp ví điện tử người dân vào thẻ căn cước công dân.

- Xây dựng và phát triển các ứng dụng chính phủ điện tử trên mạng blockchain.

T L ỆU T AM K ẢO

[1] https://vi.wikipedia.org/wiki/Hàm_băm [2] https://vi.wikipedia.org/wiki/Chữ_ký_số [3] https://en.wikipedia.org/wiki/Voting

[4] https://en.wikipedia.org/wiki/Electronic_voting [5] https://vi.wikipedia.org/wiki/Blockchain

[6] https://vi.wikipedia.org/wiki/Ethereum [7] https://en.wikipedia.org/wiki/Smart_contract [8] https://docs.soliditylang.org/

[9] https://www.trufflesuite.com/

[10] https://docs.metamask.io/guide/

P Ụ LỤC

C ẶT HỆ THỐNG BẦU CỬ TRÊN M NG BLOCKCHAIN ETHEREUM

1. Cài đặt SmartContract.

Cấu trúc thư mục hệ thống như sau:

- Thư mục Build đóng vai trò như một document, s được tạo ra khi chúng ta migrate contract lên blockchain.

- Thư mục contracts chứa file contract của chúng ta.

- Thư mục migrations chứa file migrate giúp chúng ta đưa contract lên blockchain.

- Thư mục node_modules chứa các thư viện chúng ta sử dụng để xây dựng hệ thống.

- Thư mục src chữa mã nguồn client.

Tạo một tệp với tên Election.sol tệp này chính là smartcontract của chúng ta.

Hậu tố .sol biểu hiện chúng ta s dùng ngôn ngữ lập trình solidity để viết các câu lệnh cho smartcontract.

Để có thể đưa contract lên blockchain ethereum ta cần cài đặt chức năng migrate contract, chức năng này được thực hiện bởi hàm deploy có trong tệp deploy_contracts.js.

Hợp đồng thông minh của chúng ta nằm trong file contract, và để nó có thể lưu trữ ứng cử viên và cử tri ta cần khởi tạo các biến cho nó.

Một ứng viên s có các thuộc tính sau: Id, tên ứng viên và số phiếu.

Còn cử tri chỉ cần một biến để lưu địa chỉ ví điện tử.

- Struct Candidate là một cấu trúc chúng ta định nghĩa nó như một kiểu dữ liệu.

- Mapping tương tự như việc tạo ra một mãng giá trị với.

Để có thể có thể bầu chọn, cử tri cần được tương tác và ghi vào smartcontact, để làm được điều đó trong smart contract phải tồn tại một phương thức để thực hiện điều đó, ở đây chúng ta tạo ra function vote.

Muốn có được một danh sách ứng cử viên thì ta cần khởi tạo danh sách đó, việc của ban bầu thử là thêm các ứng cử viên vào hàm construstor() trước khi đưa smartcontract này 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 nó s chạy function constructor đầu tiên và tạo cho chúng ta một danh sách ứng cử viên.

Một phương thức khác được kẹp điều kiện về thời gian để quyết định người chiến thắng, khi đến thời gian đã được cài đặt sẵn, smartcontract s ngừng nhận phiếu vote sau đó đưa ra người có số phiếu cao nhất.

Với các hàm được cài đặt như trên, chương trình đã xây dựng được một smartcontract đơn giản, đáp ứng được nhu cầu lưu trữ thông tin ứng cử viên và chứa phương thức giao tiếp để cử tri có thể bầu chọn cho ứng cử viên.

2. Cài đặt Web client server.

Để cử tri có thể bầu chọn tương tác với Smartcontract ta cần cài đặt một số function để giao tiếp với cử tri và một số function để giao tiếp với smartcontract.

Đầu tiên là phương thức để kết nối với smartcontract để lấy thông tin ứng cử viên.

Phương thức này 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ủa cử tri. Phương thức này giúp kết nối client của chúng ta với tiện ích metamask, giúp quản lý các giao dịch phát sinh từ web client này.

Sau khi kết nối với smartcontract và lấy được thông tin dữ liệu cần phải tạo các thẻ html để hiển thị thông tin ra cho cử tri

Phương thức để tương tác với smartcontract, gọi phương thức vote trên smartcontract với giá trị candidateId

Config thông tin Blockchain Network để ứng dụng có thể kết nối tới smartcontract.

Một phần của tài liệu Ứng dụng công nghệ blockchain để xây dựng hệ thống bầu cử công khai (Trang 59 - 77)

Tải bản đầy đủ (PDF)

(77 trang)