Nghiên cứu blockchain và iots xây dựng hệ thống bỏ phiếu an toàn

11 0 0
Nghiên cứu blockchain và iots xây dựng hệ thống bỏ phiếu an toàn

Đ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ệ thống rađời nhằmmụcđích thaythế các hình thức bỏ phiếutruyền thống bằng giấy tốn kém, hoặc nhữnghệ thống bỏ phiếu điện tửkémsự an tồn, ứng dụng cơngnghệ chuỗi khốiBlockchainvào hệ thố

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH YSC5.F120 NGHIÊN CỨU BLOCKCHAIN VÀ IOTs XÂY DựNG HỆ THỐNG BỎ PHIẾU AN TOÀN NGUYỄN VĂN DUY1*, LÊ ĐỨC TI1, ĐỖ NHẬT HỒNG1 }Khoa Công nghệ Điện tử, Trường Đại học Công nghiệp Thành phổ Hồ Chỉ Minh *ngụyenvanđuy@,iuh.eđu vn Tóm tăt Bài viết này mô tả hệ thống bỏ phiếu điện tử, tích hợp công nghệ Blockchain và lots (Internet of Things) Hệ thống ra đời nhằm mục đích thay thế các hình thức bỏ phiếu truyền thống bằng giấy tốn kém, hoặc những hệ thống bỏ phiếu điện tử kém sự an toàn, ứng dụng công nghệ chuỗi khối Blockchain vào hệ thống giúp nâng cao tính hung thực, công bằng, minh bạch, an toàn và toàn vẹn Các ý kiến của người tham gia bỏ phiếu được bảo vệ Hệ thống sẽ ngăn chặn những hành vi can thiệp hái phép để chỉnh sửa nội dung, ý kiến của người dùng trong lá phiếu Hệ thống sẽ tự động tính toán, kiểm ha toàn bộ lá phiếu mà người tham gia đã gửi lên Kết quả bỏ phiếu sẽ được trả về một cách nhanh chóng qua email hoặc tin nhắn Từ đó tiết kiệm được rất nhiều chi phí và nguồn nhân lực so với các mô hình bỏ phiếu, bầu cử huyền thống Từ khóa Chain vote, chain pool, Blockchain voting RESEARCH BLOCKCHAIN AND IOTS BUILD SAFE VOTING SYSTEM Abstract This article describes an electronic voting system, integrating Blockchain technology and lots (Internet of Things) The system aims to replace traditional forms of voting with expensive paper, or less secure elechonic voting systems Applying Blockchain technology to the system helps to improve honesty, fairness, transparency, safety and integrity Voting participants' opinions are protected The system will prevent unauthorized interference to edit the content and opinions of users in the ballot The system will automatically calculate and check all the votes that participants have submitted Voting results will be returned quickly via email or text message Thereby saving a lot of costs and human resources compared to traditional voting and voting models Keywords Chain vote, chain pool, Blockchain voting 1 GIỚI THIỆU Sự bùng nổ của internet cũng đi đôi với việc các tin tặc sẽ thao túng, đánh cắp dữ liệu Các cuộc tấn công phá hoại hệ thống thông tin diễn ra ngày càng nhiều Từ đó, chất lượng các loại dữ liệu và thông tin không được đảm bảo Mọi thông tin, dữ liệu hên không gian mạng đều có thể bị chỉnh sửa một cách bất hợp pháp Các ứng dụng, cuộc họp trực tuyến có thể bị can thiệp, phá hoại gây ra cảm giác tiêu cực khi sử dụng internet đối với người dùng Và điều đó có thể gây ảnh hưởng xấu trực tiếp đến kinh tế của các cá nhân, tổ chức doanh nghiệp, an ninh của một quốc gia Từ đó, nhóm phát hiển ứng dụng chúng tôi nhận thấy: “Việc nâng cao chất lượng của các cuộc bỏ phiếu, bầu cử cũng rất quan họng và cấp thiết” Neu thông tin, dữ liệu của các cuộc bỏ phiếu không được đảm bảo thì việc bị đánh cắp dữ liệu, tổn thất tài chính sẽ gây hậu quả về vật chất và tinh thần là không thể tránh khỏi Ngoài ra, việc vận hành một cuộc bầu cử theo phương thức huyền thống cũng sẽ rất tốn kém Đồng thời, chất lượng của cuộc bầu cử đó cũng không được đảm bảo Vì vậy, nhóm chúng tôi đề xuất xây dựng một ứng dụng bỏ phiếu bang Blockchain Nhằm giải quyết những nhược điểm, tồn đọng của hình thức bỏ phiếu huyền thống bằng giấy và điện tử kém an toàn Giúp những cơ quan, tổ chức, cá nhân có nhu cầu xây dựng, tạo ra các cuộc bỏ phiếu, bình chọn, có một trải nghiệm tiện lợi, tiết kiệm và an toàn hơn 204 © 2023 Trường Đại học Công nghiệp thành phố Hồ Chí Minh Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH ứng dụng Chainvote được vận hành trên các thiết bị chạy hệ điều hành Android và IOS Ma nguồn server xử lý các tác vụ của hệ thống được phát triển bằng ngôn ngữ Go Dựng, kiểm thử server bang Docker và AWS Lightsail Cloud Server là dịch vụ xây dựng và vận hành server của dự án Dữ liệu người dùng sẽ được đưa lên và bảo vệ bởi hệ thống BscScan, một mạng blockchain thử nghiệm của hệ thống Etherscan [9][10], 2 CÁC CÔNG NGHẸ LIÊN QUAN 2.1 Blockchain a Đlockchain Blockchain là một công nghệ mã hóa, lưu hữ thông tin dưới dạng P2P Công nghệ này cho phép tất cả mọi người tham gia vào mạng lưới có thể huy xuất, trao đổi dữ liệu mà không cần qua trung gian Dữ liệu sẽ không thể nào bị chỉnh sửa nhờ tính năng bảo vệ và xác minh thông tin, thông qua các mã băm định danh (mã Hash) Dữ liệu của người dùng được gửi lên Blockchain đều được đóng gói thành các khối Các khối này liên kết với nhau thành một chuỗi Quan trọng hơn hết, những khối này không thể xóa hay chỉnh sửa Người dùng chỉ có thể thêm khối mới vào chuỗi đó Nhờ thế mọi dữ liệu sẽ được bảo vệ, tránh được các vấn nạn về an toàn thông tin đang hàn lan khắp internet Một vài nền tảng Blockchain uy tín hiện có hên internet phải kể đến như: Ethereum, Binance Smart Chain Cách nhanh nhất để liên kết, tương tác với các nền tảng Blockchain là sử dụng các ví điện tử Trong hệ thống này, chúng tôi lựa chọn Metamask vì tính nhanh chóng và tiện lợi của nó Việc sử dụng Metamask không cần có quá nhiều kỹ năng hoặc kiến thức như các loại ví tiền điện tử khác Nhờ đó người dùng có thể tương tác với các nền tảng Blockchain dễ dàng hơn b Bsc Scan BscScan là một công cụ giúp các lập hình viên hay người dùng phổ thông khám phá, hoặc tận dụng những công năng của Blockchain Hiện nay, mọi nền tảng Blockchain đều có các mô hình phụ chạy song song, hay nói cách khác là nền tảng Blockchain phụ hoặc mạng testnet Tính năng của mạng testnet giống nền tảng chính của nó đến 99% Nhờ đó người dùng có thể kiểm thử, hoàn thiện các smartcontract trước khi hiển khai hên nền tảng thực Bsc Testnet là một mô hình mạng thử nghiệm giành cho các nhà phát triển hiển khai các ứng dụng phi tập hung hước khi đưa mạng thực tế BSC Mainnet hoặc Etherscan c Solidity Solidity là ngôn ngữ lập trình giành riêng cho công nghệ Blockchain Ngôn ngữ lập trình này cung cấp cho lập trình viên tất cả các tính năng cần thiết để tạo ra một hợp đồng thông minh Bên cạnh đó, Solididty không cho phép chúng ta điều chỉnh số liệu Tính năng này làm hợp đồng thông minh sau khi triển khai được toàn vẹn hơn.[3] d.Remix IDE Remix là IDE online, giúp các lập trình viên có thể tạo và triển khai nhanh chóng các hợp đồng thông minh Remix không cần các thư viện, không cần các module hay package Tự thân Remix có thể làm được tat cả các tác vụ liên quan đến Blockchain Từ đó giúp các lập hình viên tiết kiệm được nhiều thời gian hơn 2.2 React-native Đây là một framework mã nguồn mở do Facebook phát hành Trên cùng một đoạn codebase, React-native có thể tạo một ứng dụng trên cả hai nền tảng mobile là Android và IOS React-native cung cấp cho lập hình viên đầy đủ các bộ công cụ và thư viện để phát triển các dự án Đồng thời, Reac-native cũng hỗ trợ việc tái sử dụng mã nguồn một cách rất linh hoạt và nhanh chóng [2] 3 PHÂN TÍCH HẸ THỐNG Quản trị viên tối cao (Admin), quản hị viên (mod), cử tri (user) và ứng cử viên là những đối tượng mà hệ thống hướng đến trong đề tài này Chúng tôi tập trung chính vào các chức năng liên quan đến smartconhact Xử lý thông tin các lá phiếu Đóng gói dữ liệu thành các khối rồi gửi lên hệ thống BscScan hay các hệ thống tương tự Hệ thống có Các chức năng như: tạo cuộc bỏ phiếu, cấp quyền quản trị viên, thêm cử tri, giới hạn © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 205 Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈUH thời gian cho cuộc bỏ phiếu Hệ thống sẽ trả kết quả của cuộc bầu cử qua mail, tin nhắn Giúp nguời dùng có thể tự do linh hoạt hon trong việc sử dụng, tận dụng ứng dụng 3.1 Sơ đồ Usecase và sơ đồ phân cấp chức năng của ứng dụng Trong hệ thổng này, “Admin” có toàn quyền sử dụng tất cả các chức năng mà úng đụng cung cắp Tiếp đến là “Mod” chỉ được phép tạo cuộc bỏ phiếu, thêm ứng cử viên Cuối cùng là User, thực hiện chức năng bỏ phiếu Sau khi cuộc bỏ phiếu kết thúc, hệ thống sẽ thông báo kết quả bỏ phiếu cho Mod và User qua email Admin kiểm tra được tất cả các cuộc bỏ phiếu, nội dung phiếu của User, thêm hoặc xóa Mod và quản lý các chức năng khác của hệ thống Hình 1 Sơ đè Use Case của hệ thống Chainvote Hình 2 Lược đề phân cấp các chức năng của ứng dụng 20Ố © 2023 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 3.2 Sơ đồ luồng dữ liệu Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈƯH Ađmin Hình 3 Sơ đồ luồng dữ liệu Trong sơ đồ được thể hiện ở Hình 3, Admin, Mod hoặc User đều phải có ví Metamask đã liên kết sẵn với các nền tảng Blockchain cần tììiết Nhờ đó viêc kết nối úng dụng trên điện thoại, Server và Blockchain Trong hệ thống này, Super Admin sẽ là nguời quyết định sử dụng nền tảng Blockchain nào để phù họp với nhu cầu thục tế Quản trị viên tối cao sẽ sử dụng các loại tiền ảo theo nền tảng Blockchain đã chọn Vì các loại tiền ảo này là phương thức duy nhất chúng minh đuợc những việc mà User thục hiện, cụ thể là việc bỏ phiếu Từ đó nhũng thông tin từ các phiếu bầu sẽ đuợc Blockchain bảo vệ một cách toàn vẹn nhất.[l] 3.3 Lưu đồ giải thuật của hệ thống xử lý smartcontract bàng ngôn ngữ Solidity Khởi tạo chuông trình, khai báo địa chỉ ví nguời tạo cuộc bỏ phiếu (Mod) và quản trị viên tối cao (Admin) Hàm isOwnerQ sẽ kiểm tra đâu là Admin rồi cho cho phép cấp quyền hoặc thêm một Mod mới Đồng thời kiểm tra tài khoản nào là Mod, tài khoản nào là User Từ đó mới cho phép Mod tạo các phòng bỏ phiếu Sau khi đuợc cấp quyền tạo cuộc bỏ phiếu, Mod cần khai báo tên cuộc bỏ phiếu, số luợng úng viên, thời gian bắt đầu, thời gian kết thúc, và các mô tả liên quan đến phòng bỏ phiếu Ke tiếp là thêm các úng viên Một vòng lặp sẽ kiểm tra số luợng úng viên mà Mod đã thêm Xem là đã đủ số luọng nhu đã khai báo ở buớc truớc hay chua Nếu chua thì sẽ yêu cầu nhập thêm ứng viên và nếu đủ thì sẽ bắt đầu cuộc bỏ phiếu theo thời gian đấ đặt ©2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 207 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH Hình 4 Lưu đồ giải thuật cho chức năng kiểm tra Admin, Mod và tạo cuộc bỏ phiếu Khi người dùng bắt đầu vào cuộc bỏ phiếu, hệ thống sẽ tự động kiểm tra phòng bỏ phiếu và người dùng đó có hợp lệ bằng cách đua ra các thông báo Đồng thời không cho phép người dùng tham dự cuộc bỏ phiếu đó 208 © 2023 Trường Đại học Công nghiệp thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈƯH check Vote rta Pool voter* tXMWrma sander) poois[po«id‘, tour/otof ooo*Li»ttrx>o««n totstvote* : vateđ(roo«ơl(rr«Q «enOer] • true om.t PoolVotsdi) Hình 5 Lưu đồ giải thuật quá trình kiểm tra phòng bỏ phiếu, và kiểm phiếu 4 KẾT QUA THỰC NGHIỆM 4.1 Giao diện của ứng dụng trên nền tảng mobile Dưới đây là một vài kết quả thực nghiệm của ứng dụng bỏ phiếu điện tử sử dụng Blockchain Người dùng có thể dễ dàng sử dụng các chức năng của ứng dụng © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 209 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH Hình ố Giao diện đăng nhập Hình 7 Sử dụng xác thực vân tay để tăng tính bảo mật Chalr-iX/nl-o I kllv Puol TU 3 1703/3033 OC-O0 Candidate: Alcx Close: 31.03,2023 22:49 1^2^223 Moderator pool f*-st if 1 31/03/2023 oe.io Clew3103,2023 22:49 31/03/2022 10 Moderator pool first tỉ I 2S/04/2023 l£c22 Caadkiaia CVM ClewXixrv7ft?'i 77-4Q Pool Super Vip t/2 Candidate- Adam Cu=o; 26X74Z2O23 36:2S Hình 8 Danh sách các cuộc bỏ phiếu Hình 9 Tạo cuộc bỏ phiếu OialnVote < a EJ s — Pool Super VI p Result of voting pool Pool Super Vip Dea< Ryosniincrt The winner of pool Pool Super Vip i» Aditni Thank you for Lining our service Trà lo> 1—» CnuYÕntico Hình 10 Giai đoạn bỏ phiếu Hình 11 Hệ thống thông báo kết quả cuộc bỏ phiếu 210 cho người dùng bằng Email © 2023 Trường Đại học Công nghiệp thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈƯH 4.2 Giao diện thực nghiệm server giành cho Admỉn Hệ thống có riêng phần server giành cho Admin, để hiển thị các cuộc bỏ phiếu trong hệ thống Hình 12 Hệ thống server hiển thị chi tiết các cuộc bỏ phiếu BGcScan AinnvA w I íenrchtyArtrtrasi./TmH-nh■■Rltv*/Tn>ío;OíríwnNc«r*4 T»»w &Ỉ0 TMMI KvmhK Hams Ulxkđiam - mandates* Ictens » Hcso-rccs « Ma- Đ Contract ừx5B972C92449BF45G861Bf10ab7e97ClCCCAe1Mf ừ = Hình 13 Các chức năng của hệ thống được xây dựng bằng ngôn ngữ Solidity và triển khai thành công lên mạng BSC Testnet Network Tại trang BSC Test Network, Admin có thể cấp quyền, cho Mod mới để tạo cuộc bỏ phiếu, cũng như kiểm tra được toàn bộ các khối mà người dùng đã tạo ra © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 211 Hội nghị Khoa học trẻ lân 5 năm 2023(YSC2023)-ỈUH Transactions BEP-2G Token Txru ConíraU® Events 1? I.MỊKS10 iron a or 10 tranwcnons TxnHíSh w«hod® Otock *0» From T To T Voice [TxnFee] tacaysSnrsojo fto'5oin> IM ea>st972c924tót«ỉca5 0BN8 AHỈ1SM7 e> Gx6a?CC«36Wc8701C058 ữubPvi 27851973 80 đayi 1 hr ago raatec8»»c-/ứt>9r2c92449b‘46ca5 0BM3 SO days 4 nrs ego C»49'ii.yibree>3Eb?Z7t; IM g rhStSZZcS/SSStMScaS *■ Ox«1288í«y.r(icữ2c« - c?Pro IM 8 0»f4!9?2c«-744Sb'4Sc3? 081X3 RMFint SO days 7 hr» age Cĩ»947ct3te7 r,x • -> 3W3W3W3W3W3e*332£02e02£02 2M2M2(»ZM2&32C03«2«2ỡ32W3(»3í»3C02C02í»2C02í»2 43-56c61õl612í»2ee2CO2W2t»3CO2£»2W2eO2eO2€O2CO2eO2«>2«>2ZOaeO3 Oxfe>$O3cS€8c87(H(»069 fatdỉ02M0e PcolOreated (uht258 id, strng nans, string doscnpton umt258 ơơsedAl, Únl256 onsítímp) a27851970T createPoet (topics) «Kf9616o«aS037bf3f2bS4b22633iaBc7c5tfitf>74

Ngày đăng: 10/03/2024, 08:12

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

Tài liệu liên quan