In the past few years, cryptocurrencies and blockchain applications has been one of the most rapidly emerging fields of computer science, leading to a strong demand of software applications. Several new projects have been emerging almost daily, with an impetus that was not seen since the days of the dawn of the Internet. However, the need of being timely on the market and the lack of experience in a brand new field led to epic disasters, such as those of DAO in 2016 and of Parity Ethereum wallet in 2017. Also, there have been several hacks successfully performed on cryptocurrency exchanges, the biggest being those of MtGox in 2014 (350 million US$), Bitfinex in 2016 (72 million US$), and Coincheck in 2017 (400 million US$). The application of sound SE practices to Blockchain software development, both for Smart Contract and generic Blockchain software, might be crucial to the success of this new field. Here the issues are the need for specific analysis and design methods, quality control through testing and metrics, security assessment and overall development process. At the same time, Blockchain development offers new opportunities, such as the certification of empirical data used for experiment; the ability to design processes where developers are paid upon completion of their tasks through Blockchain tokens, after acceptance tests performed using Smart Contracts; and more sound techniques enabling pay-per-use software, again using tokens.
Santiago Bragagnolo, Henrique Rocha, Marcus Denker, Sté́phane Ducasse
Solidity is a language used for smart contracts on the Ethereum blockchain. Smart contracts are embedded procedures stored with the data they act upon. Debugging smart contracts is a really difficult task since once deployed, the code cannot be reexecuted and inspecting a simple attribute is not easily possible because data is encoded. In this paper, we address the lack of inspectability of a deployed contract by analyzing contract state using decompilation techniques driven by the contract structure definition. Our solution, SmartInspect, also uses a mirror-based architecture to represent locally object responsible for the interpretation of the contract state. SmartInspect allows contract developers to better visualize and understand the contract stored state without needing to redeploy, nor develop any ad-hoc code.
Smart contracts that build up on blockchain technologies are receiving great attention in new business applications and the scientific community, because they allow untrusted parties to manifest contract terms in program code and thus eliminate the need for a trusted third party. The creation process of writing well performing and secure contracts in Ethereum, which is today's most prominent smart contract platform, is a difficult task. Research on this topic has only recently started in industry and science. Based on an analysis of collected data with Grounded Theory techniques, we have elaborated several common security patterns, which we describe in detail on the basis of Solidity, the dominating programming language for Ethereum. The presented patterns describe solutions to typical security issues and can be applied by Solidity developers to mitigate typical attack scenarios.
Giuseppe Destefanis, Michele Marchesi, Marco Ortu, Roberto Tonelli · 6 authors
Smart Contracts have gained tremendous popularity in the past few years, to the point that billions of US Dollars are currently exchanged every day through such technology. However, since the release of the Frontier network of Ethereum in 2015, there have been many cases in which the execution of Smart Contracts managing Ether coins has led to problems or conflicts. Compared to traditional Software Engineering, a discipline of Smart Contract and Blockchain programming, with standardized best practices that can help solve the mentioned problems and conflicts, is not yet sufficiently developed. Furthermore, Smart Contracts rely on a non-standard software life-cycle, according to which, for instance, delivered applications can hardly be updated or bugs resolved by releasing a new version of the software. In this paper we advocate the need for a discipline of Blockchain Software Engineering, addressing the issues posed by smart contract programming and other applications running on blockchains.We analyse a case of study where a bug discovered in a Smart Contract library, and perhaps "unsafe" programming, allowed an attack on Parity, a wallet application, causing the freezing of about 500K Ethers (about 150M USD, in November 2017). In this study we analyze the source code of Parity and the library, and discuss how recognised best practices could mitigate, if adopted and adapted, such detrimental software misbehavior. We also reflect on the specificity of Smart Contract software development, which makes some of the existing approaches insufficient, and call for the definition of a specific Blockchain Software Engineering.
This thesis explains the working of a previously undocumented blockchain application developed for the energy sector. The application enables distributed market coordination for small-scale decentralized energy systems. An Ethereum smart contract is employed as a core component of the application, facilitating a marketplace for transacting electrical energy. A design science research methodology was applied to the application in an attempt to further develop it. The problem of high fees in the energy marketplace was identified, resulting from the smart contract's inefficient use of Ethereum gas. Two particular sources of inefficiency were identified, and solutions for fixing these inefficiencies were designed and implemented. Savings in transaction fees were created by replacing a function of the smart contract with off blockchain communication, and by editing the fund withdrawal mechanism of the smart contract so that it requires users to create fewer blockchain transactions. As a result, the smart contract's gas consumption was reduced by up to 11% in a certain use case. The reduction in gas consumption was not sufficient to make the deployment and use of the application economically feasible on the canonical public Ethereum blockchain. A Plasma child chain or a dedicated Ethereum blockchain were suggested as potentially more feasible deployment environments for the application. It was noted that the application relies on centralized components, and it is debatable whether its current blockchain-based implementation is justifiable.
In this article, the author discusses several developments in the virtual currency sector (Ethereum, smart contracts, initial coin offerings), investigates potential applications of blockchain technology and summarizes some of the recently issued opinions of tax and regulatory bodies on virtual currency.
This paper introduces the underlying mechanics and interface for PhoeniχCoin (PHX), an Ethereum ERC223-compliant cryptocurrency. The supply of PHX tokens is tied directly to the Ethereum balance of the smart contract underpinning the ‘EthPhoenix’ decentralised application, and mined using a novel, generalisable technique we refer to as proof-of-volatility.
Open access
Cryptographic Implementations and Security
Security and Verification in Computing
Physical Unclonable Functions (PUFs) and Hardware Security
Σκοπός της παρούσας διπλωματικής εργασίας είναι η εξέταση της τεχνολογίας που κρύβεται πίσω από τα κρυπτονομίσματα. Η τεχνολογία αυτή είναι το Blockchain και συγκεκριμένα το Blockchain Ethereum, το οποίο είναι μια δημόσια αποκεντρωμένη και κατανεμημένη πλατφόρμα που επιτρέπει σε οποιονδήποτε να δημιουργεί και να χρησιμοποιεί αποκεντρωμένες εφαρμογές που λειτουργούν με αυτή την τεχνολογία. Η καινοτομία της τεχνολογίας Blockchain δίνει λύση στο ζήτημα που αφορά την συγχρονισμένη καταγραφή δεδομένων σε ένα κατανεμημένο δίκτυο από ανεξάρτητους και άγνωστους μεταξύ τους κόμβους (υπολογιστές), συμφωνώντας ότι τα δεδομένα που αποθηκεύονται κάθε φορά είναι ακριβώς τα ίδια. Όλοι οι υπολογιστές που συμμετέχουν σε ένα δίκτυο Blockchain έχουν ακριβώς τα ίδια δεδομένα χωρίς να μπορούν να τα αλλάξουν ή να τα παραμετροποιήσουν, ενώ η ασφάλεια αυτών των δεδομένων επιτυγχάνεται μέσω της κρυπτογραφίας. \nΧρησιμοποιώντας λοιπόν την τεχνολογία Ethereum Blockchain, επιχειρήθηκε η δημιουργία μιας αποκεντρωμένης κατανεμημένης εφαρμογής σε συνεργασία με την εταιρία Intelen Inc. Συγκεκριμένα, έγινε χρήση της τεχνολογίας Blockchain για να επιτευχθεί επικοινωνία μεταξύ έξυπνων οικιακών μπαταριών χωρίς να απαιτείται η παρέμβαση οποιασδήποτε κεντρικής αρχής. Με άλλα λόγια δημιουργήθηκε σχετική εφαρμογή όπου οι έξυπνες μπαταρίες είναι σε θέση να χρησιμοποιήσουν το προσωπικό τους ηλεκτρονικό πορτοφόλι για να ανταλλάζουν κρυπτονομίσματα και πληροφορίες χωρίς την παρέμβαση από τρίτα άτομα.
Online portals include an increasing amount of user feedback in form of ratings and reviews. Recent research highlighted the importance of this feedback and confirmed that positive feedback improves product sales figures and thus its success. However, online portals' operators act as central authorities throughout the overall review process. In the worst case, operators can exclude users from submitting reviews, modify existing reviews, and introduce fake reviews by fictional consumers. This paper presents ReviewChain, a decentralized review approach. Our approach avoids central authorities by using blockchain technologies, decentralized apps and storage. Thereby, we enable users to submit and retrieve untampered reviews. We highlight the implementation challenges encountered when realizing our approach on the public Ethereum blockchain. For each implementation challange, we discuss possible design alternatives and their trade-offs regarding costs, security, and trustworthiness. Finally, we analyze which design decision should be chosen to support specific trade-offs and present resulting combinations of decentralized blockchain technologies, also with conventional centralized technologies.
Initial Coin Offerings (ICO) are public offers of new cryptocurrencies in exchange of existing ones, aimed to finance projects in the blockchain development arena. In the last 8 months of 2017, the total amount gathered by ICOs exceeded 4 billion US$, and overcame the venture capital funnelled toward high tech initiatives in the same period. A high percentage of ICOS is managed through Smart Contracts running on Ethereum blockchain, and in particular to ERC-20 Token Standard Contract. In this work we examine 1388 ICOs, published on December 31, 2017 on icobench.com Web site, gathering information relevant to the assessment of their quality and software development management, including data on their development teams. We also study, at the same date, the financial data of 450 ICO tokens available on coinmarketcap.com Web site, among which 355 tokens are managed on Ethereum blochain. We define success criteria for the ICOs, based on the funds actually gathered, and on the behavior of the price of the related tokens, finding the factors that most likely influence the ICO success likeliness.
Initial Coin Offerings (ICO) are public offers of new cryptocurrencies in\nexchange of existing ones, aimed to finance projects in the blockchain\ndevelopment arena. In the last 8 months of 2017, the total amount gathered by\nICOs exceeded 4 billion US$, and overcame the venture capital funnelled toward\nhigh tech initiatives in the same period. A high percentage of ICOS is managed\nthrough Smart Contracts running on Ethereum blockchain, and in particular to\nERC-20 Token Standard Contract. In this work we examine 1388 ICOs, published on\nDecember 31, 2017 on icobench.com Web site, gathering information relevant to\nthe assessment of their quality and software development management, including\ndata on their development teams. We also study, at the same date, the financial\ndata of 450 ICO tokens available on coinmarketcap.com Web site, among which 355\ntokens are managed on Ethereum blochain. We define success criteria for the\nICOs, based on the funds actually gathered, and on the behavior of the price of\nthe related tokens, finding the factors that most likely influence the ICO\nsuccess likeliness.\n
We design and implement the first private and anonymous decentralized crowdsourcing system ZebraLancer, and overcome two fundamental challenges of decentralizing crowdsourcing, i.e., data leakage and identity breach. First, our outsource-then-prove methodology resolves the tension between the blockchain transparency and the data confidentiality to guarantee the basic utilities/fairness requirements of data crowdsourcing, thus ensuring: (i) a requester will not pay more than what data deserve, according to a policy announced when her task is published via the blockchain; (ii) each worker indeed gets a payment based on the policy, if he submits data to the blockchain; (iii) the above properties are realized not only without a central arbiter, but also without leaking the data to the open blockchain. Second, the transparency of blockchain allows one to infer private information about workers and requesters through their participation history. Simply enabling anonymity is seemingly attempting but will allow malicious workers to submit multiple times to reap rewards. ZebraLancer also overcomes this problem by allowing anonymous requests/submissions without sacrificing accountability. The idea behind is a subtle linkability: if a worker submits twice to a task, anyone can link the submissions, or else he stays anonymous and unlinkable across tasks. To realize this delicate linkability, we put forward a novel cryptographic concept, i.e., the common-prefix-linkable anonymous authentication. We remark the new anonymous authentication scheme might be of independent interest. Finally, we implement our protocol for a common image annotation task and deploy it in a test net of Ethereum. The experiment results show the applicability of our protocol atop the existing real-world blockchain.
Blockchains like Bitcoin and Ethereum have seen significant adoption in the past few years and show promise to design applications without any centralized reliance on third parties. In this paper, we present Endolith, an auditing framework for verifying file integrity and tracking file history without third party reliance using a smart contract-based blockchain. Annotated files are continuously monitored and metadata about changes including file hashes are stored tamper-proof on the blockchain. Based on this, Endolith can prove that a file stored a long time ago has not been changed without authorization or, if it did, track when it has changed, by whom. Endolith implementation is based on Ethereum and Hadoop Distributed File System (HDFS). Our evaluation on a public blockchain network shows that Endolith is efficient for files that are infrequently modified but often accessed, which are common characteristics of data archives.
Leopoldo Catania, Stefano Grassi, Francesco Ravazzolo
This paper studies the predictability of cryptocurrencies time series. We compare several alternative univariate and multivariate models in point and density forecasting of four of the most capitalized series: Bitcoin, Litecoin, Ripple and Ethereum. We apply a set of crypto–predictors and rely on Dynamic Model Averaging to combine a large set of univariate Dynamic Linear Models and several multivariate Vector Autoregressive models with different forms of time variation. We find statistical significant improvements in point forecasting when using combinations of univariate models and in density forecasting when relying on selection of multivariate models.
Mareena Fernandes, Saloni Khanna, Leandra Monteiro, Anu Thomas · 5 authors
Advancement in technological developments introduced virtual currency exchange methods viz Bitcoin, Litecoin, Ethereum and so on which are evolving rapidly. Cryptocurrencies were introduced to eliminate financial intermediaries leading to direct peer-to-peer transactions. With the spread of the global Coronavirus pandemic, the relationship between Bitcoin and the equity market has expanded. Cryptocurrencies are highly volatile but can also prove to be good investments. Cryptocurrency, being a novel technique for transaction systems, has led to a lot of confusion among investors and any rumours or news on social media has been claimed to significantly affect the prices of cryptocurrencies. The huge percentage increase/decrease in Bitcoin's price over a short period of time is an intriguing phenomenon that cannot be foreseen. For a long time, bitcoin price prediction has been a hot topic of study.In this paper, we discuss the implementation and results of the Deep Learning Bitcoin Price Prediction Model and prepare a strategy to maximize gains for investors. The paper covers to framework with a set of deep learning models, analysis methods with a fixed set of factors to predict daily Bitcoin prices and design-integration of price prediction of different cryptocurrencies using RNN (Recurrent Neural Network), LSTM (Long Short-Term Memory) and GRU (Gated recurrent units). The idea of incorporating Public Sentiment in the prediction of the hikes and falls of the Bitcoin market from Social Media platforms like Reddit and Twitter leading to meaningful predicted results. This prediction can bring confidence to the common man to invest with lesser risk and more profit. Also, this can enable the digital new-age currency to become a primary method of transaction.
Emre Yavuz, Ali Kaan Koc, Umut Can Çabuk, Gökhan Dalkılıç
There is no doubt that the revolutionary concept of the blockchain, which is the underlying technology behind the famous cryptocurrency Bitcoin and its successors, is triggering the start of a new era in the Internet and the online services. While most people focus only at cryptocurrencies; in fact, many administrative operations, fintech procedures, and everyday services that can only be done offline and/or in person, can now safely be moved to the Internet as online services. What makes it a powerful tool for digitalizing everyday services is the introduction of smart contracts, as in the Ethereum platform. Smart contracts are meaningful pieces of codes, to be integrated in the blockchain and executed as scheduled in every step of blockchain updates. E-voting on the other hand, is another trending, yet critical, topic related to the online services. The blockchain with the smart contracts, emerges as a good candidate to use in developments of safer, cheaper, more secure, more transparent, and easier-to-use e-voting systems. Ethereum and its network is one of the most suitable ones, due to its consistency, widespread use, and provision of smart contracts logic. An e-voting system must be secure, as it should not allow duplicated votes and be fully transparent, while protecting the privacy of the attendees. In this work, we have implemented and tested a sample e-voting application as a smart contract for the Ethereum network using the Ethereum wallets and the Solidity language. Android platform is also considered to allow voting for people who do not have an Ethereum wallet. After an election is held, eventually, the Ethereum blockchain will hold the records of ballots and votes. Users can submit their votes via an Android device or directly from their Ethereum wallets, and these transaction requests are handled with the consensus of every single Ethereum node. This consensus creates a transparent environment for e-voting. In addition to a broad discussion about reliability and efficiency of the blockchain-based e-voting systems, our application and its test results are presented in this paper, too.
The blockchain technology is a relatively new approach in the field of information technologies. As one of its first implementations, bitcoin as a cryptocurrency has gained a lot of attention. Together with Ethereum, blockchain implementation with focus on smart contracts, they represent the very core of modern cryptocurrency development. This paper is meant to give a brief introduction to these topics.
2 source records
Blockchain Technology Applications and Security
FinTech, Crowdfunding, Digital Finance
Advanced Steganography and Watermarking Techniques
Using blockchain technology, it is possible to create contracts that offer a reward in exchange for a trained machine learning model for a particular data set. This would allow users to train machine learning models for a reward in a trustless manner. The smart contract will use the blockchain to automatically validate the solution, so there would be no debate about whether the solution was correct or not. Users who submit the solutions won't have counterparty risk that they won't get paid for their work. Contracts can be created easily by anyone with a dataset, even programmatically by software agents. This creates a market where parties who are good at solving machine learning problems can directly monetize their skillset, and where any organization or software agent that has a problem to solve with AI can solicit solutions from all over the world. This will incentivize the creation of better machine learning models, and make AI more accessible to companies and software agents.
Blockchain-based distributed computing platforms enable the trusted execution\nof computation - defined in the form of smart contracts - without trusted\nagents. Smart contracts are envisioned to have a variety of applications,\nranging from financial to IoT asset tracking. Unfortunately, the development of\nsmart contracts has proven to be extremely error prone. In practice, contracts\nare riddled with security vulnerabilities comprising a critical issue since\nbugs are by design non-fixable and contracts may handle financial assets of\nsignificant value. To facilitate the development of secure smart contracts, we\nhave created the FSolidM framework, which allows developers to define contracts\nas finite state machines (FSMs) with rigorous and clear semantics. FSolidM\nprovides an easy-to-use graphical editor for specifying FSMs, a code generator\nfor creating Ethereum smart contracts, and a set of plugins that developers may\nadd to their FSMs to enhance security and functionality.\n
Reasoning about commutativity between data-structure operations is an important problem with applications including parallelizing compilers, optimistic parallelization and, more recently, Ethereum smart contracts. There have been research results on automatic generation of commutativity conditions, yet we are unaware of any fully automated technique to generate conditions that are both sound and effective. We have designed such a technique, driven by an algorithm that iteratively refines a conservative approximation of the commutativity (and non-commutativity) condition for a pair of methods into an increasingly precise version. The algorithm terminates if/when the entire state space has been considered, and can be aborted at any time to obtain a partial yet sound commutativity condition. We have generalized our work to left-/right-movers and proved relative completeness. We describe aspects of our technique that lead to useful commutativity conditions, including how predicates are selected during refinement and heuristics that impact the output shape of the condition. We have implemented our technique in a prototype open-source tool Servois. Our algorithm produces quantifier-free queries that are dispatched to a back-end SMT solver. We evaluate Servois through two case studies: (i) We synthesize commutativity conditions for a range of data structures including Set, HashTable, Accumulator, Counter, and Stack. (ii) We consider an Ethereum smart contract called BlockKing, and show that Servois can detect serious concurrency-related vulnerabilities and guide developers to construct robust and efficient implementations.
Since 2004, different research was handling the challenges in the centralized voting systems, e-voting protocols and recently the decentralized voting. So electronic voting puts forward some difficulties regarding the voter anonymity, the secure casting of the votes and to prevent the voting process from frauding. The Decentralized property of the technology called "blockchain" could have the solution for many of the challenges in voting research area and brings a new secure mechanism of safe and transparent voting. In this paper, a broad comparison between ongoing voting systems has studied by analyzing their structure and the drawbacks that should consider in future to improve the whole election process from keeping the privacy of the voter, casting a vote with the possibility to check if it was counted correctly to publishing the results. The result of the paper will give a new approach to extend the target of the election from small scale to large scale despite the fact of Ethereum limitation which can cast on the blockchain just five votes per minute. The primary challenge is to find an answer for this question: "How to balance between voter privacy and transparency without breaking the important rule where the voter can proof for a specific candidate that he voted for him in a bribe situation?".
Alberto Sonnino, Mustafa Al-Bassam, Shehar Bano, Sarah Meiklejohn · 5 authors
Coconut is a novel selective disclosure credential scheme supporting distributed threshold issuance, public and private attributes, re-randomization, and multiple unlinkable selective attribute revelations. Coconut integrates with blockchains to ensure confidentiality, authenticity and availability even when a subset of credential issuing authorities are malicious or offline. We implement and evaluate a generic Coconut smart contract library for Chainspace and Ethereum; and present three applications related to anonymous payments, electronic petitions, and distribution of proxies for censorship resistance. Coconut uses short and computationally efficient credentials, and our evaluation shows that most Coconut cryptographic primitives take just a few milliseconds on average, with verification taking the longest time (10 milliseconds).