Autori :
(1) MICHAEL PACHECO, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada;
(2) GUSTAVO A. OLIVA, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada;
(3) GOPI KRISHNAN RAJBAHADUR, Centar za izvrsnost softvera u Huaweiju, Kanada;
(4) AHMED E. HASSAN, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada.
Authors:
(1) MICHAEL PACHECO, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada;
(2) GUSTAVO A. OLIVA, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada;
(3) GOPI KRISHNAN RAJBAHADUR, Centar za izvrsnost softvera u Huaweiju, Kanada;
(4) AHMED E. HASSAN, Laboratorij za softversku analizu i inteligenciju (SAIL) na Sveučilištu Queen, Kanada.
stolovi lijeve strane
4 Računalno vrijeme obrade transakcija
5 Prikupljanje podataka i 5.1 Izvori podataka
6 Rezultati
6.1 RQ1: Koliko je vremena potrebno za obradu transakcije u Ethereumu?
6.2 RQ2: Koliko su točne procjene vremena obrade transakcija koje pružaju Etherscan i EthGasStation?
7 Može li se izvući jednostavniji model?
8.1 Što je s krajnjim korisnicima?
11 Zaključak, izjava o isključenosti i reference
A. COMPUTING TRANSACTION PROCESSING TIMES
A. Izračunavanje vremena obrade transakcijaB. RQ1: GAS PRICE DISTRIBUTION FOR EACH GAS PRICE CATEGORY
B. RQ1: raspodjela cijena plina za svaku kategoriju cijena plinaB.1 Analiza osjetljivosti na blokovnoj pozadini
C. RQ2: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS
C. RQ2: sažetak statističkih podataka o točnosti za modele predviđanjaD. POST-HOC STUDY: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS
D. Post-HOC studija: sažetak statističkih podataka o točnosti za predviđanje modela
Međutim, najpopularnije platforme za razvoj transakcija na temelju blockchain-a su te aplikacije poznate kao ÐApps. Kada se promatraju ÐApps, programeri trebaju prevesti zahtjeve zarobljene u prednjem dijelu njihove aplikacije u jednu ili više pametnih ugovornih usluga. Razvijatelji trebaju platiti za te transakcije i, što više plaćaju (npr. što je veća cijena plina), što je brže procjena transakcije vjerojatno da će se obraditi. Razvoj troškovno učinkovitih ÐApps daleko je od trivijalnog, jer programeri trebaju optimizirati ravnotežu između troškova (transakcijske naknade) i korisničkog iskustva (vreme obrade transakcija). Internetske usluge su razvijene kako bi izdavatelji transakcija (npr. ÐApp-ovi programeri) osigurali procjenu
1 Uvod
Blockchain je nova softverska tehnologija koja omogućuje sigurnu i decentraliziranu obradu digitalnih transakcija. Prva mainstream blockchain platforma bila je Bitcoin, koja je popularizirala koncept kriptovaluta. U Bitcoin platformi, kriptovaluta se također naziva Bitcoin (s nižim "b") i predstavlja se kodom BTC. Primarna svrha Bitcoin platforme je omogućiti prijenos BTC-a između korisničkih računa. To jest, Bitcoin platforma pruža platformu za obraduKriptovalute transakcije
Nakon Bitcoina, razvijene su mnoge druge blockchain platforme.Programabilni blokoviNedavno je stekao posebnu slavu.Za razliku od Bitcoina, programabilni blokčeini također pohranjuju i izvršavajuPametni ugovoriOsim podržavanja kriptovalutnih transakcija, pametni ugovor je državni, opći računalni program koji je obično napisan na visokoj razini, programskim jezikom usmjerenim na objekte (npr. Solidity).EthereumU Ethereumu, korisnički račun može poslatiugovorne transakcijeUgovorna transakcija pokreće izvršenje funkcije definirane u pametnom ugovoru.
Programabilni blokčeini omogućuju razvojBlockchain-powered aplikacijeU svijetu Ethereuma, ove aplikacije su poznate kaoDecentralizirane aplikacijeZbog svojstava blockchain-a (npr. sigurnost, distribuirana obrada), ÐApps imaju potencijal da promijene način na koji tvrtke trenutačno posluju.Prošle godine, računalstvo u oblaku, umjetna inteligencija i analitičko razmišljanje vodili su LinkedInovu globalnu listu najtraženijih hard vještina.Sve su na popisu opet ove godine, ali vještina koju nismo ni gledali prije godinu dana - blockchain - na vrhu liste najtraženijih hard vještina za 2020.
Prilikom inženjeringa ÐApp-a, programeri trebaju prevesti zahtjeve uhvaćene u prednjem dijelu njihove aplikacije u jednu ili više ugovornih transakcija. Na primjer, pretpostavimo da financijska tvrtka želi razviti bankovnu ÐApp na Ethereumu.prijevodfinancijske operacije (npr. plaćanje računa) u jednu ili više ugovornih transakcija. Kako bi se isporučilo ugodno iskustvo krajnjeg korisnika, te transakcije moraju biti obrađene što je brže moguće čvorovima koji održavaju blockchain. Međutim, stvarna količina vremena koja je potrebna za obradu transakcije u Ethereumu ovisi o nekoliko čimbenika, uključujući: cijenu plina postavljenu za transakciju (etereum-specifičan oblik transakcijskih naknada), razinu iskorištavanja blockchain (tj. koliko je trenutačno opterećenje) i algoritme prioritizacije transakcija koje koriste čvorovi rudarstva (tj. oni subjekti koji odabiru i učinkovito obrađuju transakcije u blockchain-u). Drugim riječima, unatoč kritičnoj ulozi obrade transakcija u vremenu iskustvu kraj
Od tri gore navedena čimbenika koji utječu na vrijeme obrade transakcije, samo cijenu plina može kontrolirati izdavatelj transakcije (npr. ÐApp developeri). U gore opisanom primjeru banke, programeri bi vjerojatno ostvarili brzo vrijeme obrade transakcije postavljanjem vrlo visoke cijene plina.In other words, the challenge is to dynamically determine the cheapest gas price that will provide the best possible end-user experience (transaction processing time).
Online usluge razvijene su kako bi poduprle izdavatelje transakcija (npr. developere aplikacija ÐApp) u odabiru odgovarajućih cijena plina. Trenutno su dvije najpopularnije usluge Etherscan i EthGasStation. Te usluge pružaju procjene u stvarnom vremenu vremena obrade za određenu cijenu plina (ili skup cijena plina). Razlog je u tome što, analizirajući te procjene, izdavatelji transakcija mogu donijeti informiraniji izbor cijene plina. Unatoč popularnosti dvije gore navedene usluge, točnost njihovih procjena vremena obrade ostaje nejasna. Osim toga, Etherscanova usluga je vlasnička i crna kutija (tj. njezino unutarnje funkcioniranje nije otkriveno, sprečavajući tumačenje načina na koji model djeluje).
U ovoj studiji empirički istražujemo vrijeme obrade transakcija u Ethereumu. Konkretnije, određujemo tipična vremena obrade, istražujemo odnos između vremena obrade i cijena plina, te procjenjujemo točnost usluga procjene vremena obrade.
• RQ1: How long does it take to process a transaction in Ethereum? Također, 90% transakcija se obrađuje u roku od 8m. Također smo primijetili da veće cijene plina rezultiraju brzim vremenom obrade transakcija s smanjenim povratima (npr. nema praktične razlike između vremena obrade skupih i vrlo skupih transakcija).
• RQ2: How accurate are the estimates for transaction processing time provided by Etherscan and EthGasStation? Etherscan i EthGasStation koriste dva modela predviđanja. Naši rezultati pokazuju da su četiri proučavana modela ekvivalentna srednjoj apsolutnoj pogrešci u rasponu od 40,8s do 58,2s. Međutim, u stratificiranoj analizi na temelju kategorija cijena plina, primjećujemo da je Etherscan Gas Tracker (proprijetarna, crna kutija) najtočniji model za vrlo jeftine i jeftine transakcije.
Na temelju rezultata iz RQ1 i RQ2, proveli smo post-hoc studiju u kojoj smo nastojali dizajnirati jednostavan i tumačiv model koji je bio barem jednako točan kao postojeći top-performing modeli. U takvoj studiji pokazujemo da jednostavan linearni model regresije koji se temelji na samo jednoj značajci može raditi barem jednako točno kao top-performing modeli za sve cijene.Vrlo jeftinoiJeftinijetransakcije, koje su najteže predvidjeti vrijeme obrade.
Rezultati našeg papira podržavaju ÐApp programere u donošenju informiranijih odluka o cijeni plina za njihove transakcije koje izdaju aplikacije.Dalje, naša opisna statistika vremena obrade u Ethereumu trebala bi biti vrijedna za one koji razmatraju razvoj ÐApps na vrhu ove blockchain platforme.
Prispisi naše studije su sljedeći: (i) osmišljavanje pristupa prikupljanju vremena obrade transakcija, što omogućuje buduće studije na tom području, (ii) karakteriziranje vremena obrade transakcija za različite kategorije cijena plina (vrlo jeftino, jeftino, redovito, skupo i vrlo skupo), (iii) određivanje točnosti postojećih usluga procjene vremena obrade i (iv) razvoj modela koji nadmašuje postojeće usluge procjene.
Paper organization.Ovaj članak je organiziran na sljedeći način. Odjeljak 2 uvodi ključne koncepte koje koristimo tijekom ovog članka. Odjeljak 3 opisuje motivirajući primjer, koji objašnjava kako stručnjak može koristiti uslugu procjene vremena obrade u praksi. Odjeljak 4 opisuje kako izračunamo vrijeme obrade transakcija. Odjeljak 5 opisuje proces prikupljanja podataka u našoj studiji. Odjeljak 6 predstavlja motivaciju, pristup i naše nalaze za svako istraživanje. Odjeljak 7 predstavlja našu post-hoc studiju. Odjeljak 8 raspravlja o implikacijama naših nalaza. Odjeljak 9 predstavlja srodne radove. Odjeljak 10 raspravlja o prijetnjama valjanosti naših nalaza. Konačno, Odjeljak 11 zaključuje studiju.
Ovaj dokument je dostupan na arhiv pod licencom CC BY-NC-ND 4.0 DEED.
Ovaj papir je
[1] https://bit.ly/2YzfcKt. Za konačnu verziju papira, podaci će biti dostupni putem trajne poveznice na GitHub repozitorij.