2020 · 117 citations · 8 references
ComputingComputer ScienceCybersecurityAlgorithmic DesignCryptographyDesign OptimizationCryptographic ArchitectureSmart ContractsBlockchain ApplicationsBlockchain SecurityBlockchain-based ContractingDesign PatternsGas OptimizationSmart Contract ModificationSmart Contract Programming LanguagesSmart Contract Security
Blockchain technology is an emerging technology that allows new forms of decentralized architectures, designed to generate trust among users, without the intervention of mediators or knowledge between the parties. Since 2015, thanks to the introduction of Smart Contracts by Ethereum, it is possible to run programs on the blockchain, greatly extending the potential of this technology. The programming of Smart Contract, through the Solidity language is different from the traditional one. First of all, any action that requires to modify the blockchain costs gas, which corresponds to a fraction of the currency used by that given blockchain, and therefore to real money. Gas optimization is a unique challenge in this context and has obvious implications. This document aims to provide a set of design patterns and tips to help gas saving in developing Smart Contracts on Ethereum. The provided patterns are presented divided into five main categories, based on their features.
8
Bitcoin: A Peer-to-Peer Electronic Cash System
Dr Craig S Wright · SSRN Electronic Journal · 2008 · 14.3K citations · Full text
Ethereum: A Secure Decentralised Generalised Transaction Ledger
Gavin Wood · 2013 · 5.3K citations
Under-optimized smart contracts devour your money
Ting Chen, Xiaoqi Li, Xiapu Luo et al. · 2017 · 384 citations
Blockchain: Challenges and applications
Pinyaphat Tasatanattakool, Chian Techapanupreeda · 2018 · 287 citations