Vol.  17,  No. 2, June 2024,  pp. 96~107 eISSN:  2502-339X,  pISSN:  1979-276X, DOI: 10.30998/fa ktore xacta.v17i2.19405  96
Electronic  Voting (e-voting) sebagai Aplikasi  Terdesentralisasi pada Vexanium Blockchain
Suryo Bramasto 1 ,  Sandriana  Febia  Savitri 2 , Endang  Ratnawati  D 3
1,2,3 Department of Informatics, Institut Teknologi Indonesia, Indonesia
suryo.bramasto@iti.ac.id 1 Article Info ABSTRACT Article history: Received Aug 24,  2023 Revised Mar 27,  2024
Accepted May 6,  2024
Decentralized  applications,  or DApps, are software programs that  run on a blockchain or peer-to-peer (P2P) network of computers instead of on a single computer.  Thus, DApps are  outside  of  the  purview and  control  of  a  single authority. In this research, a DApps for electronic  voting (e-voting) that runs on a Vexanium blockchain was built. In addition to the Vexanium platform and toolchain,  PHP 8.2, Apache  web server, and PostgreSQL were used to build e-voting  DApps  in  this  research.  Common  public  blockchain  application development steps are implemented for building applications on the Vexanium Blockchain.  For  the  next  step  in development,  a Ricardian  contract  will  be implemented.  Security  at  the  blockchain  level  should  also  be  implemented, such  as building  a re-entrancy  attack  mechanism,  improving the  source  of randomness for the nonce, and ad safeguards against frontrunning.
Keywords: blockchain decentralized application electronic voting smart contract Vexanium Copyright © 2024 Universitas Indraprasta PGRI. All rights reserved.

## Corresponding Author:
Suryo Bramasto, Department of Informatics, Institut Teknologi Indonesia, Jl.  Raya Puspiptek Serpong, Kota Tangerang Selatan, Banten. Email: suryo.bramasto@iti.ac.id

## 1. PENDAHULUAN
Block chain adalah buku besar digital  terdesentralisasi dan terdistribusi  yang mencatat  transaksi  di seluruh  jaringan  komputer. Block chain menggunakan  kriptografi  untuk  mengamankan  dan  memverifika s i transaksi serta untuk mengontrol pembuatan unit baru dari mata uang kripto tertentu. Setiap block dalam rantai berisi  sejumlah  transaksi, dan setiap kali  transaksi baru ditambahkan  ke  jaringan,  catatan transaksi tersebut ditambahkan  berikut  tanda tangan digital  terenkripsi  dan timestamp tervalidasi  setiap peserta ke  buku besar setiap peserta pada rantai.  Dengan demikian  tercipta catatan yang tidak  dapat diubah dari semua transaksi di block chain , sehingga menyulitkan satu pengguna untuk memanipulasi  atau mengubah catatan. Desentralisasi dan kekekalan  inilah  yang membuat block chain sangat cocok untuk berbagai aplikasi,  seperti cryptocurrency , smart  contracts , dan manajemen  rantai pasokan. Desentralisasi dan kekekalan  merupakan  aspek-aspek yang dapat diimplementasikan  dalam  keamanan  informasi,  selain ketidakjelasan.  Dengan demikan block chain juga dapat diimplementasikan  dalam ekosistem yang sangat bergantung kepada prinsip -prinsip keamanan informas i seperti voting elektronis (e-voting ). E-voting mengacu  pada  penggunaan sistem  elektronik  untuk  memberikan  dan  menghitung  suara dalam  pemilihan.  Sistem  ini  dapat mencakup  pemungutan suara melalui  internet,  pemungutan suara melalu i telepon, dan mesin pemungutan suara. E-voting dimaksudkan  agar proses pemungutan suara lebih efisien dan mudah diakses, serta mengurangi  potensi kesalahan dan kecurangan. Namun,  ada juga kekhawatiran  tentang keamanan  dan keakuratan sistem e-voting, serta potensi pemaksaan dan manipulasi  pemilih.  Oleh  karena  itu, sistem e-voting harus  dirancang,  diuji,  dan  diaudit  dengan  benar  untuk  memastikan  integritas  proses pemungutan suara [2].
Penelitian  serupa  yang  pernah  dilakukan  yakni  membangun  aplikasi  terdesentralisasi  guna cryptocurrency (Desentralized  Finance/DeFi),  pada  Ethereum block chain [1],  sedangkan  penelitian  pada
97 artikel  ini  mencoba  membangun  aplikasi  terdesentralisasi yakni  sistem e-voting diatas jaringan block chain Vexanium,  dengan tujuan untuk menyampaikan  bagaimana membangun  sekaligus deployment untuk aplikasi terdesentralisasi  pada  jaringan block chain Vexanium,  berikut  bagaimana  memenuhi  kebutuhan -kebutuhan pendukungnya seperti pemenuhan aspek keamanan dengan penerapan enkripsi. Vexanium  merupakan protokol publik block chain dan  platform  kontrak  pintar  ( smart  contract )  yang  memungkinkan  pengembang  guna membuat  proyek-proyek  berbasis block chain .  Vexanium telah  mendukung  DApps  ( Decentralized Applications ), DeFi ( Decentralized Finance ), serta berbagai kasus nyata penerapan blockchain untuk startups , korporasi,  dan bisnis. Block chain Vexanium  menerapkan smart  contract yang merupakan  kontrak  otomatis dalam  bentuk barisan kode  tanpa memerlukan  pihak  ke-tiga. Smart  contract akan  tersimpan  di  setiap node yang ada pada seluruh jaringan block chain [3].
1.1 Smart Contracts dan  penerapannya  pada  aplikasi terdesentralisasi ( e-voting ) Smart  contract merupakan  kontrak  transaksional  tanpa  perantara,  layanan,  maupun  dokumen tambahan, menggunakan alat tukar cryptocurrency . Smart contract dan cryptocurrency memungkinkan aturan untuk didefinisikan  dan ditegakkan by system . Pada penerapan smart contract pada cryptocurrency , asset atau currency atau mata  uang  diubah menjadi  program  yang menjalankan  dan  mengevaluasi  kode  berdasa rkan tugas-tugas yang menentukan apakah asset atau currency berpindah ke pihak lain atau kembali  ke pemilikn y a semula [4].  Ketentuan-ketentuan pada smart contract yakni:
a. Kontrak dibuat antara dua pihak yang senantiasa anonim.
b. Kontrak disimpan pada public ledger.
c. Terdapat hal-hal pemicu  yang ditentukan misalnya tenggat waktu.
d. Smart  contract mengeksekusi dirinya  sendiri sesuai dengan kode program  tertulis.
e. Regulator dan pengguna dapat melakukan  analisis terhadap semua aktivitas.
f. Mampu memprediksi  tren dan ketidakpastian pasar.
Ilustrasi penerapan transaksi menggunakan block chain dan smart contract ditunjukkan pada Gambar  1.
Gambar  1.  Ilustrasi transaksi menggunakan smart contract dan block chain [5]
Sistem smart  contracts bekerja  pada  klausa if-then ,  dimana  tidak  ada yang  dapat  meretas  sistem tersebut tanpa sepengetahuan setiap pihak yang terlibat di dalam block chain [6]. Jika  terdapat seseorang yang mencaoba  melakukan  akses terhadap  kode  program  di  dalam block chain maka  semua  yang terikat smart contract di  dalam block chain akan segera memperoleh  peringatan. Teknologi  transaksi berbasis block chain dan smart  contract ini  dapat digunakan  untuk penegakan kredit,  layan an finansial,  premi  asuransi, hukum properti, dan sebagainya [7].
98
1.2 Delegated Proof of Stake (DPoS) [8]
Inti dari Vexanium  adalah DPoS,  dimana  merupakan algoritma  konsensus yang dikembangkan guna mengamankan block chain dengan memastikan  representasi transaksi  di  dalamnya.  DPoS  didesain  sebagai implementasi  demokrasi  berbasis  teknologi,  menggunakan  proses voting  dan  pemilihan  guna  melindung i block chain dari  sentralisasi  dan penggunaan jahat.  DPoS  diciptakan  sebagai  alternatif  terhadap konsensus block chain Proof-of-Work yang tidak efisien dalam  konsumsi energi dan konsensus blockchain Proof-of-Stake yang kurang aman.  DPoS  juga lebih scalable dibandingkan kedua konsensus tersebut. Dengan DPoS, semua block tervalidasi guna mengurangi penggunaan sumber daya sekaligus meningkatkan kecepatan transaksi pada setiap block yang dihasilkan. Piranti lunak Vexanium  memungkinkan block dihasilkan tepat per setengah detik dan tepat satu produser terotorisasi untuk menghasilkan block pada waktu yang ditentukan. Jika block tidak dihasilkan pada waktu yang ditentukan/terjadwal,  maka block untuk slot waktu tersebut dilewati. Jika  terdapat satu atau lebih block dilewati akan terdapat celah pada block chain sebesar paling tidak setengah detik. Block dihasilkan  dalam  126  ronde,  yakni  6 block dikalikan  21  produser. Di  awal  setiap ronde,  21  produser block terpilih  secara  unik  dengan mekanisme  voting  sesuai keinginan  pemegang tok en . Produser-produser yang terpilih  terjadwal  dalam  urutan yang disetujui oleh 15  atau lebih  produser. Jika  sebuah produser melewatkan sebuah block dan tidak menghasilkan block dalam 24 jam  terkahir, maka  produser tersebut akan dihapus hingga produser tersebut mengirimkan  notifikasi  ke block chain jika  bermaksud melakukan  produksi block kembali. Hal  ini memastikan  kehandalan operasi jaringan block chain . Pada  kondisi  normal,  tidak  akan  pernah  terjadi fork s pada  sebuah blockchain  DPoS  karena  pada block chain DPoS  produser-produser block saling  bekerja  sama  dalam  menghasilkan block , bukan  saling berkompetisi  seperti halnya pada blockchain lain.  Namun  jika  terjadi fork , maka  konsensus secara otomatis akan beralih ke rantai terpanjang. Dengan metode ini maka  laju block - block mana yang ditambahkan ke sebuah block chain fork terkait  langsung dengan persentase produser-produser block yang berbagi  konsensus yang sama. Atau dengan kata lain block chain fork dengan jumlah produser yang lebih banyak akan membuat panjang block chain tumbuh  lebih  cepat  dengan  persentase block meleset  lebih  rendah.  DPoS  Vexanium  juga menerapkan  ketentuan  dimana  tidak  ada  produser yang  dapat  menghasilkan block pada  dua fork secara bersamaan. Jika  ada block yang melakukan  hal ini  maka  akan dikeluarkan  dari block chain. Bukti kriptografis diterapkan sebagai proteksi ganda guna penghapusan penyalahgunaan-penyalahgunaan secara otomatis. DPoS Vexanium  menerapkan Byzantium Fault Tolerance sehingga memungkinkan  semua produser manandatangani semua block , selama  tidak  ada produser yang menandatangani  dua atau lebih block dengan timestamp yang sama atau pada level yang sama. Jika  ada block yang melakukan  pelanggaran yakni menandatangani dua block atau  lebih  pada timestamp atau  level  yang  sama,  maka  setiap block sebagai byzantine  producer akan menghasilkan  bukti  kriptografis  sebagai  bukti  pelanggarannya. Setelah  15  produser menandatangani  suatu block , maka block tersebut dinyatakan irreversible . Byzantium Fault  Tolerance memungkinkan  konsensus irreversible tercapai dalam  1 detik.

## 1.3 Vexwallet
Vexwallet  merupakan wallet terdesentralisir yang berjalan pada Vexanium block chain , dimana setiap asset dan akun pengguna menjadi  tanggung jawab masing -masing  pengguna ters ebut, serta hanya pengguna yang merupakan  pemilik  akun dan asset yang memiliki  akses terhadap akun dan akses. Vexwallet  memilik i versi MS Windows, MAC, IOS,  dan Android. Fitur basic dari Vexwallet  antara lain menyimpan  Vex;  transfer Vex;  serta jual beli  RAM, CPU,  dan NET  guna transaksi di Vexanium block chain . Vexwallet  memungkinka n penggunanya untuk mengelola  Vex  dan menggunakan  semua  Vexanium decentralized applications (Dapp) dalam  satu platform. Block  Producers merupakan  entitas-entitas terdesentralisasi yang biasanya terdiri  atas grup, perusahaan, atau organisasi yang dipilih  melalui e-voting block chain system di dalam  DPoS  Consensus yang mengatur Vexanium block chain . Tugas Block  Producers adalah menghasilkan block - block baru di dalam protocol  Vexanium block chain sekaligus melakukan  verifikasi  terhadap  transaksi.  DPoS  merupakan  suatu mekanisme  konsensus yang mengatur  Vexanium  blockchain  dimana  hanya  pengurus organisasi (delegasi) yang dipilih  melalui e-voting dapat memverifikasi  transaksi. Block  producers memiliki  fungsi dasar serupa dengan miner pada Bitcoin block chain dengan tambahan beberapa fungsi. Mekanisme  konsensus DPoS yang dijalankan  oleh block  producers sebagai representatif dari Vexanium  yang dipilih  oleh semua pengguna dalam jaringan  melalui voting . Block  producers memiliki  tanggung jawab untuk membuat  dan memvalidasi blocks dalam  jaringan. Block  producers memperoleh  imbalan  terhadap tanggung jawab dan kinerjanya.
1.4 VEX token model dan  penggunaan  sumber  daya
Vexanium block chain menerapkan  model block chain as  a  service dimana  secara  model  bisnis, bisnislah  yang  membiayai  keseluruhan  operasi.  Dengan  demikian  aplikasi-aplikasi  terdesentralisasi  tidak memaksa  pelanggannya untuk membayar block chain secara langsung terkait penggunaan blockchain . Terdapat pembatasan penggunaan sumber daya ( storage , CPU,  dan RAM) secara default terkait penggunaan Vexaniu m
99
block chains , serta  terdapat  sistem  bawaan  guna  mencegah  penyalahgunaan.  Sedangkan  untuk  konsumsi bandwidth dan komputasi dikelompokkan  menjadi  penggunaan instan dan penggunaan jangka panjang. Setiap Vexanium block chain menerapkan lo g aksi  yang disimpan  dan dapat diunduh oleh  semua nodes .  Dengan demikian  dimungkinkan  untuk melakukan  rekonstruksi state dari semua aplikasi.

## 1.5 Blockchain block
Block merupakan  struktur  data  di  dalam  basis data block chain , dimana  transaksi  data  di  dala m block chain direkam secara permanen [9].  Sebuah block merekam  semua data transaksi-transaksi terbaru yang belum  divalidasi  jaringan block hain. Setelah data divalidasi  maka block akan ditutup dan dibuat block baru guna input dan validasi transaksi baru. Penyimpanan records di dalam block bersifat permanen dan tidak dapat atau dihapus. Ciri  utama dari block chain block adalah sebagai berikut:
a. Block merupakan  sebuah tempat di dalam blockchain dimana  informasi  tersimpan dan terenkripsi.
b. Block teridentifikasi  dengan deretan angka panjang yang mencakup informasi  transaksi terenkripsi  dari block sebelumnya sekaligus informasi  transaksi baru.
c. Block berikut keseluruhan informasi  di dalamnya harus terverifikasi  oleh jaringan  blockchain sebelum block baru dapat diciptakan.
Sebuah block menyimpan  berbagai  informasi,  dimana  pada  umumnya  sebuah block terdiri  atas beberapa elemen  sebagai berikut:
a. Magic number , yakni sebuah angka dengan nilai  spesifik yang mengidentifikasi  bahwa block tersebut merupakan  bagian dari  suatu jaringan block chain .
b. Block s ize,  menentukan  batasan ukuran block guna memastikan  ukuran  spesifik  dari  informasi  yang dapat disimpan dalam block .
c. Block  header , berisi informasi  tentang block .
d. Transaction counter ,  merupakan  angka  yang  merepresentasikan  jumlah  transaksi yang  tersimpan  di dalam block .
e. Transactions , merupakan  daftar transaksi di dalam block . Elemen transactions dari block merupakan  elemen  terbesar,  dimana  mengandung informasi  paling  banyak. Elemen block  header dari block memiliki  sub-elemen sebagai berikut:
a. Version , versi dari  apapun jaringan block chain yang digunakan.
b. Previous block  hash , berisi hash dari block’s header sebelumnya.
c. Hash Merk le root , hash dari transaksi pada pohon merk le dari block saat ini. d. Time , dimana  merupakan timestamp dari block  deployment dalam block chain.
e. Bits ,  yang  menunjukkan  tingkat  kesulitan  dari  target hash dimana  menyatakan  tingkat  kesulitan penyelesaian nonce.
f. Nonce , angka 32-bit  terenkripsi  yang harus diselesaikan setiap anggota dari block chain guna verifikasi dan penutupan block.
2. METODE
Metode penelitian yang diterapkan ditunjukkan dalam flowchart pada gambar 2.

## 2.1 Studi  pustaka  dan  perumusan  masalah
Dalam  penelitian ini  dilakukan  studi pustaka dari jurnal  ilmiah,  buku, dan internet terkait block chain dan penerapannya. Kemudian  dilakukan  perumusan masalah  tentang bagaimana block chain dapat diterapkan dalam  suatu studi kasus selain cryptocurrency dengan tujuan menelaah  manfaat  dari block chain selain yang terkait dengan cryptocurrency .
2.2 Analisis Vexanium blockchain [10]
Pemenuhan  kebutuhan  terkait  penerapan  Vexanim block chain dilakukan  dengan  bahasa pemrograman  C++  sebagai lingkungan pengembangan, kemudian menerapkan konstruksi kanonikal C++ code construct dalam  pengembangan blockchain  dan membangun smart contract . Dipersiapkan  juga infrastruktur lingkungan  pengambangan dengan spesifikasi  yang  lebih  memadai  dari  lingkungan  pengembangan  untuk perangkat  lunak  berbasis  web  pada  umumnya  dikarenakan  kebutuhan  VEX  VM  ya itu  mesin  virtual WebAssembly  (wasm)  yang  mengeksekui  kode smart  contract secara  hirarkis.  Selanjutnya  dilakuka n rancangan  penyesuaian  terhadap smart  contract guna  tata  kelola  sumber  daya.  Harus  dipastikan  juga mekanisme  interaksi terhadap block chains , baik melalui Command Line Interface (CLI)  cleos, RPC  APIs, atau aplikasi  pemroses akses sumber daya (CPU  dan NET)  yang melakukan stak ing terhadap VEX tok en . Skema otorisasi dengan berbagai tingkat otoritas dapat diterapkan pada smart contract secara komprehensif.
Start Studi pustaka & perumusan masalah Analisis Vexanium blockchain
Perancangan aplikasi terdesentralisasi ( e-
voting ) Pembangunan aplikasi terdesentralisasi ( e- voting ) Implementasi SHA- 256 pada aplikasi terdesentralisasi ( e-
voting )

## End
Gambar  2.  Metode penelitian
2.3 Perancangan  aplikasi terdesentralisasi ( e-voting )
Terlebih  dahulu dirumuskan  skenario penerapan aplikasi e-voting , dimana  merupakan  aplikasi  yang digunakan  untuk  pemilihan  kepala  negara  yang  diselenggarakan  oleh  masing-masing  negara  bagian.  Di masing-masing  negara bagian,  warga  setempat menjadi  pemilih  sekaligus  penyelenggara pemilihan  kepala negara.  Proses  pemungutan  suara  dilakukan  di  masing-masing  negara  bagian.  Kemudian  rekapitulasi perhitungan suara diperoleh dari  pemungutan suara yang telah berlangsung, menggunakan aplikasi e-voting terdesentralisasi  yang  menerapkan  Vexanium block chain . Detail  mekanisme e-voting dijabarkan  sebagai berikut:
1. Tahap persiapan
a. Penyelenggara harus memiliki  alamat dan private key pada jaringan  Vexanium block chain .
b. Data  calon  kepala  negara  diinputkan  oleh  masing -masing  penyelenggara  pada  aplikas i terdesentralisasi ( e-voting ).
c. Agar dapat menjadi  pemilih,  warga  harus melakukan  pendaftaran pada aplikasi  terdesentralisasi ( e- voting ).  Setelah  terdaftar  maka  pemilih  akan  memiliki  otoritas  untuk  menggunakan  alamat  pada jaringan Vexanium block chain .
d. Pada saat pemilihan,  terlebih dahulu pemilih  melakukan  inpu t ID yang telah terdaftar sebelumnya.
101
e. Penyelenggara melakukan  verifikasi  pemilih  sesuai ID yang dimasukkan.  Jika  ID  terverifikasi  maka pemilih  dapat menggunakan hak suaranya.
2. Tahap proses pemungutan suara
a. Pemilih  menggunakan suara dengan memilih  calon kepala  negara.
b. Hak  suara yang sudah digunakan tidak dapat digunakan kembali.
3. Tahap penyelesaian voting
a. Penyelenggara menghentikan proses pemungutan suara.
b. Pemilih  yang belum  menggunakan hak suara tidak lagi dapat menggunakan hak suaranya.
c. Hasil rekapitulasi  penghitungan suara ditampilkan  pada aplikasi  terdesentralisasi ( e-voting ).
Interaksi  yang dimungkinkan  dari  pengguna terhadap aplikasi  terdesentralisasi  ( e-voting )  berikut eksekusi  arsitektur  aplikasi  terdesentralisasi ( e-voting ) pada menerapkan  Vexanium block chain ditunjukkan dengan UML use case diagram dan deployment diagram pada gambar 3 dan gambar 4.
2.4. Pengembangan  aplikasi terdesentralisasi ( e-voting )
Tahapan pengembangan aplikasi  terdesentralisasi ( e-voting ) ditunjukkan pada gambar 5.
Gambar  3. Use case diagram aplikasi  terdesentralisasi ( e-voting )
Gambar  4. Deployment diagram arsitektur aplikasi  terdesentralisasi ( e-voting )
Vol.  17,  No. 2, June 2024,  pp. 96~107 eISSN:  2502-339X,  pISSN:  1979-276X, DOI: 10.30998/fa ktore xacta.v17i2.19405  102
Gambar  5.  Tahapan pengembangan aplikasi
terdesentralisasi ( e-voting )
2.4.1  Pembangunan  struktur  data  pada smart contract Struktur  data smart  contract terdiri  atas tabel dan struct [11].  Pada  kasus e-voting dengan scenario pemilihan  kepala negara ini dibangun satu tabel dan empat struct . Struct dalam smart contract nantinya  akan  tersimpan  di  dalam block chain . Tabel  akan  berisi record  entity yang melakuka n transaksi ( action ) pada smart contract [11].  Salah satu dari pembangunan struct pada smart  contract aplikasi  terdesntralisasi  ( e-voting )  ditunjukkan pada  gambar  6,  dimana  terlihat  bahwa struct terindeks  oleh daemon  core dari  Vexa n iu m (EOS.IO).
Gambar  6.  Contoh pembangunan struct
2.4.2 Action pada smart contract Action di dalam smart contract , pada prinsipnya serupa dengan query pada basis data. Action terjadi pada struct di dalam  smart contract. Action memiliki  nama dan parameter,  dimana parameter  merupakan fields pada struct . Fields sendiri pada prinsipnya merupakan  atribut pada tabel basis data. Action berikut  parameter pada smart  contract dari  aplikasi  terdes entralisasi (e-voting ) ditunjukkan  pada Entity  Relationship  Diagra m (ERD)  gambar  7.  Sedangkan salah satu action pada smart  contract dari  aplikasi  terdesentralisasi ( e-voting ) ditunjukkan pada gambar 8.
penyelenggara kandidat pemilih pilih id name PK accpny
name
namapeny
string judul string
deskripsi
string
kuantitas unit64 _t id name PK idkand name nkand string id name PK accpmlh name idpmlh checks um tambah hapus id name PK acc name idkand name daftar verifikasi mulai stop
Gambar  7. Action berikut parameter  pada smart contract dari aplikasi  terdesentralisasi (e-voting )
Gambar  8.  Salah satu action pada smart contract dari aplikasi  terdes entralisasi ( e-voting )
2.4.3 Kompilasi  kode smart contract dari  aplikasi terdesentralisasi (e-voting )
Kompilasi  kode smart contract dilakukan pada VEX.CDT.  Keluaran dari proses kompilasi kode smart contract adalah file-file  ABI  dan wasm  yang selanjutnya akan deployed di contract account pada Vexaniu m block chain .  Kompilasi  kode smart  contract dari  aplikasi  terdes entralisasi  ( e-voting )  pada  VEX.CDT ditunjukkan pada gambar 9.
Gambar  9.  Kompilasi  kode smart contract dari aplikasi  terdesentralisasi ( e-voting )
2.4.4 Smart contract deployment ke Vexanium blockchain
Smart  contract  deployment ke  Vexanium block chain dilakukan  menggunakan  ./clivex terminal , seperti ditunjukkan pada gambar  10.
Gambar  10.  Smart  contract deployment ke Vexanium  blockchain
Seperti  ditunjukkan  pada  gambar  9  dan  gambar  12, smart  contract memiliki  nama  (evoting),  akun (vexakuncoba1),  dan block chain node dengan alamat http://explorer.vexanium.com:8080 .  Akun dibuat pada aplikasi  Vexwallet  Desktop, dimana  akun tersebut memiliki public k ey dan private k ey .
2.5 Implementasi  SHA-256 pada  aplikasi terdesentralisasi ( e-voting ) [12]
104
SHA-256  diterapkan  pada aplikasi  terdesentralisasi ( e-voting ) yang deployed di jaringan Vexa n iu m block chain untuk  transaksi  dan chain ID  yang  menghasilkan Transaction  Digest . Transaction  Digest selanjutnya ditandatangani secara digital  untuk  menghasilkan Signed Transaction . Akun,  yang ditunjukkan pada gambar 11 ditandatangani secara digital menggunakan public k ey untuk menjadi wallet , dimana kemudia n wallet ditandatangani kembali secara digital menggunakan private k ey guna menghasilkan Signed Transaction . Skema  penerapan SHA-256  pada Vexanium block chain ditunjukkan pada gambar 11.
Gambar  11.  Penerapan SHA-256  pada Vexanium block chain
Selain itu, SHA-256  juga digunakan untuk enkripsi identitas pemilih  ( voters ) pada aplikasi terdesentralisas i ( e- voting ) menjadi  bentuk message digest dari fungsi hash . Hal  ini merupakan  persyaratan agar identitas pemilih dapat diverifikasi  oleh penyelenggara.

## 3. HASIL  DAN  PEMBAHASAN
Aplikasi  terdesentralisasi ( e-voting ), dikembangkan  sebagai aplikasi berbasis web , sehingga sebelum meletakkan  aplikasi  ke jaringan Vexanium block chain terlebih dahulu dilakukan deployment ke server aplikasi (Apache)  dan server basis data  (PostgreSQL).  Aplikasi  terdesentralisasi  ( e-voting )  diletakkan  ke  jaringan Vexanium block chain dengan akses menggunakan aplikasi  Vexwallet  Desktop dan akun. Jaringan Vexan iu m block chain dan jaringan block chain pada umumnya serupa dengan layanan virtual server atau layanan cloud , dimana  setiap akun yang dibuat dengan aplikasi  Vexwallet  Desktop akan d iberi  sumber daya terbatas seperti halnya pada layanan virtual server atau layanan cloud . Sumber daya yang dimiliki akun vexakuncoba1  pada Vexanium block chain ditunjukkan pada gambar  12.
Gambar  12.  Sumber  daya akun vexakuncoba1 pada Vexanium block chain
Sumber  daya berupa  CPU,  NET,  dan  RAM  diperoleh  dan dapat  ditingkatkan  dengan melakuka n stak ing atau melakukan  pembelian  baik  dengan cryptocurrency maupun traditional currency . Halaman  muka ( home ) dari aplikasi terdesentralisasi ( e-voting ) ditunjukkan pada gambar  13. Detail  dari Data Pemilihan,  Data Kandidat,  dan Data  Pemilih  dapat ditampilkan  pada aplikasi  terdesentralisasi ( e-voting ), seperti ditunjukkan pada gambar 14.  Pada laman  Lihat Detail yang ditunjukkan pada gambar 14  tersebut juga merupakan tampila n
105 dimana  pemilih  dapat melakukan  pemilihan. Dashboard untuk  penyelenggara pemilihan  ditunjukkan  pada gambar  15,  dimana  pada aplikasi  terdesentralisasi ( e-voting ) dapat digunakan untuk menyelenggarakan lebih dari satu proses pemilihan sekaligus menambahkan Data Pemilih,  Data Kandidat, serta Verifikasi  Pemilih.  Saat proses pemilihan/voting dilakukan  dimana  aplikasi  tersesentralisasi telah deployed ke Vexanium block chain , state transaksi pada aplikasi  terdesentralisasi pada sisi block chain data block ditunjukkan pada gambar  16.
Gambar  13.  Halaman  muka  ( home ) dari aplikasi terdesentralisasi ( e-voting ) Gambar  14.  Halaman  Lihat Detail  dari aplikasi terdesentralisasi ( e-voting )
106
Gambar  16.  Hubungan transaksi e-voting dan block chain data block dari aplikasi  terdesentralisasi pada Vexanium block chain
Tabel 1. Keterangan dari elemen-elemen block chain data block No. Elemen Keterangan 1. Block number Merupakan elemen magic number pada block 2. Hash Nonce 3. Block T ime Elemen ti me pada block 4. Actions Merupakan actions counter 5. hex_data Hash dari action 6. Producer Nama dari block producer dimana ditentukan oleh Vexanium blockchain 7. id
Hash dari id bloc k, dimana setiap block pada Vexanium blockchain memiliki id tersendiri. Id dihasilkan saat block diciptakan 8. Previous Merupakan previous block hash dari transaksi 9. Action Mroot Hash Merkle root dari actions
10. T ransaction Mroot
Hash Merkle root dari transactions 11. Blockchain Raw Data Merupakan elemen transactions dari block , berikut data actions , dan penggunaan sumber daya

## 4. PENUTUP
Aplikasi terdesentralisasi ( e-voting ) pada jaringan Vexanium block chain telah berhasil dikembangkan dengan penerapan smart  contract ,  sedemikian  rupa  dirumuskan  teknik  dan  prosedur guna pengembangan aplikasi  terdesentralisasi sekaligus deployment ke  Vexanium block chain . Guna  pengembangan pada tahap selanjutnya maka  Ricardian contract akan diterapkan. Kemudian  diperlukan juga peningkatan keamanan pada level block dalam jaringan Vexanium block chain setelah dilakukan  pengujian terhadap aspek keamanan  pada jaringan  Vexanium block chain tersebut, terutama  pada  hal  terkait  transaksi e-voting .  Keamanan  dapat ditingkatkan  yakni  dengan membangun  mekanisme  yang mencegah  serangan reentrancy , menerapkan true random  generator (TRNG)  sebagai  sumber  keacakan nonce ,  serta  menerapkan safeguards terhadap frontrunning . Sedangkan untuk fungsi dari e-voting itu sendiri juga akan ditingkatkan terutama  pada hal terkait transparansi dan pembatasan fungsi-fungsi.

## DAFTAR  PUSTAKA
[1] B.  Wang et  al. ,  “BLOCKEYE:  Hunting  for  DeFi  Attacks  on  Blockchain,”  in Proceedings  - International Conference on Software Engineerin g , IEEE  Computer  Society, May 2021,  pp. 17–20. doi: 10.1109/ICSE-Co mpanion52605.2021.00025.
[2] Mulyati,  U.  Rahardja,  M. Hardini,  A. L.  Al Nasir,  and Q.  Aini,  “Taekwondo sports test and training data  management  using  blockchain,”  in 2020  5th  International  Conference  on  Informatics  and
107
Computing,  ICIC  2020 ,  Institute  of  Electrical  and  Electronics  Engineers  Inc.,  Nov.  2020.  doi: 10.1109/ICIC50835.2020.9288598.
[3] A.  Abuhashim  and C.  C.  Tan,  “Smart  Contract  Designs  on Blockchain  Applications,” 2020 IEEE Symposium on Computers and Communications (ISCC) , Dec. 2020.
[4] Institute  of  Electrical  and  Electronics  Engineers, 2020  IEEE  Symposium  on  Computers  and Communications (ISCC) .
[5] S.  Kitzler,  F.  Victor,  P.  Saggese, and  B.  Haslhofer,  “Disentangling  Decentralized  Finance  (DeFi) Compositions,” ACM Transactions on the Web , vol. 17,  no. 2, Mar. 2023,  doi: 10.1145/3532857.
[6] D.  Suyitno, B.  R.  Aladhirus, and R. W. Wardhani, “Design and Implementation  of Smart  Card  based Secure  Key  Storage  the  Blockchain  E-voting  Application,”  in Proceeding  -  1st  International Conference  on  Information  Technology,  Advanced  Mechanical  and  Electrical  Engineering, ICITAMEE  2020 , Institute of Electrical  and Electronics  Engineers Inc.,  Oct. 2020,  pp. 259–264.  doi: 10.1109/ICITAM EE50454.2020.9398390.
[7] I.  Grigg,  “The  Ricardian  Contract,” Proceedings of  the First International Work shop on Electronic Contracting (WEC’04) , 2004.
[8] Vexanium,  “Vexanium-wh itepaper,”  Aug.  2019.  Accessed:  Jul.  24,  2023.  [Online].  Available: https://www.vexanium.com/files/whitepaper-ve xaniu m-indonesian.pdf
[9] A. Levina,  A. Plotnikov, and E.  Ashmarov, “New  Method of Hash Functions Analysis,” in 2023 12th Mediterranean  Conference  on  Embedded  Computing  (MECO) ,  IEEE,  Jun.  2023,  pp.  1–5.  doi: 10.1109/MECO58584.2023.10154990.
[10] Vexanium,  “Technical  Feature,”  Jul.  2020.  https://belajar.vexanium.com/article/technical-featu re/ (accessed Jul. 24,  2023).
[11] N.  Grech,  S.  Lagouvardos, I.  Tsatiris,  and Y.  Smaragdakis,  “Elipmoc:  Advanced decompilation  of Ethereum  smart  contracts,” Proceedings  of  the  ACM  on  Programming  Languages ,  vol.  6,  no. OOPSLA1,  Apr. 2022,  doi: 10.1145/3527321.
[12] X.  Yang,  Y.  Chen, and X.  Chen, “Effective  scheme against 51%  attack on proof-of-work  blockchain with  history weighted information,”  in Proceedings -  2019 2nd IEEE  International Conference on Block chain, Blockchain 2019 , Institute of Electrical  and Electronics Engineers Inc., Jul. 2019,  pp. 261– 265.  doi: 10.1109/Bloc kchain.2019.00041.