Cheap and secure metatransactions on the blockchain using hash-based authorisation and preferred batchers
Artikel i vetenskaplig tidskrift, 2023

Smart contracts are self-executing programs running in the blockchain allowing for decentralised storage and execution without a middleman. On-chain execution is expensive, with miners charging fees for distributed execution according to a cost model defined in the protocol. In particular, transactions have a high fixed cost. We present MultiCall, a transaction-batching interpreter for Ethereum that reduces the cost of smart contract executions by gathering multiple users’ transactions into a batch. Our current implementation of MultiCall includes the following features: the ability to emulate Ethereum calls and create transactions, both from MultiCall itself and using an identity unique to the user; the ability to cheaply pay Ether to other MultiCall users; and the ability to authorise emulated transactions on behalf of multiple users in a single transaction using hash-based authorisation rather than more expensive signatures. This improves upon a previous version of MultiCall. Our experiments show that MultiCall provides a saving between 57% and 99% of the fixed transaction cost compared with the standard approach of sending Ethereum transactions directly. Besides, we also show how to prevent an economic attack exploiting the metatransaction feature, describe a generic protocol for hash-based authorisation of metatransactions, and analyse how to minimise its off-chain computational and storage cost.

Interpreter

Ethereum

Gas optimisation

Domain-specific language

Författare

William Hughes

Göteborgs universitet

Tobias Magnusson

Chalmers, Matematiska vetenskaper, Algebra och geometri

Alejandro Russo

Chalmers, Data- och informationsteknik, Informationssäkerhet

Gerardo Schneider

Göteborgs universitet

Blockchain: Research and Applications

20967209 (ISSN) 26669536 (eISSN)

Vol. 4 2 100125

Ämneskategorier

Datavetenskap (datalogi)

Datorsystem

DOI

10.1016/j.bcra.2022.100125

Mer information

Senast uppdaterat

2023-06-30