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ố
Trang 1Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
YSC5.F120
NGUYỄNVĂ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àiviết này mô tảhệ thống bỏ phiếu điệntử, tích hợp côngnghệBlockchainvà lots (Internetof Things) 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,
thamgiađãgửi lên Kết quả bỏphiếu sẽđược trả vềmột cách nhanh chóng quaemail hoặc tin nhắn Từ đó
Từ khóa Chain vote, chain pool, Blockchainvoting
RESEARCH BLOCKCHAIN AND IOTS BUILD SAFE VOTING SYSTEM
Abstract This article describes an electronic voting system, integrating Blockchaintechnology and lots
(Internet ofThings) Thesystem aims to replacetraditionalforms of voting with expensivepaper, or less
secure elechonic voting systems.Applying Blockchain technology tothe systemhelps to improve honesty,
to traditionalvoting and voting models
Keywords Chain vote, chain pool, Blockchainvoting
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ẽ thaotúng, đánh cắp dữliệu Cáccuộc tấn công
Các ứng dụng, cuộc họptrực tuyến có thể bị canthiệp, phá hoại gâyra cảm giác tiêu cựckhi 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 đếnkinhtế của các cá nhân, tổ
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,
tiệnlợi, tiết kiệm và an toàn hơn
Trang 2Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
ứng dụng Chainvote được vận hànhtrên các thiết bị chạyhệ điều hành Android và IOS Manguồ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 Dockervà 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ênvà bảo vệ bởihệ thống BscScan, mộtmạng blockchain thử nghiệm của hệ thốngEtherscan [9][10],
2.1 Blockchain
a Đlockchain
Blockchainlàmộtcôngnghệmã hóa,lưu hữ thông tindưới dạng P2P Côngnghệnày chophéptất cả mọi
(mã Hash)
với nhauthànhmột chuỗi Quan trọng hơn hết, những khối này không thểxóa hay chỉnhsửa Người dùng
b Bsc Scan
BscScanlàmộtcôngcụ giúp cáclậphình viên hay người dùngphổ thông khám phá,hoặc tận dụngnhững công năngcủa Blockchain Hiện nay, mọi nền tảng Blockchain đều có các môhình phụ chạy song song,
c Solidity
Soliditylàngônngữ lập trình giành riêng chocôngnghệ Blockchain Ngônngữlập trình này cung cấp cho
d.Remix IDE
Remixlà IDE online, giúp các lập trìnhviên có thểtạovà triển khai nhanh chóng các hợpđồng thông minh Remix khôngcầncácthư viện, không cần cácmodule haypackage Tự thân Remix có thể làm được tatcả
các tác vụliên quan đếnBlockchain Từ đó giúp các lập hình viêntiết kiệm được nhiều thờigian hơn
2.2 React-native
có thểtạomộtứngdụng trêncảhai nền tảng mobile là Android và IOS.React-native cung cấp cho lập hình
3 PHÂN TÍCH HẸ THỐNG
© 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 205
Trang 3Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈUH
3.1 Sơ đồ Usecase và sơ đồ phân cấp chức năng của ứng dụng
Admin kiểm tra đượctấtcả các cuộc bỏ phiếu,nội dungphiếu của User,thêm hoặc xóaMod và quảnlý
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
Trang 4Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈƯH
3.2 Sơ đồ luồng dữ liệu
Ađmin
Hình 3 Sơ đồ luồng dữ liệu
phiếu Từđónhũngthôngtin từ các phiếu bầusẽ đuợcBlockchain bảo vệ mộtcách toàn vẹnnhất.[l]
3.3 Lưu đồ giải thuật của hệ thống xử lý smartcontract bàng ngôn ngữ Solidity
Hàm isOwnerQ sẽ kiểm tra đâu là Admin rồi chocho phép cấp quyền hoặcthêmmộtMod mới Đồngthời
©2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 207
Trang 5Hộ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
Khingườidùng bắt đầuvào cuộc bỏphiếu,hệ thống sẽ tự động kiểmtra phòng bỏ phiếu và người dùng đó
có hợp lệ bằng cáchđuara các thôngbáo Đồng thời không cho phépngười dùng tham dự cuộcbỏ phiếu đó
Trang 6Hộ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.1 Giao diện của ứng dụng trên nền tảng mobile
© 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 209
Trang 7Hộ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
Candidate: Alcx
Close: 31.03,2023 22:49
Moderator pool f*-st if
Clew3103,2023 22:49
Moderator pool first tỉ I
Caadkiaia CVM
ClewXixrv7ft?'i 77-4Q
Pool Super Vip t/2
Candidate- Adam
Cu=o; 26X74Z2O23 36:2S
3 1703/3033 OC-O0 1^2^223 31/03/2023 oe.io
31/03/2022 <x> 10
2S/04/2023 l£c22
Hình 8 Danh sách các cuộc bỏ phiếu Hình 9 Tạo cuộc bỏ phiếu
OialnVote
Result of voting pool Pool Super Vip
Dea< Ryosniincrt.
The winner of pool Pool Super Vip i» Aditni Thank you for Lining our service
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
cho người dùng bằng Email
Trang 8Hộ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 choAdmin, để hiển thịcác cuộc bỏphiếutrong hệ thống
Hình 12 Hệ thống server hiển thị chi tiết các cuộc bỏ phiếu
Đ 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
© 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 211
Trang 9Hộ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
e> Gx6a?CC«36<JT332tdM69 . ữNbPvi 27852309 tacaysSnrsojo fto'<ctecr»f«x5t>5oin> IM ea>st972c924tót«ỉca5 0BN8 AHỈ1SM7
«■ ữ>WS0ct>Wc8701C058. ữubPvi 27851973 4803y38hrs890 GMri!C&X<»MC$O5Cim 111 ea»sc972C924 5c 35 0BM3
*■ Ox«1288í«y.r(icữ2c« - c<r»l-.roJ 27851IM5 íScayssnrsogo Caa;cci^3MC3>5<4fb IM tĩOtó0972c924»5C74ỈC35 081X3 RMFint
«■ 1 *319<ỈO?al w Crete rxn prsosíxa 80 đayi 1 hr ago raatec8»»c-/<OSc4ft) IM g 0>ứt>9r2c92449b‘46ca5 OBNO ftwuins
«• o cx«Ạíífôi5aeăs?3ứi:Ht Ccrt-.rttl 27800155 SO days 4 nrs ego C»49'ii.yibree>3Eb?Z7t; IM g rhStSZZcS/SSStMScaS 0 BNB
«■ CxEat44338S2aan?\S1 v« 27/96243 SO days 7 ltrs ago Ca499loe1bM&a»>?Pro IM 8 0»f4!9?2c«-744Sb'4Sc3? OBNB
t C>í4ix>«aa?2ficra7c«iB8 273SÍ9K1 SO days 7 hr» age Cĩ»947ct3t<5Mj2Saa1B2O IM g <hib972c9244SO'4ScaS 0I5N8
<» Cwe»16ữíS&:SsJSJec2 27793528 so days 7 hrs ago 0xa!ecRfc9ft5cr<t<ic4m IM g a«5b972<3744$t/43cj>3 OtSMJ ait>rTM«
<p 0xĩnJSra35493M3c224 27794205 50 days 9 hrs ago GiMiecKfcWacaicdfo 1 8 a«5t>972c824«t/45<a9 0BN3 ciMcotyw
<a> <l>Ễa24éđC«MlWW>7« 9.wto«ứ> 27794025 50 days 9 hrs ago C*ìrcr«W0K45tócdlV I sacteal? WrygSro^naani 0BN3 fcwrmiM
(twux CSV f«r«t A.
Hình 14 Các chuỗi khối mà người dùng tạo ra thành công, kèm ghi chú chức năng Method bên cạnh Admin có thể kiểm tra thông tin chi tiết từng khối trong chuỗi Blockchain qua chức năng Events của hệ thống
Transactions BE p-20 Token Txns Contract® Events
IF Latoy 8 Contract Events
Tv leg, OT usní ty '1 wMipnrsiHCemji ư ỊrvÁtn far iMprq Mttẽ arbKl IKÌVÍ wid íw đí»í<r>□
Cx8a7ữ3a85đn32txtia69 ®X®023Ỉ04 PcolCíÉãled (Jrtt258 id, âtri-ig name Síonạ dascrip'.on, JI'|(256 tìossCAi, un!2ó5 omeslamp)
8 27852339T createPool CtopieB) íirf9616e4B5087bBf2bMb226331a8c7c9b6dS74<#55ieb9178M92ob8$22f7b3T
tíótỊiimítìì (stringJstrinB»strinE[],uint256) I Kia y đ
■ -9 2O32e02C«Z£»32e02«3í»2<»ZÍ»3C«33í»3eO3í»2CO2eO2CO2<»2í»2CO8eO2C«3
“ÍX ■ -> 2t»2i»2e02e02C02&32C02(»2(»3«»2£»2e32e02C02£02M>3i»2e02&54eS09e3
i btz • -> e«WWíáM0WÓeWá»ỐWÍ!0M««áM«0é«MWeM«W«e0éeM»7Á>e7 r,x -> 3W3W3W3W3W3e*33<W3C«33€<t3i^3«>3C’03<»3W3«’3e»>3«:*3WO«iO«t3<Xt7 r,K ■ -> 4a756:61õl61£2e2£02Ze2&32N3S02ee3e02£ỡ2C02M>2£02e02£02<»3e02a03 hệx ■ -> 2M2M2(»ZM2&32C03«2«2ỡ32W3(»3í»3C02C02í»2C02í»2<»2í»2eOZeeS hex ■ -> 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<aSSiefa9t78M92ab8$22f7b3T
(ctricg,ctclng,string!I,uintiSỎ) i rex Ạ OW3W3W3GO3W3W?e.3OOO3W3ee3e<33M3C03en3i»3<»3<»i«0OC0Oi<.5«3
I ,x ■ -> e«3W3W3fcW«3M3W3C<J3e*33W3C<>3W3(»3(X«3K*3<»3(»3tt?3e<>3i»3e«»<>
■ -> 3W3W3«3W3W3M3O<*3<W3W3M3W3CỘ3(X»O«Weộ3.»e«»3eoeW3<:<*e0e3
Hình 15 Thông tin chi tiết của khối trong chuỗi Blockchain được hiển thị qua chức năng Events
wmc Ccntract Transactions BEP-20 Token Txns Contract ® Events
Code J Read Contract
• Corntx? toWcW
1 rtianryO.MTw- (fhtaftPMael)
newOtvner (address)
nttttCwiMtr (rrJii-rsx)
(Expand al] (Reset)
0 •*■
2 createPooỉ (0xđữ02310e)
Hình 16 Chức năng thêm Mod của hệ thống giành cho Admin
Trang 10Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈƯH
Transactions BEP-20 Token Txns Contract® Events
|E* cboC «11
Write Contract Code Read Coatroơ
Connect to
Hình 17 Chức năng tạo cuộc bỏ phiếu và bỏ phiếu
5 KẾT LUẬN
Trong bàibáo này, nhóm phát triển đã trình bày một hệ thống bỏ phiếu điệntử kiểu mới, tíchhợp các công
Hệ thống được phát triển dựatrên một sốcông nghệ: Server vận hành ứng dụng được xâydựng bằng ngôn
ngữGolang Và Phần mềm Docker làcông cụ xây dựng, kiểm nghiệmvà triển khai servermột cách nhanh chóng Ngoàira,để hoàn thiện dự án nàychúng tôi sử dụng AWS Lightsail củaAmazon Nên hệ thốngvẫn
còn thiếu một vàitính năng nâng caobảo mật, đảm bảo tính toàn vẹncho thông tincủa người dùngvàhệ
Trong tương lai, chúng tôi đang hướng đến việc nghiên cứu, phát triển dự ántrên các nền tảng Private Blockchain Giúpcác cá nhân tổchứcsử dụng hệ thống này một cách linh hoạthơn, chủ động hơn Đồng
TÀI LIỆU THAM KHẢO
[1] ConsenSỵs, "MetaMask: The crypto wallet for Defl, Web3 Dapps and NFTs,” ConsenSys, 2016 [Online], Available: https://metamask.io/ [Accessed 28 12 2022],
[2] Facebook, "React Native ■ Learn once, write anywhere,” Meta-Facebook, 26 3 2015 [Online], Available:
[Accessed 10 2022]
https://reactnative.dev/
[3] c R A B Gavin Wood, "Solidity — Solidity 0.8.19 documentation," Ethereum project's Solidity team, 8 2014 [Online] Available: https://docs.soliditylang.Org/en/v0.8.19/ [Accessed 11 2022]
[4] M Swan, "Token Economy: How Blockchains and Smart Contracts Revolutionize the Economy,” O’Reilly Media, 2018
© 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 213
Trang 11Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH
[5] p & w A De Filippi, "Blockchain and the Law: The Rule of Code," Harvard University Press, 2018
[6] D & T A Tapscott, "Blockchain revolution: how the technology behind bitcoin is changing money, business, and the world," Penguin, 2016
[7] R Dahl, "NodeJs," Node.js Developers, 27 5 2009 [Online], Available: [Accessed 1
10 2022],
https://nodejs.org/en/docs
[8] Microsoft, "Typescript: JavaScript With Syntax For Types.," Microsoft, 18 9 2020 [Online], Available:
[Accessed 11 2022], https://www.typescriptlang.org/docs/
[9] s Hykes, "Docker: Accelerated, Containerized Application Development," , 11 10 2016 [Online], Available: [Accessed 20 1 2023],
https://www.docker.com/
https://www.docker.com/
[10] G LLC, "The Go Programing Language," Google LLC., 10 11 2009 [Online], Available: [Accessed 7 12 2022],
https://go.dev/