Query: ethereum evm parallel

title: The merits of using Ethereum MainNet as a Coordination Blockchain for Ethereum Private Sidechains
abstract: A Coordination Blockchain is a blockchain that coordinates activities of multiple private blockchains. This paper discusses the pros and cons of using Ethereum MainNet, the public Ethereum blockchain, as a Coordination Blockchain. The requirements Ethereum MainNet needs to fulfil to perform this role are analyzed within the context of Ethereum Private Sidechains, a private blockchain technology which allows many blockchains to be operated in parallel, and allows atomic crosschain transactions to execute across blockchains. We found that Ethereum MainNet is best suited to storing long term static data that need to be widely available, such as the Ethereum Registration Authority information. However, due to Ethereum MainNet's probabilistic finality, it is not well suited to information that needs to be available and acted upon immediately, such as the Sidechain Public Keys and Atomic Crosschain Transaction state information that need to be accessible prior to the first atomic crosschain transaction being issued on a sidechain. Although this paper examined the use of Ethereum MainNet as a Coordination Blockchain within reference to Ethereum Private Sidechains, the discussions and observations of the typical tasks a Coordination Blockchain may be expected to perform are applicable more widely to any multi blockchain system.

title: A Study of Inequality in the Ethereum Smart Contract Ecosystem
abstract: Ethereum is one of the most popular blockchain platforms and is the second most valuable cryptocurrency. It allows developers to create smart contracts small computer programs that sit on the blockchain. These programs can be written in programming languages like solidity and are executed by the Ethereum Virtual Machine (EVM) Since Ethereum is a public blockchain, all the data of the blockchain is available publicly. However, getting smart contract data is a tedious process and public data sets for smart contracts are not available for further analysis.Therefore, in this work, we collect a total of 1.9M smart contracts till the block height of 7.1M, and provide a first of its kind analysis across different parameters like duplicity, ether balance, ether moved, etc. We observe that across all these different parameters, only a small fraction of the smart contracts are dominant. We label such 2900 dominant contracts as the 'Contracts of Importance' and use it for further analysis using the various tools available to give us an insight into the vulnerability trends and patterns in smart contracts.

title: Degree Validation Application Using Solidity and Ethereum Blockchain
abstract: One of the most common actions for students post graduation is requesting a degree validation or an official transcript of grades. Requests for degree validations happen for various reasons such as an employment requirement, a pursuit of a higher degree education, foreign degree accreditation, or even for a personal reason. Those who are requesting the degree validation are usually on a time constraint. Traditional methods of degree validation are often complicated, time consuming, require manpower to maintain, and potentially have security or privacy issues. We present a software application implementing an automatic degree validation system that uses the Ethereum, an open source, public, blockchain based distributed computing platform, and that features smart contract functionality. The application is developed using Solidity, a contract oriented programming language, and is run by the Ethereum Virtual Machine (EVM) This application allows students and universities to automatically verify each other's identity while maintaining transaction validity and referential integrity through a blockchain ledger and maintaining security through PGP key authentication. The university checks the student's request against its own secure mongoDB database. Our application also generates the student's Ehereum wallet using the Truffle development Ethereum network. Truffle generates the student's private and public keys. Our Application pulls the student public key, hashes the last 20 bytes, generates Keccak256 Hash, and stores it on the MongoDB as the student Ethereum Address. To ensure the information's privacy, the blocks of the blockchain are mainly formed of two encrypted fields using the Elliptic Curve Integrated Encryption Scheme (ECIES) library. The first field is encrypted using the student's public key and the second field is encrypted using the third party public field. Third parties, such as employers or other higher education institutions, are able to check its encrypted field of the block using its own private key, once the degree is validated or the transcript is generated. Results of testing show our application to be scalable, secure, have efficient gas costs on the Ethereum network, and minimize human interaction.

title: Electricity Billing System using Ethereum and Firebase
abstract: Ethereum, a blockchain based distributed computing platform, provides smart contract functionality. It also provides Ethereum virtual machine (EVM) that can execute peer to peer contracts across decentralized network. However, the gas consumption of smart contract is so costly that it becomes one of the important problems to be solved. The purpose of this paper is to provide a conceptual overview of blockchain based electricity billing system with the aim of lessening gas consumption of the smart contract. In this system, Firebase is employed as a data storage while Ethereum blockchain acts as both a cryptocurrency payment system and an authentication channel. Moreover, this paper illustrates two factor authentication by utilizing Ethereum account and Firebase Authentication as an authentication channel. Results show that by utilizing Firebase with blockchain, the transaction cost of each transaction made on Ethereum is decreased by approximately 73%

title: A formal verification tool for Ethereum VM bytecode
abstract: In this paper, we present a formal verification tool for the Ethereum Virtual Machine (EVM) bytecode. To precisely reason about all possible behaviors of the EVM bytecode, we adopted KEVM, a complete formal semantics of the EVM, and instantiated the K framework's reachability logic theorem prover to generate a correct by construction deductive verifier for the EVM. We further optimized the verifier by introducing EVM specific abstractions and lemmas to improve its scalability. Our EVM verifier has been used to verify various high profile smart contracts including the ERC20 token, Ethereum Casper, and DappHub MakerDAO contracts.

title: Gas Consumption Aware Dynamic Load Balancing in Ethereum Sharding Environments
abstract: Advances in blockchain technology have made a significant impact on a wide range of research areas due to the features such as transparency, decentralization and traceability. With the explosive growth of blockchain transactions, there has been a growing interest in improving the scalability of blockchain network. Sharding is one of the methods to solve this scalability problem by partitioning the network into several shards so that each shard can process the transactions in parallel. Ethereum places each transaction statically on a shard based on its account address without considering the complexity of the transaction or the load generated by the transaction. This causes the transaction load on each shard to be uneven, which makes the transaction throughput of the network decrease. In this paper, we propose a dynamic load balancing mechanism among Ethereum shards called D GAS. The D GAS dynamically balances the transaction load of each shard by relocating the accounts based on the gas consumption to maximize the transaction throughput. Ethereum gas is a unit that represents the amount of computational effort needed to execute operations in a transaction. Benchmarking results show that the D GAS outperforms existing techniques by up to 12% in transaction throughput and decreases the makespan of transaction latency by about 74% under various conditions.

title: On transaction parallelizability in Ethereum
abstract: Ethereum clients execute transactions in a sequential order prescribed by the consensus protocol. This is a safe and conservative approach to blockchain transaction processing which forgoes running transactions in parallel even when doing so would be beneficial and safe, e.g. when there is no intersection in the sets of accounts that the transactions read or modify. In this work we study the degree of transaction parallelizability and present results from three different simulations using real Ethereum transaction data. Our simulations demonstrate that notable gains are achievable with parallelization, and suggest that the potential for parallelizability improves as transaction rates increase.

title: EtherTrust: Sound Static Analysis of Ethereum bytecode
abstract: Ethereum has emerged as the most popular smart contract development platform, with hundreds of thousands of contracts stored on the blockchain and covering a variety of application scenarios, such as auctions, trading platforms, and so on. Given their financial nature, the security of these contracts is of paramount importance, as exemplified by recent attacks exploiting programming mistakes to freeze or steal millions of dollars (e.g. the DAO and Parity attacks) An automated security analysis of these contracts is thus of utmost interest, but it is challenging due to the EVM bytecode format in which contracts are uploaded on the blockchain, which exposes very little static information, and due to the specific transaction oriented programming mechanisms, which feature a subtle semantics. In this work, we present the first sound and automated static analysis for EVM bytecode, which is practical and scales to large contracts. In particular, our static analysis supports reachability properties, which we show to be sufficient for capturing the most important security properties for smart contracts (e.g. single entrancy and transaction environment dependency) The soundness of our analysis is proven against a complete and mechanized semantics of EVM bytecode. We implemented our analysis and tested our tool EtherTrust on real world contracts from the Ethereum blockchain, comparing it with Oyente, the state of the art bug finding tool for smart contracts: EtherTrust analyses real life contracts in a few seconds, outperforming Oyente in efficiency and coverage by one order of magnitude. Furthermore, EtherTrust shows better precision on a benchmark, all of that despite being the first tool in the literature to provide formal security guarantees for EVM bytecode.

title: Decentralized Voting Platform Based on Ethereum Blockchain
abstract: In centralized environments, the results of voting events have always been questionable and perceived differently by voters. Most existing E Voting systems are based on centralized servers where the voters must trust the organizing authority for the integrity of the results. In this paper we propose a novel approach for a decentralized trustless voting platform that relies on Blockchain technology to solve the trust issues. The main features of this system include ensuring data integrity and transparency, and enforcing one vote per mobile phone number for every poll with ensured privacy. To accomplish this, the Ethereum Virtual Machine (EVM) is used as the Blockchain runtime environment, on which transparent, consistent and deterministic smart contracts will be deployed by organizers for each voting event to run the voting rules. Users are authenticated through their mobile phone numbers without the need of a third party server. Results showed that the system is feasible and may offer a step towards ideal environments for such experience.

title: Visual emulation for Ethereum's virtual machine
abstract: In this work we present E EVM, a tool that emulates and visualises the execution of smart contracts on the Ethereum Virtual Machine. By working with the readily available bytecode of smart contracts we are able to display the program's control flow graph, opcodes and stack for each step of contract execution. This tool is designed to aid the user's understanding of the Etheruem Virtual Machine as well as aid the analysis of any given smart contract. As such, it functions as both an analysis and a learning tool. It allows the user to view the code in each block of a smart contract and follow possible control flow branches. It is able to detect loops and suggest optimisation candidates. It is possible to step through a contract one opcode at a time. E EVM achieved an average of 85.6% code coverage when tested.