A. Aldweesh, Maher Alharby, M. Mehrnezhad, A. Moorsel
{"title":"OpBench: A CPU Performance Benchmark for Ethereum Smart Contract Operation Code","authors":"A. Aldweesh, Maher Alharby, M. Mehrnezhad, A. Moorsel","doi":"10.1109/Blockchain.2019.00043","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00043","url":null,"abstract":"Ethereum and other blockchains rely on miners contributing computational power to execute tasks such as the proof of work consensus mechanism and the execution and validation of smart contracts. Miners receive a fee, and for the correct operation of the blockchain, rewards should be proportional to the required investment (equipment, energy use, etc.). In Ethereum, the reward obtained for executing smart contracts is set statically, associating a fee with each operation code (opcode) in the smart contract. To determine whether fees are aligned with investments made, we propose OpBench, a platform-independent benchmarking approach. OpBench measures the CPU time required to execute opcodes in the Ethereum Virtual Machine. We implemented OpBench for the PyEthApp and Go-Ethereum clients, and present results for both platforms on three different machines and operating systems. The results show that the static fees set by Ethereum are not always proportional to the invested CPU time, with up to an order of magnitude difference across opcodes. The results also show a markable difference in performance between clients, with the Go client outperforming the Python client across machines.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"49 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113957747","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Shu Yang, Ziteng Chen, Laizhong Cui, Mingwei Xu, Zhongxing Ming, Ke Xu
{"title":"CoDAG: An Efficient and Compacted DAG-Based Blockchain Protocol","authors":"Shu Yang, Ziteng Chen, Laizhong Cui, Mingwei Xu, Zhongxing Ming, Ke Xu","doi":"10.1109/Blockchain.2019.00049","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00049","url":null,"abstract":"Blockchain is seen as a promising technology to provide reliable and secure services due to its decentralized characteristic. However, because of the limited throughput, current blockchain platforms can not meet the transaction demand in practical use. Though researchers proposed many new solutions, they suffered either decentralization or security issues. In this paper, using Directed Acyclic Graph (DAG) structure, we improve the linear structure of traditional blockchain protocol. In the new structure, blocks are organized in levels and width, which will generate into a compacted DAG structure (CoDAG). To make CoDAG more efficient and secure, we design algorithms and protocols to place the new-generated blocks appropriately. Compared with traditional blockchain protocols, CoDAG improves the security and transaction verification time, and enjoys the consistency and liveness properties of blockchain. Taking adversary parties into consideration, two possible attack strategies are presented in this paper, and we further prove that CoDAG is a secure and robust protocol to resist them. The experimental results show that CoDAG can achieve 394 transactions per second, which is 56 times of Bitcoin's throughput and 26 times of Ethereum's.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121379775","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Theoretical Model for Fork Analysis in the Bitcoin Network","authors":"Yahya Shahsavari, Kaiwen Zhang, C. Talhi","doi":"10.1109/Blockchain.2019.00038","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00038","url":null,"abstract":"Blockchain networks which employ Proof-of-Work in their consensus mechanism may face inconsistencies in the form of forks. These forks are usually resolved through the application of block selection rules (such as the Nakamoto consensus). In this paper, we investigate the cause and length of forks for the Bitcoin network. We develop theoretical formulas which model the Bitcoin consensus and network protocols, based on an Erdös-Rényi random graph construction of the overlay network of peers. Our theoretical model addresses the effect of key parameters on the fork occurrence probability, such as block propagation delay, network bandwidth, and block size. We also leverage this model to estimate the weight of fork branches. Our model is implemented using the network simulator OMNET++ and validated by historical Bitcoin data. We show that under current conditions, Bitcoin will not benefit from increasing the number of connections per node.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115824850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Lockless Transaction Isolation in Hyperledger Fabric","authors":"Hagar Meir, Artem Barger, Yacov Manevich, Y. Tock","doi":"10.1109/Blockchain.2019.00017","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00017","url":null,"abstract":"Hyperledger Fabric is a distributed operating system for permissioned blockchains hosted by the Linux Foundation. It is the first truly extensible blockchain system for running distributed applications at enterprise grade scale. To achieve this, Hyperledger Fabric introduces a novel execute-order-validate blockchain architecture, allowing parallelization of transaction execution and validation. However, this raises the need for transaction isolation. Today transaction isolation is attained by locking the entire state database during simulation of transactions and database updates. This lock is one of the major performance bottlenecks as observed by previous work. This work presents a new lock-free approach for providing transaction isolation. It harnesses the already existing versioning of key-value pairs in the database, used primarily for a read-write conflict detection during the validation phase, to create a version-based snapshot isolation. We further implement and evaluate our new approach. We show that our solution outperforms the current implementation by 8.1x and that it is comparable to the optimal solution where no isolation mechanism is applied.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"193 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124924537","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
H. Truong, Miguel Almeida, Ghassan O. Karame, Claudio Soriente
{"title":"Towards Secure and Decentralized Sharing of IoT Data","authors":"H. Truong, Miguel Almeida, Ghassan O. Karame, Claudio Soriente","doi":"10.1109/Blockchain.2019.00031","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00031","url":null,"abstract":"The Internet of Things (IoT) bears unprecedented security and scalability challenges due to the magnitude of data produced and exchanged by IoT devices and platforms. Some of those challenges are currently being addressed by coupling IoT applications with blockchains. However, current blockchain-backed IoT systems simply use the blockchain to store access control policies, thereby underutilizing the power of blockchain technology. In this paper, we propose a new framework named Sash that couples IoT platforms with blockchain that provides a number of advantages compared to state of the art. In Sash, the blockchain is used to store access control policies and take access control decisions. Therefore, both changes to policies and access requests are correctly enforced and publicly auditable. Further, we devise a \"data marketplace\" by leveraging the ability of blockchains to handle financial transaction and providing \"by design\" remuneration to data producers. Finally, we exploit a special flavor of identity-based encryption to cater for cryptography-enforced access control while minimizing the overhead to distribute decryption keys. We prototype Sash by using the FIWARE open source IoT platform and the Hyperledger Fabric framework as the blockchain back-end. We also evaluate the performance of our prototype and show that it incurs tolerable overhead in realistic deployment settings.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121840280","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Message from the Blockchain 2019 Program Chairs","authors":"Z. Cai, Sachiko Yoshihama","doi":"10.1109/blockchain.2019.00008","DOIUrl":"https://doi.org/10.1109/blockchain.2019.00008","url":null,"abstract":"As a promising technique to achieve decentralized consensus, blockchain has been successfully applied into digital currency, e.g., Bitcoin, for serving as a public ledger for transactions. Its secure design for supporting a distributed computing system with high fault tolerance is attracting wide attention all over the world. Blockchain has a great potential to create new foundations for our socio-economic systems by efficiently establishing trust among people and machines, reducing cost, and improving speed and efficiencies of transactions. On one hand, blockchain will play an important role for secure decentralization in such emerging fields as Internet of Things, Cyber Physical Systems, edge computing, social networking, crowdsourcing and next generation wireless communications, and even more other fields. On the other hand, its advance should be further evolved in terms of scalability, privacy, efficiency, flexibility, availability and high dependability.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"140 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122681808","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"IBFT Liveness Analysis","authors":"Roberto Saltini","doi":"10.1109/Blockchain.2019.00039","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00039","url":null,"abstract":"Istanbul Byzantine Fault Tolerance (IBFT) is one of a family of proof-of-authority (PoA) blockchain consensus protocols designed to ensure immediate finality. We partially analyse the correctness of IBFT and show that the protocol does not guarantee Byzantine-fault-tolerant liveness when operating on a partially synchronous network.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122151359","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Patrick Chapman, Dianxiang Xu, Lin Deng, Yin Xiong
{"title":"Deviant: A Mutation Testing Tool for Solidity Smart Contracts","authors":"Patrick Chapman, Dianxiang Xu, Lin Deng, Yin Xiong","doi":"10.1109/Blockchain.2019.00050","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00050","url":null,"abstract":"Solidity is a widely used scripting language for developing smart contracts in blockchain applications. Quality assurance of Solidity contracts is of critical importance because bugs can lead to considerable loss of assets. As software testing is a common practice for quality assurance, many Solidity projects have included built-in tests. It is unclear, however, what level of quality assurance these built-in tests can achieve. This paper presents Deviant, a mutation testing tool for Solidity smart contracts. It automatically generates mutants of a given Solidity project and runs all mutants against the given tests to evaluate their effectiveness. To simulate various faults in Solidity smart contracts, Deviant provides mutation operators for all the unique features of Solidity according to the Solidity fault taxonomy, in addition to the traditional programming constructs. We have used Deviant to evaluate the effectiveness of the tests for three Solidity projects. The results indicate that these tests have not yet achieved high mutation scores and that a test suite adequate for the statement and branch coverage criteria of Solidity smart contracts does not necessarily provide a high-level assurance of code quality. Such observations offer important guidelines for Solidity developers to implement more effective tests in order to deliver trustworthy code and reduce the risk of financial loss.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123355684","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"SSP: Self-Sovereign Privacy for Internet of Things Using Blockchain and MPC","authors":"T. Kim, Joshua Lampkins","doi":"10.1109/Blockchain.2019.00063","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00063","url":null,"abstract":"With the proliferation of the Internet of Things (IoTs), their devices have been collecting our personal data to enhance our life styles and their purposes. Care must be taken when handling such sensitive data to protect the data owners' privacy while guaranteeing the integrity when the data is accessed by a third party. Furthermore, data should be available without much delay to support medical emergencies. Unfortunately, IoT devices may be limited with storage and computational resources to operate highly secure operations and respond to data requests. In this paper, we propose SSP, a novel mechanism that protects the privacy and integrity of the data collected by IoT devices without having a single point of failure, while minimizing the cryptographic operations that must be performed on IoT devices. SSP utilizes the blockchain data structure for availability and integrity, and Multi-Party-Computations (MPC) for privacy protection. We implemented SSP in C/C++ and according to our evaluation results, SSP is efficient in computation, communication, and storage operations on IoT devices.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131408134","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Remote Configuration of Integrated Circuit Features and Firmware Management via Smart Contract","authors":"Md. Nazmul Islam, S. Kundu","doi":"10.1109/Blockchain.2019.00051","DOIUrl":"https://doi.org/10.1109/Blockchain.2019.00051","url":null,"abstract":"The cost to develop a new integrated circuit (IC), its fabrication, debug and volume production has been escalating with scaling of transistor feature size. According to an IBS report, the cost of developing a System on Chip (SoC) at 14nm may be as high as $300 million [1]. The economics of semiconductor IC development favors high volume production, while high volume cannot be attained without developing an IC that serves a large number of applications. Some of these applications are in low margin Internet of Things (IoT) devices, where an SoC cannot command a high price. Consequently, without the ability to customize IC features after production, the price of an IC will be determined by its lowest priced application. This motivates the manufacturers to develop capabilities for post-production IC customization. The commodity microprocessor business offers an example of post-production customization, where a manufacturer can tailor cache size, number of cores and frequency of operation for a target market segment after a chip has been manufactured. Today, such customization is limited to one-time programming (OTP) for predetermined IC bins. In this paper, we explore how an IC can be programmed repeatedly and securely using a blockchain-based smart contract. This will enable users to upgrade IC features, or rent upgraded IC features for a fixed period after it has been purchased. The availability of such a system could, for example, allow a buyer to upgrade her processor from i3 to i5 after it has been purchased to scale to her computing needs in exchange of a payment made to the manufacturer. IC feature configuration is implemented by firmware updates from the manufacturer. The smart contract takes the feature configuration request from the IC as input and outputs the source of corresponding firmware. To support remote and authorized update by manufacturer, we propose an on-die hardware module that communicates with the smart contract and enforces its functionalities. Availability of this module also facilitates secure firmware update. The blockchain makes the update protocol secure and prevents users from obtaining unauthorized update.","PeriodicalId":221068,"journal":{"name":"2019 IEEE International Conference on Blockchain (Blockchain)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125301449","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}