De auteurs:
(1) MICHAEL PACHECO, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada;
(2) GUSTAVO A. OLIVA, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada;
(3) GOPI KRISHNAN RAJBAHADUR, Centre for Software Excellence bij Huawei, Canada;
(4) AHMED E. HASSAN, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada.
Authors:
(1) MICHAEL PACHECO, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada;
(2) GUSTAVO A. OLIVA, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada;
(3) GOPI KRISHNAN RAJBAHADUR, Centre for Software Excellence bij Huawei, Canada;
(4) AHMED E. HASSAN, Software Analysis and Intelligence Lab (SAIL) aan de Queen’s University, Canada.
Tafel links
2 Achtergrond en 2.1 Blockchain
4 Computing Transactieprocessing Tijden
5 Gegevensverzameling en 5.1 Gegevensbronnen
6 Resultaten
RQ1: Hoe lang duurt het om een transactie in Ethereum te verwerken?
7 Kan een eenvoudiger model worden afgeleid? een post-hoc studie
8.1 Hoe zit het met eindgebruikers?
10 bedreigingen voor de geldigheid
11 Conclusie, disclaimer en referenties
A. COMPUTING TRANSACTION PROCESSING TIMES
A. Berekening van transactietijdenB. RQ1: GAS PRICE DISTRIBUTION FOR EACH GAS PRICE CATEGORY
B. RQ1: Verdeling van de gasprijs voor elke gasprijscategorieB.1 Gevoeligheidsanalyse op Block Lookback
C. RQ2: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS
C. RQ2: Samenvatting van de nauwkeurige statistieken voor de voorspellingsmodellenD. POST-HOC STUDY: SUMMARY OF ACCURACY STATISTICS FOR THE PREDICTION MODELS
D. Post-HOC-studie: samenvatting van de nauwkeurige statistieken voor de voorspellingsmodellen
Ethereum is een van de meest populaire platforms voor de ontwikkeling van blockchain-aangedreven transacties. Deze toepassingen staan bekend als ÐApps. Wanneer de meeste transacties worden waargenomen ÐApps, ontwikkelaars moeten verzoeken die zijn vastgelegd in de voorkant van hun applicatie te vertalen naar een of meer reguliere contracttransacties te verlagen. Ontwikkelaars moeten betalen voor deze transacties en, hoe meer ze betalen (d.w.z. hoe hoger de transactie prijs), hoe sneller de transactie wordt bestudeerd. Het ontwikkelen van kosteneffectieve ÐApps is verre van trivial, omdat ontwikkelaars de balans moeten optimaliseren tussen kosten (transactievergoedingen) en gebruikerservaring (transactieverwerkingstijden). Online diensten zijn ontwikkeld om transac
1 Inleiding
Blockchain is een nieuwe software-technologie die een veilige en gedecentraliseerde verwerking van digitale transacties mogelijk maakt. Het eerste mainstream blockchain-platform was Bitcoin, dat het concept van cryptocurrencies populariseerde. In het Bitcoin-platform wordt de cryptocurrency ook Bitcoin genoemd (met een lagere 'b') en het wordt vertegenwoordigd door de code BTC. Het primaire doel van het Bitcoin-platform is om de overdracht van BTC's tussen gebruikersaccounts mogelijk te maken. Dat wil zeggen, het Bitcoin-platform biedt een platform voor de verwerking vanTransacties met cryptocurrencies.
Na Bitcoin zijn veel andere blockchainplatforms ontwikkeld.Een speciale klasse van deze platforms bekend alsProgrammeerbare blockchainsIn tegenstelling tot Bitcoin, programmerbare blockchains ook hosten en uitvoerenSlimme contractenNaast het ondersteunen van cryptogeldtransacties is een smart contract een staatsgebonden, algemeen gebruikte computerprogramma dat meestal is geschreven met een hoog niveau, objectgerichte programmeertaal (bijv. Solidity).EthereumIn Ethereum kan een gebruikersaccountcontractuele transactiesEen contracttransactie activeert de uitvoering van een functie die is gedefinieerd in een smart contract.
Programmeerbare blockchains maken de ontwikkeling vanBlockchain-aangedreven applicatiesIn de wereld van Ethereum zijn deze toepassingen bekend alsgedecentraliseerde applicatiesDoor de inherente eigenschappen van een blockchain (bijv. beveiliging, gedistribueerde verwerking) hebben ÐApps het potentieel om de manier waarop bedrijven momenteel opereren te transformeren.Vorig jaar leidde cloud computing, kunstmatige intelligentie en analytisch redeneren LinkedIn's wereldwijde lijst van de meest in-demand harde vaardigheden. ze staan dit jaar allemaal op de lijst, maar een vaardigheid die we een jaar geleden niet eens keken - blockchain - staat bovenaan de lijst van de meest in-demand harde vaardigheden voor 2020.
Bij het ontwerpen van een ÐApp moeten ontwikkelaars verzoeken die in het frontend van hun applicatie zijn vastgelegd, vertalen in een of meer contractuele transacties.VertalenOm een aangename eindgebruikerservaring te leveren, moeten deze transacties zo snel mogelijk worden verwerkt door de knooppunten die de blockchain onderhouden. Niettemin hangt de werkelijke hoeveelheid tijd die het kost om een transactie in Ethereum te verwerken af van verschillende factoren, waaronder: de gasprijs die is ingesteld voor de transactie (een Ethereum-specifieke vorm van transactiekosten), het blockchain-gebruiksniveau (d.w.z. hoe groot de huidige werklast is) en de transactieprioriteringsalgoritmen die door de mijnknopen worden gebruikt (d.w.z. die entiteiten die transacties in de blockchain selecteren en effectief verwerken). Met andere woorden, ondanks de kritische rol van transactieprocessen in de eindgebruik
Van de drie hierboven genoemde factoren die de verwerkingstijd van de transactie beïnvloeden, kan alleen de gasprijs worden gecontroleerd door de transactie-uitgever (bijv. ÐApp-ontwikkelaars). In het hierboven beschreven voorbeeld van de bank zouden ontwikkelaars waarschijnlijk snelle verwerkingstijden van de transactie bereiken door een zeer hoge gasprijs in te stellen.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 diensten zijn ontwikkeld om transactie-uitgevers (bijv. ÐApp-ontwikkelaars) te ondersteunen bij het kiezen van geschikte gasprijzen. Momenteel zijn de twee meest populaire diensten Etherscan en EthGasStation. Deze diensten bieden realtime schattingen van verwerkingstijden voor een gegeven gasprijs (of set gasprijzen). De redenering is dat transactie-uitgevers door deze schattingen te analyseren een meer geïnformeerde gasprijskeuze kunnen maken. Ondanks de populariteit van de twee bovengenoemde diensten blijft de nauwkeurigheid van hun verwerkingstijdschattingen onduidelijk. Bovendien is de dienst van Etherscan proprietaire en zwarte doos (d.w.z. de interne werking ervan wordt niet bekendgemaakt, waardoor een interpretatie
In deze studie onderzoeken we empirisch de verwerkingstijden van transacties in Ethereum. Meer specifiek bepalen we de typische verwerkingstijden, onderzoeken we de relatie tussen verwerkingstijden en gasprijzen en evalueren we de nauwkeurigheid van verwerkingstijdschattingsdiensten.
• RQ1: How long does it take to process a transaction in Ethereum? We zien ook dat hogere gasprijzen resulteren in snelle transactietijden met afnemende rendementen (bijv. er is geen praktisch verschil tussen de verwerkingstijden van dure en zeer dure transacties).
• RQ2: How accurate are the estimates for transaction processing time provided by Etherscan and EthGasStation? Etherscan en EthGasStation gebruiken elk twee voorspellingsmodellen. Onze resultaten tonen aan dat de vier onderzochte modellen gelijkwaardig zijn aan een mediane absolute fout in het bereik van 40,8s tot 58,2s. Echter, in een gestreepte analyse op basis van gasprijscategorieën, zien we dat de Etherscan Gas Tracker (eigen, zwarte doos) het meest accurate model is voor zeer goedkope en goedkope transacties.
Op basis van de resultaten van RQ1 en RQ2 hebben we een post-hoc-studie uitgevoerd waarin we een eenvoudig en interpreterbaar model wilden ontwerpen dat ten minste even nauwkeurig was als de bestaande topprestatiemodellen.In een dergelijke studie laten we zien dat een eenvoudig lineair regressiemodel dat op slechts één functie bouwt, ten minste even nauwkeurig kan presteren als de topprestatiemodellen voor alle prijsklassen.Zeer goedkoopenGoedkooptransacties, die het moeilijkste zijn om de verwerkingstijd voor te voorspellen.
De resultaten van ons document ondersteunen ÐApp-ontwikkelaars bij het maken van meer geïnformeerde beslissingen met betrekking tot de gasprijs van hun applicatie-uitgegeven transacties.Bovendien moeten onze beschrijvende statistieken van verwerkingstijden in Ethereum waardevol zijn voor degenen die overwegen om ÐApps te ontwikkelen op dit blockchainplatform.
De bijdragen van onze studie zijn als volgt: (i) het ontwerpen van een benadering voor het verzamelen van transactietijden, die toekomstige studies in het gebied mogelijk maakt, (ii) het karakteriseren van transactietijden voor verschillende gasprijscategorieën (zeer goedkoop, goedkoop, regelmatig, duur en zeer duur), (iii) het bepalen van de nauwkeurigheid van de bestaande verwerkingstijdschattingsdiensten en (iv) het ontwikkelen van een model dat de bestaande schattingsdiensten overtreft.
Paper organization.Dit artikel is als volgt georganiseerd. Sectie 2 introduceert de belangrijkste concepten die we in dit artikel gebruiken. Sectie 3 beschrijft een motiverend voorbeeld, dat verduidelijkt hoe een beoefenaar in de praktijk een verwerkingstijdschattingsservice kan gebruiken. Sectie 4 beschrijft hoe we de verwerkingstijden van transacties berekenen. Sectie 5 beschrijft het gegevensverzamelingsproces van onze studie. Sectie 6 presenteert de motivatie, aanpak en onze bevindingen voor elke onderzoeksvraag. Sectie 7 presenteert onze post-hoc studie. Sectie 8 bespreekt de implicaties van onze bevindingen. Sectie 9 presenteert gerelateerd werk. Sectie 10 bespreekt de bedreigingen voor de geldigheid van onze bevindingen.
Dit document is beschikbaar op archiv onder CC BY-NC-ND 4.0 DEED licentie.
Dit papier is
[1] https://bit.ly/2YzfcKt. Voor de definitieve versie van het document zullen de gegevens beschikbaar worden gesteld via een permanente link naar een GitHub repository.