Blockchain-based Internet of Things (BC-IoT) brings the advantages of blockchain into traditional IoT systems. In BC-IoT, the smart contract has been widely used for automatic, trusted, and decentralized applications. Smart contracts require frequent adjust and fast update due to various reasons, such as inevitable code bugs, changes of applications, or security requirements. However, previous smart contract architecture and updating mechanism are low speed and cause high overhead, because they are based on recompilation and redeployment in BC-IoT. Meanwhile, smart contract execution is so time consuming due to contract instruction dispatching and operand loading in the stack-based Ethereum virtual machine (EVM). To address these issues, we propose a new smart contract architecture and optimization mechanism for BC-IoTs, ATOM, which provides architectural supports to update contract economically and fast executing in instructionwise for the first time, to the best of our knowledge. We design a compact Application-oriented Instruction (AoI) set to describe application operations. We can construct the bytecode of smart contract from application by directly assembling templates prebuilt upon the AoIs rather than by compilation. We also present an optimized mechanism for AoI execution to enable access addressable storage place rather than the indirect access through stack. We perform ATOM on a BC-IoT testbed based on private Ethereum and Hyperledger Burrow. The experimental results highlight that ATOM is more efficient than state-of-the-art approaches. ATOM can reduce update latency by 62.7%, ledger size by 70%, and gas usage by 90% on average, respectively. Compared with the traditional smart contract architecture, ATOM can improve EVM Memory access efficiency significantly by up to$10\times $and achieve improvement of execution efficiency with up to$1.6\times $.
Kemal Turksonmez, Marcin Furtak, Mike P. Wittie, David L. Millman
Blockchain transactions compete for limited space in blockchain blocks. Miners prefer to include transactions with higher fees into new blocks. In the context of Ethereum, gas price price oracles predict fees such that transactions submitted at those fees make it into a block within a target delay. In practice, however, oracles are not accurate, which makes it difficult for distributed applications to operate predictable services in terms of price and performance.To understand oracle performance we define a new gas prediction accuracy metric. We demonstrate that oracles underprice transactions, causing them to miss the delay target, as well as overprice transactions, causing them to meet the delay target, but at a higher than necessary cost. We provide comparative analysis of five gas price oracles showing their relative accuracy, transaction accept rates, price stability, and discuss factors that influence oracle accuracy. We observe that the ETHGasStation oracle produces the most accurate and stable price predictions. For users that prefer to run their own oracle Web3.py provides comparable performance.
Fixing bugs is easiest by patching source code. However, source code is not always available: only 0.3% of the ~49M smart contracts that are currently deployed on Ethereum have their source code publicly available. Moreover, since contracts may call functions from other contracts, security flaws in closed-source contracts may affect open-source contracts as well. However, current state-of-the-art approaches that operate on closed-source contracts (i.e., EVM bytecode), such as EVMPatch and SmartShield, make use of purely hard-coded templates that leverage fix patching patterns. As a result, they cannot dynamically adapt to the bytecode that is being patched, which severely limits their flexibility and scalability. For instance, when patching integer overflows using hard-coded templates, a particular patch template needs to be employed as the bounds to be checked are different for each integer size. In this paper, we propose Elysium, a scalable approach towards automatic smart contract repair at the bytecode level. Elysium combines template-based and semantic-based patching by inferring context information from bytecode. Elysium is currently able to patch 7 different types of vulnerabilities in smart contracts automatically and can easily be extended with new templates and new bug-finding tools. We evaluate its effectiveness and correctness using 3 different datasets by replaying more than 500K transactions on patched contracts. We find that Elysium outperforms existing tools by patching at least 30% more contracts correctly. Finally, we also compare the overhead of Elysium in terms of deployment and transaction cost. In comparison to other tools, we find that generally Elysium minimizes the runtime cost (i.e., transaction cost) up to a factor of 1.7, for only a marginally higher deployment cost, where deployment cost is a one-time cost as compared to the runtime cost.
Nakamoto consensus underlies the security of many of the world's largest cryptocurrencies, such as Bitcoin and Ethereum. Common lore is that Nakamoto consensus only achieves consistency and liveness under a regime where the difficulty of its underlying mining puzzle is very high, negatively impacting overall throughput and latency. In this work, we study Nakamoto consensus under a wide range of puzzle difficulties, including very easy puzzles. We first analyze an adversary-free setting and show that, surprisingly, the common prefix of the blockchain grows quickly even with easy puzzles. In a setting with adversaries, we provide a small backwards-compatible change to Nakamoto consensus to achieve consistency and liveness with easy puzzles. Our insight relies on a careful choice of \emph{symmetry-breaking strategy}, which was significantly underestimated in prior work. We introduce a new method -- \emph{coalescing random walks} -- to analyzing the correctness of Nakamoto consensus under the uniformly-at-random symmetry-breaking strategy. This method is more powerful than existing analysis methods that focus on bounding the number of {\it convergence opportunities}.
Caciano dos Santos Machado, Renan R. S. dos Santos, Carla Merkle Westphall
Community networks are prone to free-riders, i.e., participants who take advantage of cooperation from others' routers but do not contribute reciprocally. In this paper, we present HARPIA, a system for credit-based incentive mechanisms for data forwarding in community networks aimed to prevent selfish behavior. HARPIA does not require a trusted third-party or tamper-resistant security modules as in other incentive mechanisms. Instead, it uses a distributed accounting scheme (DPIFA) to estimate the balance of data forwarding contribution and consumption of each network router and settle correspondent cryptocurrency debts on an Ethereum smart contract. On-chain settlement transactions are performed every HARPIA cycle (e.g., daily, weekly, monthly) and must be validated by at least m-of-n network routers using a multi-signature scheme (MuSig). We also realized a performance evaluation, security threat assessment, and cryptocurrency costs estimation. Results show that our proposal is suitable for community networks with up to 64 infrastructure routers under specific m-of-n MuSig thresholds.
Ikechi Saviour Igboanusi, Kevin Putra Dirgantoro, Jae‐Min Lee, Dong‐Seong Kim
This article proposes an electronic payment architecture named Pure Wallet (PW), which extends the concept of Blockchain cryptocurrency for offline transactions. The process is divided into three steps. The first step requires the use of Internet connection, to convert cryptocurrency into a token at the token manager. The token manager initiates a transaction that requires the information in the token to complete. Then offline transactions step is performed between electronic devices like mobile phones through a secure Near Field Communication (NFC) using the token in senders device. The financial value in the form of a token is encrypted by the sender and sent to the receiver’s device via NFC. In the third step, the receiver converts the received token into cryptocurrency in the presence of Internet connection by sending the information required to complete the transaction to the token manager. The goal is to propose an electronic payment architecture utilizing Blockchain, which will enable financial transactions without instant connection to the Internet. The Blockchain implementation in this work utilizes smart contract in Ethereum Blockchain. The result shows a successful transfer of value without instant Internet connection. The open issues related to Blockchain in offline transactions are listed for further research works.
A smart Ponzi scheme is a new form of economic crime that uses Ethereum smart contract account and cryptocurrency to implement Ponzi scheme. The smart Ponzi scheme has harmed the interests of many investors, but researches on smart Ponzi scheme detection is still very limited. The existing smart Ponzi scheme detection methods have the problems of requiring many human resources in feature engineering and poor model portability. To solve these problems, we propose a data-driven smart Ponzi scheme detection system in this paper. The system uses dynamic graph embedding technology to automatically learn the representation of an account based on multi-source and multi-modal data related to account transactions. Compared with traditional methods, the proposed system requires very limited human-computer interaction. To the best of our knowledge, this is the first work to implement smart Ponzi scheme detection through dynamic graph embedding. Experimental results show that this method is significantly better than the existing smart Ponzi scheme detection methods.
M. Satheesh Kumar, S. Vimal, N. Z. Jhanjhi, Shanmuga Sundar Dhanabalan · 5 authors
With the prevalence of Aerospace Technologies, the regulations of cybersecurity are becoming smarter, assured, and long-lasting. Modern communication network technologies have enormous growth in the cyber threats and masquerading attacks to steal data. Hence concepts and mechanisms are built and made into regulations for a safer environment. Unmanned aerial vehicles (UAVs), often known as drones, are becoming increasingly common, posing new problems in areas such as monitoring, agriculture, weather prediction, surveillance and other fields. This includes a large number of devices that, owing to a lack of energy or a system shutdown, might occasionally send incorrect signals and must be monitored autonomously by drones in remote regions. In this paper, we propose a energy intensive blockchain-based platform for controlling drone operations while ensuring trust and security for all parties involved. The goal of this paper is to explore the extent of Unmanned Aerial Vehicle (UAV) vulnerability to deceptive (Global Navigation Satellite System) GNSS signals by establishing the necessary conditions for UAV via GPS (Global Positioning System) spoofing. The existing algorithms used to mitigate spoofing attacks have unbounded long-term errors, which increase in time during its performance. An innovative idea is necessitating to eliminate those errors, thereby in the proposed work, Ethereum Blockchain has been implemented to create a blockchain network to mitigate the spoofing attacks. Blockchains are incredibly popular nowadays and is the basic technology for cryptocurrencies. Blockchain technology greatly impacts the applications in UAVs. The proposed methodology uses the network that has to be registered in the aerospace components through the ledger associated with relevant data communication in the Blockchain. When an intruder gets acquired with the data in the network with a single block, it cannot affect the entire network due to the data integrity in the ledgers that has been cryptographically assigned. The blockchain network intermittently verifies the geolocation data so that any outlying data would be detected and eliminated quickly. The data that has been verified is made available for the view of aviation and spacecraft operations through the distributed network. The proposed methodology outperforms the existing methods in intense drift error and, in the case of confidentiality and integrity, it has very low risk when compared to existing methods.
The use of digital health records, stricter health laws and the growing need for health records exchange points towards the need for an efficient security and privacy preserving mechanism. For Health Insurance management systems, multiple entities exchange health information which is used for decision making. Since multiple authoritative entities are involved, a secure and efficient information sharing protocol is required as extremely sensitive health information is exchanged among the entities. Hence this paper aims to put forward a novel a decentralized authentication system based on Blockchain known as Insurance Claim Blockchain (ICBChain) system. The proposed system ensures privacy of patients, provides secure information exchange and authentication of entities. An implementation of the proposed system is provided using Ethereum Blockchain. The security and performance analysis of the system shows its potential to satisfy Healthcare security requirements and its efficiency respectively
Wisnu Uriawan, Agung Wahana, Cepy Slamet, Vemy Suci Asih
A DApp is a software interacting with it through transactions, user communications, store activity, executing smart contracts, and Ethereum-based on the Blockchain. Many banks or financial institution systems were applying this technology to support customer needs, i.e., in the lending system. When proposing a loan from a bank or other financial institution, it’s generally secured or unsecured. A secured loan offers some form of collateral in return and possibly borrow without any collateral to back the loan (unsecured loan). It all depends on the lender’s requirements. The borrowers can pay installments on time or equal to the guarantees provided. The excellent borrowers’ candidate is very influential in lending activities to minimize financial losses and damage their reputation. Most borrowers are rejected because they are unable to pay back the loan. In this paper, we propose a DApp lending architecture design. The architectural design has been adapted to meet borrowers’ and lenders’ requirements, easy to access and use, simple way for the transaction. We present the advantages of DApp lending architecture is customizable with stakeholders’ needs (Borrowers and Lenders side).
In order to have transactions executed and recorded on blockchains such as the Ethereum Mainnet, fees expressed in crypto-currency units of the blockchain must be paid. One can buy crypto-currency called Ether of the Ethereum blockchain from exchanges and pay for the transaction fees. In the case of test networks (such as Rinkeby) or scientific research blockchains (such as Bloxberg), free crypto-currency, Ether, is distributed to users via faucets. Since transaction slots on the blocks, storage and smart contract executions are consuming blockchain resources, Ethers are distributed by fixed small amounts to users. Users may have different amount of Ether requirements; some small amounts and some large amounts during different times. As a result, rather than allowing the user to get a fixed small amount of Ether, a more general distribution mechanism that allows a user to demand and claim arbitrary amounts of Ether, while satisfying fairness among users, is needed. For this end, Max-min Fairness based schemes have been used in centralized settings. Our work contributes a Max-min Fairness based algorithm and its Solidity smart contract implementation that requires low transaction costs independent of the number of users. This is important on the Ethereum blockchain, since a smart contract execution with transaction costs depending on the number of users would mean block gas limit exhaustion problem will eventually be met, making the smart contract ineffective. We report tests which confirm that the low transaction cost aims have been achieved by our algorithm.
Aug 18, 2021·Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Ethereum is the most popular blockchain platform for the development of blockchain-powered applications (a.k.a, ). Developing a involves translating requests captured in the frontend of an application into contract transactions. However, transactions need to be payed for. Ethereum employs the gas system to charge transaction fees. The gas system has three key components, namely gas price, gas usage, and gas limit. We refer to these components and their interplay as the gas triangle. In this paper, we claim that the inherently complex gas triangle should not be exposed to end-users. We conduct two studies that provide empirical evidence to support our claim. In light of our results, we provide a list of recommendations to novice end-users. We conclude the paper with a list of research challenges that need to be tackled in order to support the development of next-generation that completely hide the gas triangle from end-users.
Aiming at the problem that learners' personal information, courses and relevant certificates can not provide detailed information about learning depth and learning or teaching methods, this paper takes learners' learning information, learning record smart contract and Ethereum Blockchain related technology as the research object, aiming to use Ethereum Blockchain and smart contract to connect learners' learning records. On the one hand, it can use the block data stored in the Blockchain to easily verify the authenticity of the data and ensure the privacy and security of the data. On the other hand, it can provide personalized learning path for learners and be used to evaluate a person's educational achievement, employment suitability and intelligence evaluation.
Abstract Classifying test executions automatically as pass or fail remains a key challenge in software testing and is referred to as the test oracle problem . It is being attempted to solve this problem with supervised learning over test execution traces. A programme is instrumented to gather execution traces as sequences of method invocations. A small fraction of the programme's execution traces is labelled with pass or fail verdicts. Execution traces are then embedded as fixed length vectors and a neural network (NN) component that uses the line‐by‐line information to classify traces as pass or fail is designed. The classification accuracy of this approach is evaluated using subject programs from different application domains—1. Module from Ethereum Blockchain, 2. Module from PyTorch deep learning framework, 3. Microsoft SEAL encryption library components, 4. Sed stream editor, 5. Nine network protocols from Linux packet identifier, L7‐Filter and 6. Utilities library, commons‐lang for Java. For all subject programs, it was found that test execution classification had high precision, recall and specificity, averaging to 93%, 94% and 96%, respectively, while only training with an average 14% of the total traces. Experiments show that the proposed NN‐based approach is promising in classifying test executions from different application domains.
The cryptocurrency market is a market that attracts researchers and investors because it is open every day. This can be seen by the anomalies that occur in the cryptocurrency market. This research uses cryptocurrencies with the largest market cap in 2020, namely Bitcoin, Ethereum, Tether, XRP, and Bitcoin cash as research objects. The data in this study uses daily returns for testing the day of the week effect and daily volatility on the cryptocurrencies under study. This study uses GARCH (1,1) to determine the day of the week effect and daily volatility in the cryptocurrency under study. The results of this study indicate that there is a day of the week effect and daily volatility in the cryptocurrency under study, and it does not move freely. This causes the cryptocurrency market to become an inefficient market. The patterns that occur can be exploited by investors as well as other research on the cryptocurrency under study. Investors can avoid days that have high volatility for example in Bitcoin which experiences high volatility on Fridays and Saturdays because it has a high risk as well. Investors are advised to be able to trade on Thursday for high returns and less risk.
Jinlei Sun, Song Huang, Changyou Zheng, Tingyong Wang · 6 authors
Integer overflow is a common vulnerability in Ethereum Smart Contracts (ESCs) and often causes huge economic losses. Smart contracts cannot be changed once it is deployed on the blockchain and thus demand further testing. Mutation testing is a fault-based testing method that can effectively improve the sufficiency of a test for smart contracts. However, existing methods cannot efficiently perform mutation testing specifically for integer overflow in ESCs. Therefore, by analyzing integer overflow in ESCs, we propose five special mutation operators to address such vulnerability in terms of detecting sufficiency in ESC testing. An empirical study on 40 open-source ESCs is conducted to evaluate the effectiveness of the proposed mutation operators. Results show that: (1) our proposed mutation operators can reproduce all 179 integer overflow vulnerabilities in 40 smart contracts, and the generated mutants have high compilation pass rate and integer overflow vulnerability generation rate; moreover, (2) the generated mutants can find the shortcomings of existing testing methods for integer overflow vulnerability, thereby providing effective support to improve the sufficiency of the test.
Emerson de Brito Souza, Elisângela Carneiro, Antonio Coutinho
Este artigo propõe um sistema para a geração e validação de diplomas e certificados onde os documentos sejam confiáveis e facilmente verificáveis. Para isso foi utilizada a rede blockchain pública da Ethereum aliada com uma rede de arquivos distribuída usando o protocolo InterPlanetary File System e ferramentas de código aberto. O modelo mostra que a realização do sistema é viável, englobando propriedades de sistemas off-chain e on-chain para a arquitetura proposta.
Estruturas de dados tem sido um dos principais objetos de estudo da computação. Alguns cenários de aplicação dessas estruturas possuem requisitos relacionados à segurança e integridade dos dados nelas contidos. Deste modo, no decorrer da história da computação foram propostas estruturas de dados verificáveis, que apresentam características que visam atender a alguns requisitos de segurança como a garantia de imutabilidade e a verificação de um item de dado pertencente a estas estruturas. Este artigo analisa duas estruturas de dados verificáveis, a saber, a Mekle Tree e a Merkle PATRICIA Trie, descrevendo seus conceitos, características e cenários de aplicação no contexto das blockchains Ethereum e Neo.
Delegation of cryptographic signing rights has found many application in the literature and the real world. However, despite very advanced functionalities and specific use cases, existing solutions share the natural limitation that the number of usages of these signing rights cannot be efficiently limited, but users can at most be disincentivized to abuse their rights. In this paper, we suggest a solution to this problem based on blockchains. We let a user define a smart contract defining delegated signing rights, which needs to be triggered to successfully sign a message. By leveraging the immutability of the blockchain, our construction can now guarantee that a user-defined threshold of signature invocations cannot be exceeded, thereby circumventing the need for dedicated hardware or similar assistance in existing constructions for one-time programs. We discuss different constructions supporting different features, and provide concrete implementations in the Solidity language of the Ethereum blockchain, proving the real-world efficiency and feasibility of our construction.
Júlia Almeida Valadares, Vinícius Cunha Oliveira, José Eduardo de Azevedo Sousa, Heder S. Bernardino · 7 authors
Ethereum é uma das maiores plataformas de cripto ativos atualmente, e vem se tornando um ambiente de negócios digitais entre usuários. O Ethereum foi concebido para permitir transações descentralizadas entre usuários anônimos. Contudo, o desenvolvimento de métodos para identificar perfis de comportamentos de usuários, mantendo suas identidades anônimas, têm o potencial para alavancar negócios nessa plataforma. Nesse trabalho, investigamos o uso de aprendizado de máquina para classificar um perfil de usuário como profissional ou comum a partir de atributos de suas transações. Essa classificação é desafiadora devido à pequena fração de usuários publicamente rotulados no Ethereum e ainda a fração consideravelmente menor de usuários profissionais. Para conduzir essa investigação, treinamos modelos considerando conjuntos cuidadosamente balanceados de transações com usuários rotulados. Nossos resultados mostram modelos de alto desempenho para a classificação de perfis, alcançando desempenho superior a 90% para acurácia, precisão, revocação e demais medidas relacionadas. Adicionalmente, identificamos as características mais relevantes em transações para essa classificação.
Igor Gonçalves Silva, Pedro Henrique González, Diogo Mendonça
Blockchain technology is increasingly being used by several companies in the most varied sectors of the economy. The possibility of having decentralized applications (DApps) allows for the emergence of technological innovations such as cryptocurrencies and decentralized asset tracking applications. Many of these DApps are deployed in the cloud with Infrastructure as a Service (IaaS) payment model, in which the payment is made according to the use of the service. However, it is not simple to estimate the cloud infrastructure costs that a DApp will consume. Furthermore, correctly estimating infrastructure costs is essential to analyze the viability and develop business models for enterprise DApps. This work presents an experience report on estimating the cloud infrastructure cost for an enterprise DApp. To do that, we deployed a private Ethereum DApp, using Proof-of-Authority consensus algorithm, with several different configurations of Amazon Web Services (AWS) EC2 instances and blockchain parameters. We benchmark the transaction processing capacity, CPU and disk usage in each configuration, estimating their maximum capacity and costs. We shared our methodology to measure and estimate those costs and our insights on best configuration practices for reducing costs of deploying enterprise DApps in the cloud.