Popis: |
Mreže platnih kanala (Payment Channel Networks-PCN) najraširenije su implementirano rješenje za rješavanje problema skalabilnosti kriptovaluta temeljenih na blockchainu. Lightning Network drugi je sloj protokola plaćanja izgrađen na blockchainu Bitcoina koji izvodi transakcije izvan lanca s ciljem smanjenja broja transakcija na lancu. Off-chain transakcije su uglavnom plaćanja s višestrukim skokovima (Multi-hop payments-MHP) između dva korisnika koja su povezana putem više kanala plaćanja. Protokol koji se koristi u Lightning Network-u za plaćanja s više skokova je protokol plaćanja temeljen na Hash Time-lock Contract-u (HTLC). Nedavno predloženi protokol pod nazivom Blitz nudi drugačiji pristup od trenutno korištenog protokola plaćanja temeljenog na HTLC-u koji obećava, između ostalog, veću stopu uspješnosti. U ovom radu implementiran je simulator kanala plaćanja koji emulira kako transakcije propagiraju u PCN-u ovisno o korištenom protokolu. Koristeći simulator, provedeni su eksperimenti kako bih se empirijski usporedila stopa uspješnosti oba protokola plaćanja, Blitza i HTLC protokola. Kako bi se procijenila stopa uspješnosti na mikrorazini, dizajniran je automat s konačnim brojem stanja za svaki protokol koji modelira ponašanje jednog kanala u PCN-u. Provođenjem eksperimenata na dizajniranim automatima s konačnim brojem stanja uspoređena je stopa uspješnosti oba protokola na mikrorazini. Izveden je algoritam koji predviđa granice za broj neuspješnih transakcija u PCN-u, koje ovise o trajanju zaključanih kolteralnih sredstava u PCN-u tijekom obrade transakcije. U HTLC protokolu plaćanja kolateralna sredstva su zaključana za vrijeme koje je linearno zavisno o broju posrednika na putu plaćanja, dok su u Blitzu kolateralna sredstva zaključana za konstantno vrijeme. Stoga, algoritam izražava korelaciju između broja neuspješnih transakcija u PCN-u i trajanju zaključanih kolateralnih sredstava u kanalu. Payment channel networks (PCN) are the most widely deployed solution implemented to tackle the scalability issues of blockchain-based cryptocurrencies such as Bitcoin. Lightning network is a second layer payment protocol built on top of a blockchain with an objective to reduce the number of on-chain transactions by allowing off-chain transactions. Off-chain transactions are usually in the form of multi-hop payments (MHPs) between two users that are connected through a path of payment channels. The Hash Time-lock Contract (HTLC) based payment protocol is the protocol used in the Lightning Network to enable multi-hop payments. A recently proposed protocol called Blitz offers a different approach that promises, among other things, higher success rate than the currently used HTLC-based payment protocol in the LN. In this work, I implement a payment channel network simulator which emulates how transactions propagate in a PCN depending on the protocol used. Using the simulator, I conduct experiments to empirically compare the success rate of both protocols Blitz and HTLC-based payment protocol. To evaluate the success rate on a micro-level, I design a finite state machine for each protocol that models the behaviour of one channel in the PCN. I empirically study success rate of protocols using designed state machines. Finally, I design an algorithm that predicts the bounds for the number of failed transaction in PCN, which depends on the protocol specific feature. This feature is the duration of funds being locked in the PCN during transaction processing. In HTLC-based payment protocol the collateral funds are locked for linear time, depending on the number of intermediaries on the payment path, while in Blitz the collateral funds are locked for constant time. Therefore, algorithm expresses the correlation between the number of failures in the PCN and the duration of collateral funds being locked in the channel. |