Sistem Berbasis Private Blockchain sebagai Penyedia Layanan Autentikasi Publisher-Broker-Subscriber Pada Protokol Message Queue Telemetry Transport
Authors: Dzakie Muhammad Naufal , Bhawiyuga Adhitya , Basuki Achmad 
Published: December 2022

Protokol MQTT pada umumnya menggunakan username dan password untuk memvalidasi klien yang terhubung ke broker. Salah satu cara yang biasa dilakukan untuk melakukan hal ini adalah dengan membuat dedicated server yang berfungsi untuk memvalidasi klien yang terhubung pada broker. Akan tetapi hal ini membuat proses validasi klien bergantung pada entitas yang umumnya dibuat terpusat (centralized). Sistem yang terpusat rentan mengalami kegagalan yang dapat menyebabkan sistem kehilangan data dan ketersediaan yang rendah ketika ingin digunakan. Oleh karena itu, peneliti mengusulkan penggunaan Ethereum blockchain sebagai pengganti dari authentication server. Blockchain merupakan teknologi penyimpanan data terdistribusi secara peer to peer yang dapat mencegah perubahan data tanpa izin. Selain itu platform Ethereum blockchain mempunyai teknologi smart contract, dengan teknologi ini pengguna dapat mengunggah program kecil pada blockchain. Pada penelitian ini, smart contract akan dijadikan pengganti dari authentication server yang biasanya digunakan pada broker MQTT. Penulis berharap terciptanya authentication server yang terdistribusi guna membantu broker MQTT dalam memvalidasi klien setelah menerapkan teknologi blockchain dan smart contract pada MQTT authentication server. Hasil dari pengujian fungsional yang didapat bahwa implementasi MQTT authentication server pada platform blockchain sudah dapat berjalan sesuai dengan fungsinya dalam melakukan authentication dan authorization pada klien. Hasil dari pengujian non fungsional menunjukkan bahwa distribusi data sudah dapat dijaga konsistensi nya pada tiap – tiap node. Berdasarkan hasil penelitian tersebut dapat disimpulkan bahwa sistem yang dibuat dapat dijadikan sebagai solusi permasalahan MQTT authentication server yang terpusat.AbstractNormally MQTT protocol uses username and password for klien validation with broker. One of many ways to this is to have a dedicated server that functions wholly on handling klien validation with broker. However, there were draw backs to this, as centralized server has a higher chance of failure, which can cause data loss. Therefore, in this study, we will propose a solution using Ethereum blockchain as a substitute for the authentication server. Blockchain is a peer-to-peer data storage technology that is distributed and immutable. With Ethereum blockchain user can upload a smart contract to the blockchain that acts as a mini program. Because of this the writer propose to make a smart contract that functions as an authentication server. If implemented correctly, the writer hopes to create a distributed authentication server that helps MQTT broker to validate kliens. The result of functional testing shows that the authentication server is running by its function to authenticate and authorize kliens that connects to the broker. While the result of non-functional testing shows that the system distributed function can maintain data consistency. Therefore, based on these results, this system can be a solution for a centralized MQTT authentication server.