Research Pulse Issue #6 03/26/21

  1. Uniswap v3 Core
    Authors: Hayden Adams, Noah Zinsmeister, Moody Salem, River Keefer, and Dan Robinson

Uniswap v3 is a noncustodial automated market maker implemented for the Ethereum Virtual Machine. In comparison to earlier versions of the protocol, Uniswap v3 provides increased capital efficiency and fine-tuned control to liquidity providers, improves the accuracy and convenience of the price oracle, and has a more flexible fee structure.


  1. ESCORT: Ethereum Smart COntRacTs Vulnerability Detection using Deep Neural Network and Transfer Learning
    Authors: Oliver Lutz, Huili Chen, Hossein Fereidooni, Christoph Sendner, Alexandra Dmitrienko, Ahmad Reza Sadeghi, and Farinaz Koushanfar

Ethereum smart contracts are automated decentralized applications on the blockchain that describe the terms of the agreement between buyers and sellers, reducing the need for trusted intermediaries and arbitration. However, the deployment of smart contracts introduces new attack vectors into the cryptocurrency systems. In particular, programming flaws in smart contracts can be and have already been exploited to gain enormous financial profits. It is thus an emerging yet crucial issue to detect vulnerabilities of different classes (e.g., reentrancy or multiple send bugs) in contracts in an effective and efficient manner. Existing machine learning-based vulnerability detection methods are limited and only inspect whether the smart contract is vulnerable, or train individual classifiers for each specific vulnerability, or demonstrate multi-class vulnerability detection without extensibility consideration. To overcome the scalability and generalization limitations of existing works, we propose ESCORT, the first Deep Neural Network (DNN)-based vulnerability detection framework for Ethereum smart contracts that supports lightweight transfer learning on unseen security vulnerabilities, thus is extensible and generalizable. ESCORT leverages a multi-output neural network architecture that consists of two parts: (i) A common feature extractor that learns the semantics of the input smart contract; (ii) Multiple branch structures where each branch learns a specific vulnerability type based on features obtained from the feature extractor. We perform a comprehensive evaluation of ESCORT on various smart contracts. Experimental results show that ESCORT achieves an average F1 score of 95% on six vulnerability types and the detection time is 0.02 seconds per contract. When extended to new vulnerability types, ESCORT yields an average F1 score of 93%. To the best of our knowledge, ESCORT is the first framework that enables transfer learning on new vulnerability types with minimal modification of the DNN model architecture and re-training overhead.


  1. Veksel: Simple, efficient, anonymous payments with large anonymity sets from well-studied assumptions
    Authors: Matteo Campanelli and Mathias Hall-Andersen

We propose Veksel, a simple generic paradigm for constructing efficient non-interactive coin mixes. The central component in our work is a concretely efficient proof π1-many that a homomorphic commitment c ∗ is a rerandomization of a commitment c ∈ {c1, . . . , c`} without revealing c. We formalize anonymous account-based cryptocurrency as a universal composability functionality and show how to efficiently instantiate the functionality using π1-many in a straightforward way (Veksel). We instantiate and implement π1-many from Strong-RSA, DDH and random oracles targeting ≈ 112 bits of security. The resulting NIZK has constant size (|π1-many| = 5.3KB) and constant proving/verification time (≈ 90ms), on an already accumulated set. Compared to Zerocash [5]—which offers comparable marginal verification cost and an anonymity set of every existing transaction—our transaction are larger (6.2 KB) and verification is slower. On the other hand, Veksel relies on more well-studied assumptions, does not require an expensive trusted setup for proofs and is arguably simpler (from an implementation standpoint). Additionally we think that π1-many might be interesting in other applications, e.g. proving possession of some credential posted on-chain. The efficiency of our concrete NIZK relies on a new Ristretto-friendly elliptic curve, Jabberwock, that is of independent interest: it can be used to efficiently prove statements on “committments on commitments” in Bulletproofs.


  1. Non-interactive half-aggregation of EdDSA and variants of Schnorr signatures
    Authors: Konstantinos Chalkias, François Garillot, Yashvanth Kondi, and Valeria Nikolaenko

Schnorr’s signature scheme provides an elegant method to derive signatures with security rooted in the hardness of the discrete logarithm problem, which is a well-studied assumption and conducive to efficient cryptography. However, unlike pairing-based schemes which allow arbitrarily many signatures to be aggregated to a single constant sized signature, achieving significant non-interactive compression for Schnorr signatures and their variants has remained elusive. This work shows how to compress a set of independent EdDSA/Schnorr signatures to roughly half their naive size. Our technique does not employ generic succinct proofs; it is agnostic to both the hash function as well as the specific representation of the group used to instantiate the signature scheme. We demonstrate via an implementation that our aggregation scheme is indeed practical. Additionally, we give strong evidence that achieving better compression would imply proving statements specific to the hash function in Schnorr’s scheme, which would entail significant effort for standardized schemes such as SHA2 in EdDSA. Among the others, our solution has direct applications to compressing Ed25519-based blockchain blocks because transactions are independent and normally users do not interact with each other.


  1. Topology Generated Non-Fungible Tokens
    Authors: Theodoros Dounas, Wassim Jabi, and Davide Lombardi

The paper presents a new digital infrastructure layer for buildings and architectural assets. The infrastructure layer consists of a combination of topology graphs secured on a decentralised ledger. The topology graphs organise non-fungible digital tokens which each represent and correspond to building components, and in the root of the graph to the building itself.The paper presents background research in the relationship of building representation in the form of graphs with topology, of both manifold and non manifold nature. In parallel we present and analyse the relationship between digital representation and physical manifestation of a building, and back again. Within the digital representations the paper analyses the securing and saving of information on decentralised ledger technologies (such as blockchain). We then present a simple sample of generating and registering a non-manifold topology graph on the Ethereum blockchain as an EC721 token, i.e. a digital object that is unique, all through the use of dynamo and python scripting connected with a smart contract on the Ethereum blockchain. Ownership of this token can then be transferred on the blockchain smart contracts. The paper concludes with a discussion of the possibilities that this integration brings in terms of material passports and a circular economy and smart contracts as an infrastructure for whole-lifecycle BIM and digitally encapsulates of value in architectural designPlease write your abstract here by clicking this paragraph.


  1. A Novel Framework for the Analysis of Unknown Transactions in Bitcoin: Theory, Model, and Experimental Results
    Authors: Maurantonio Caprolu, Matteo Pontecorvi, Matteo Signorini, Carlos Segarra, and Roberto Di Pietro

Bitcoin (BTC) is probably the most transparent payment network in the world, thanks to the full history of transactions available to the public. Though, Bitcoin is not a fully anonymous environment, rather a pseudonymous one, accounting for a number of attempts to beat its pseudonimity using clustering techniques. There is, however, a recurring assumption in all the cited deanonymization techniques: that each transaction output has an address attached to it. That assumption is false. An evidence is that, as of block height 591,872, there are several millions transactions with at least one output for which the Bitcoin Core client cannot infer an address. In this paper, we present a novel approach based on sound graph theory for identifying transaction inputs and outputs. Our solution implements two simple yet innovative features: it does not rely on BTC addresses and explores all the transactions stored in the blockchain. All the other existing solutions fail with respect to one or both of the cited features. In detail, we first introduce the concept of Unknown Transaction and provide a new framework to parse the Bitcoin blockchain by taking them into account. Then, we introduce a theoretical model to detect, study, and classify—for the first time in the literature— unknown transaction patterns in the user network. Further, in an extensive experimental campaign, we apply our model to the Bitcoin network to uncover hidden transaction patterns within the Bitcoin user network. Results are striking: we discovered more than 30, 000 unknown transaction DAGs, with a few of them exhibiting a complex yet ordered topology and potentially connected to automated payment services. To the best of our knowledge, the proposed framework is the only one that enables a complete study of the unknown transaction patterns, hence enabling further research in the fields—for which we provide some directions.


  1. Blockchain Networks: Data Structures of Bitcoin, Monero, Zcash, Ethereum, Ripple and Iota
    Authors: Cuneyt Gurcan Akcora, Yulia R. Gel, and Murat Kantarcioglu

Blockchain is an emerging technology that has already enabled a wide range of applications, from cryptocurrencies to digital asset management to supply chains. Due to this surge of popularity, analyzing the data stored on blockchains transpires as a new critical challenge in data science. To assist data scientists in various analytic tasks on a blockchain, we provide a systematic and comprehensive overview of the fundamental elements of blockchain network models. We discuss how blockchain data can be abstracted as various types of networks, and how such associated network abstractions can be further used to reap important insights into the structure, organization, and functionality of blockchains.


  1. A Decision Model for Choosing Patterns in Blockchain-Based Applications
    Authors: Xiwei Xu, H.M.N. Dilum Bandara, Qinghua Lu, Ingo Weber, Len Bass, and Liming Zhu

Blockchains have been applied in different domains to guarantee data integrity and provide a decentralized computational infrastructure for executing smart contracts. Multiple blockchain-related patterns have been summarized by academics and industry practitioners covering different aspects, such as engineering applications on top of a blockchain, structuring smart contracts, and security. The existence of these patterns is both helpful and challenging for designers. Helpful, as the existence of these patterns means that developers do not need to recreate solutions to common problems. Challenging, as the multitude of patterns leaves a designer confused about when to adopt or adapt patterns. In this paper, we propose a decision model that assists developers and architects in selecting appropriate patterns for blockchain-based applications. The selection is based on the characteristics of the use cases and trade-offs implicit in the patterns. We evaluated the proposed decision model based on expert opinion regarding its correctness and usefulness in guiding the architecture design and understanding the rationale of various design decisions.


  1. HashWires: Hyperefficient Credential-Based Range Proofs
    Authors: Konstantinos Chalkias, Shir Cohen, Kevin Lewi, Fredric Moezinia, and Yolan Romailler

This paper presents HashWires, a hash-based range proof protocol that is applicable in settings for which there is a trusted third party (typically a credential issuer) that can generate commitments. We refer to these as “credential-based” range proofs (CBRPs). HashWires improves upon hashchain solutions that are typically restricted to micro-payments for small interval ranges, achieving an exponential speedup in proof generation and verification time. In terms of proof size and computational cost, we show that HashWires compares favorably against Bulletproofs for both 32- and 64-bit numeric values. Although CBRPs are inherently less flexible than general zero-knowledge range proofs, we provide a number of applications in which a credential issuer can leverage HashWires to provide range proofs for private values, without having to rely on heavyweight cryptographic tools and assumptions.


  1. EtherSolve: Computing an Accurate Control-Flow Graph from Ethereum Bytecode
    Authors: Filippo Contro, Marco Crosara, Mariano Ceccato, and Mila Dalla Preda

Motivated by the immutable nature of Ethereum smart contracts and of their transactions, quite many approaches have been proposed to detect defects and security problems before smart contracts become persistent in the blockchain and they are granted control on substantial financial value. Because smart contracts source code might not be available, static analysis approaches mostly face the challenge of analysing compiled Ethereum bytecode, that is available directly from the official blockchain. However, due to the intrinsic complexity of Ethereum bytecode (especially in jump resolution), static analysis encounters significant obstacles that reduce the accuracy of exiting automated tools. This paper presents a novel static analysis algorithm based on the symbolic execution of the Ethereum operand stack that allows us to resolve jumps in Ethereum bytecode and to construct an accurate control-flow graph (CFG) of the compiled smart contracts. EtherSolve is a prototype implementation of our approach. Experimental results on a significant set of real world Ethereum smart contracts show that EtherSolve improves the accuracy of the execrated CFGs with respect to the state of the art available approaches. Many static analysis techniques are based on the CFG representation of the code and would therefore benefit from the accurate extraction of the CFG. For example, we implemented a simple extension of EtherSolve that allows to detect instances of the re-entrancy vulnerability.


1 Like

Another busy Research Pulse week with tons of interesting publications.

Uniswap v3 Core is clearly the most important development of the week.

Conversations on this topic have centered around: licensing restrictions granting a level of protection against centralized vampire attacks (some have characterized Pancake Swap as such), improved liquidity management for LPs, and more “stickiness” of liquidity provision via LP NFTs.

Other than that, Veksel was also an interesting read. This is a new privacy framework for mixers that focuses on account-based chains, where mixers tend to be gas-heavy and inefficient in hiding the tx graph.

Blockchain Networks: Data Structures of Bitcoin, Monero, Zcash, Ethereum, Ripple and Iota” is also an important paper. It attempts to formalize blockchain data structures, which enables engineers to better reason about their trade-offs.


@Vishesh did a really great breakdown of the Uniswap v3 White Paper:

Whitepaper: Uniswap v3 Core - Mechanism Design and Game Theory - Smart Contract Research Forum