The full-replication data storage mechanism, as commonly utilized in existing blockchains, suffers from poor scalability, since it requires every node to preserve a complete copy of the whole block data locally to tolerant potential Byzantine failures. In a hostile environment, the malicious node may discard or tamper data deliberately. Thus, existing distributed storage method, which partitions data into multiple parts and distributes them over all nodes, cannot suit for blockchains. This demonstration showcases BFT-Store, a novel distributed storage engine for blockchains to break full-replication by integrating erasure coding with Byzantine Fault Tolerance (BFT) consensus protocol. This demonstration will (\romannumeral1) allow audience members to see how BFT-Store partitions block data over all nodes to reduce the storage occupation of system, and (\romannumeral2) allow audience members to see how BFT-Store recovers blocks under distributed scenario even with Byzantine failure.
Yield farming has been an immensely popular activity for cryptocurrency holders since the explosion of Decentralized Finance (DeFi) in the summer of 2020. In this Systematization of Knowledge (SoK), we study a general framework for yield farming strategies with empirical analysis. First, we summarize the fundamentals of yield farming by focusing on the protocols and tokens used by aggregators. We then examine the sources of yield and translate those into three example yield farming strategies, followed by the simulations of yield farming performance, based on these strategies. We further compare four major yield aggregrators -- Idle, Pickle, Harvest and Yearn -- in the ecosystem, along with brief introductions of others. We systematize their strategies and revenue models, and conduct an empirical analysis with on-chain data from example vaults, to find a plausible connection between data anomalies and historical events. Finally, we discuss the benefits and risks of yield aggregators.
Alex Shamis, Peter Pietzuch, Miguel Castro, Edward Ashton · 12 authors
Permissioned ledger systems execute transactions on a set of replicas governed by members of a consortium. They use Byzantine fault tolerance protocols to distribute trust among the replicas, and thus can ensure linearizability if fewer than 1/3 of the replicas misbehave. With more misbehaving replicas, current systems provide no guarantees, and all replicas and members share the blame.
We describe PAC, a permissioned ledger system that \emph{assigns blame to misbehaving replicas} while supporting \emph{governance transactions} to change the consortium membership and the set of replicas. PAC signs and stores protocol messages in the ledger and provides clients with signed, universally-verifiable \emph{receipts} as evidence that a transaction executed at a certain ledger position. If clients obtain a sequence of receipts that violate linearizability, anyone can \emph{audit} the ledger and the sequence of receipts to assign blame to at least 1/3 of the replicas, even if all replicas and members misbehave. Auditing assigns blame by finding contradictory statements signed by the same replica. Since the set of replicas changes, PAC determines the valid signing keys at any point in the ledger using a shorter sub-ledger of governance transactions. PAC provides a strong disincentive to misbehavior at low cost: it can execute more than 48,000~transactions per second, and clients receive receipts in two network round trips.
Smart contract is one of the core features of Ethereum and has inspired many blockchain descendants. Since its advent, the verification paradigm of smart contract has been improving toward high scalability. It shifts from the expensive on-chain verification to the orchestration of off-chain VM (virtual machine) execution and on-chain arbitration with the pinpoint protocol. The representative projects are TrueBit, Arbitrum, YODA, ACE, and Optimism. Inspired by visionaries in academia and industry, we consider the DNN computation to be promising but on the next level of complexity for the verification paradigm of smart contract. Unfortunately, even for the state-of-the-art verification paradigm, off-chain VM execution of DNN computation has an orders-of-magnitude slowdown compared to the native off-chain execution. To enable the native off-chain execution of verifiable DNN computation, we present Agatha system, which solves the significant challenges of misalignment and inconsistency: (1) Native DNN computation has a graph-based computation paradigm misaligned with previous VM-based execution and arbitration; (2) Native DNN computation may be inconsistent cross platforms which invalidates the verification paradigm. In response, we propose the graph-based pinpoint protocol (GPP) which enables the pinpoint protocol on computational graphs, and bridges the native off-chain execution and the contract arbitration. We also develop a technique named Cross-evaluator Consistent Execution (XCE), which guarantees cross-platform consistency and forms the correctness foundation of GPP. We showcase Agatha for the DNN computation of popular models (MobileNet, ResNet50 and VGG16) on Ethereum. Agatha achieves a negligible on-chain overhead, and an off-chain execution overhead of 3.0%, which represents an off-chain latency reduction of at least 602x compared to the state-of-the-art verification paradigm.
Hazay, Carmit, Venkitasubramaniam, Muthuramakrishnan, Weiss, Mor
Leakage-resilient cryptography aims to protect cryptographic primitives from so-called "side channel attacks" that exploit their physical implementation to learn their input or secret state. Starting from the works of Ishai, Sahai and Wagner (CRYPTO`03) and Micali and Reyzin (TCC`04), most works on leakage-resilient cryptography either focus on protecting general computations, such as circuits or multiparty computation protocols, or on specific non-interactive primitives such as storage, encryption and signatures. This work focuses on leakage-resilience for the middle ground, namely for distributed and interactive cryptographic primitives. Our main technical contribution is designing the first secret-sharing scheme that is equivocal, resists adaptive probing of a constant fraction of bits from each share, while incurring only a constant blowup in share size. Equivocation is a strong leakage-resilience guarantee, recently introduced by Hazay et al. (ITC`21). Our construction is obtained via a general compiler which we introduce, that transforms any secret-sharing scheme into an equivocal scheme against adaptive leakage. An attractive feature of our compiler is that it respects additive reconstruction, namely, if the original scheme has additive reconstruction, then the transformed scheme has linear reconstruction. We extend our compiler to a general paradigm for protecting distributed primitives against leakage, and show its applicability to various primitives, including secret sharing, verifiable secret sharing, function secret sharing, distributed encryption and signatures, and distributed zero-knowledge proofs. For each of these primitives, our paradigm transforms any construction of the primitive into a scheme that resists adaptive party corruptions, as well as adaptive probing leakage of a constant fraction of bits in each share when the share is stored in memory (but not when it is used in computations). Moreover, the transformation incurs only a constant blowup in the share size, and respects additive reconstruction - an important feature for several of these primitives, such as function secret sharing and distributed encryption.
<strong>The most accepted cryptographic money is the bitcoin, which is highly attracting the traders and investors for making buy or sell decisions. However, the prediction of the bitcoin prices is challenging due to its higher voltality. In this work, a new bitcoin prediction model is introduced with three major phases: Pre-processing, Feature Extraction and Prediction. The collected bit coin data corresponding to minute-by-minute and hour-by-hour data is subjected to pre-processing. From the pre-processed data, the original features are extracted along with the features based on technical indicators. Average True Range (ATR), Exponential Moving Average (EMA) and Relative Strength Index (RSI) are the technical indicators computed. All the extracted features are subjected to prediction phase, where the optimized Neural Network (NN) model is used. To make the prediction more accurate, the training of NN is carried out by the renowned Elephant Herding Optimization (EHO) via tuning the weight. Finally, the algorithmic analysis is carried out by varying the window size.</strong>
Because of the anti-tampering, decentralization, anonymous transaction, and other characteristics of the blockchain, it is considered to be a technology that can bring huge changes to the Internet field, especially the financial Internet. As a huge distributed ledger, the blockchain has obvious deficiencies in query processing module design and client query performance. In addition, the current blockchain storage engine cannot provide version control and multi-person collaboration functions. This article proposes to solve the problem of query performance and query semantics not rich by linking other databases, the version control function is realized by separately designing the version control semantics, and the function of deleting the duplicate data by the Pos-tree can be effectively used to solve the problem of waste of storage space during version control. Experiments show that under normal network delay $(\lt 80$ ms), the middleware system proposed in this paper has a slight improvement in query performance, and can also save storage space as much as possible during version control.
Abdel Ali Harchaoui, Ali Younes, Abdelaaziz El Hibaoui, Ahmed Bendahmane
Proof of Retrievability (PoR) is a technique used to ensure the authenticity of data on outsourced storage services. It improves the soundness and the robustness of the data integrity scheme and allows clients to recover the remote data. Under the circumstance of considering untrusted parties including the Cloud Storage Provider (CSP) and Third Party Authenticator (TPA), incorporating PoR and zero-knowledge Proofs, which is another technique used to allow a prover to convince a verifier that a secret exists without revealing the secret itself, will ensure client integrity verification, strengthen privacy, and improve fairness to both sides. In this paper, we present, on one hand, the state-of-the-art of PoR under zero-knowledge constructs following an existing data integrity scheme taxonomy of cloud storage. We analyze the PoR scheme formalism and its similarities with zero-knowledge concepts, in addition to the techniques used to settle robustness and zero-knowledge proofs methods. On the other hand, we propose our improved taxonomy of proofs of retrievability enriched by the zero-knowledge, the cryptography model, and the cryptographic setup. The proposed taxonomy equips researchers with a tool to think about the PoR scheme from those perspectives. In the end, we state some fruitful lines of works that PoR can take advantage of; i.e Bulletproofs, Interactive Oracle Proofs, and Interactive Oracle Proofs of Proximity For Reed-Solomon.
The great influence of Bitcoin has promoted the rapid development of blockchain-based digital currencies, especially the altcoins, since 2013. However, most altcoins share similar source codes, resulting in concerns about code innovations. In this paper, an empirical study on existing altcoins is carried out to offer a thorough understanding of various aspects associated with altcoin innovations. Firstly, we construct the dataset of altcoins, including source code repositories, GitHub fork relations, and market capitalizations (cap). Then, we analyze the altcoin innovations from the perspective of source code similarities. The results demonstrate that more than 85% of altcoin repositories present high code similarities. Next, a temporal clustering algorithm is proposed to mine the inheritance relationship among various altcoins. The family pedigrees of altcoin are constructed, in which the altcoin presents similar evolution features as biology, such as power-law in family size, variety in family evolution, etc. Finally, we investigate the correlation between code innovations and market capitalization. Although we fail to predict the price of altcoins based on their code similarities, the results show that altcoins with higher innovations reflect better market prospects.
Smart contracts are programs that automatically execute on the blockchain system such as Ethereum. Everybody can write and deploy smart contracts on Ethereum, which causes a large collection of similar contracts via code reuse. In practice, code reuse in smart contract may amplify severe threats like security attacks, resource waste, etc. In this paper, we conduct an empirical study of code reuse in smart contracts for understanding the code reuse practice in the smart contract ecosystem. We first collect 146,452 open-source smart contract projects from Ethereum and then perform a detailed analysis. We first study how often the smart contract projects reuse and then we identify the top reused smart contracts and analyze how the developers revise smart contracts during reuse. Our research suggests that the code reuse in smart contract is quite frequent because about 26% contract code blocks are reused and the average time of reuse is 14.6. And the top reused contracts are almost all related to ERC20 token, which reveals that the current smart contract ecosystem is relatively homogenous. At last, we summarize 7 common types of code revision in smart contracts.
Since the advent of Bitcoin in 2008, the interest in blockchain technology has surged tremendously. Numerous applications have been proposed in the field of finance, healthcare, and supply chain over the last decade. And, as the popularity of blockchains continue to rise, blockchain platforms must be enhanced to support new application needs. \nWe propose one such enhancement that is essential for financial applications and online marketplaces – support for time-based logic. Online marketplaces may need to validate transaction time-stamps against a perishable product’s expiry date to prevent sale of expired products. Similarly, financial applications in banking may also need a history of recent transactions for extending credit (like an overdraft) to a customer. As nodes in a blockchain operate in a distributed and trustless setting, it is imperative that they can access a global and trusted clock for verifying deadlines or examining a window of recent activity. \nIn this thesis, we present a lightweight solution that assigns time-stamps to blocks at transaction validation time, which can be referenced as a global clock by all nodes in the network. Moreover, our solution also maintains a cache \nreflecting the effects of recent transactions. We implement our solution, called TimeFabric, in Hyperledger Fabric, a popular permissioned blockchain platform, and experimentally demonstrate high throughput and minimal overhead (approximately 3%) of maintaining trusted time. We also demonstrate a 2x performance improvement due to the cache, compared to retrieving transaction histories directly from the ledger.
Presented herein is a User-SpecificKey Scheme based on Elliptic Curve Cryptography that defeats man-inthe-middle attacks on cryptocurrency exchange accounts. In this scheme, a separate public and private key pair is assigned to every account and the public key is shifted either forward or backward on the elliptic curve by a difference of the account user’s password. When a user logs into his account, the server sends the shifted public key of his account. The user computes the actual public key of his account by reverse shifting the shifted public key exactly by a difference of his password. Alternatively, shifting can be applied to the user’s generator instead of the public key. Described in detail is as to how aman-in-the-middle attack takes place and how the proposed scheme defeats the attack. Provided detailed security analysis in both the cases of publickey shifting and generator shifting. Further, compared the effectiveness of another three authentication schemes in defending passwords against MITM attacks.
Big data applications put significant latency and throughput demands on distributed storage systems. Meeting these demands requires storage systems to use a significant amount of infrastructure resources, such as network capacity and storage devices. Resource demands largely depend on the workloads and can vary significantly over time. Moreover, demand hotspots can move rapidly between different infrastructure locations. \n \nExisting storage systems are largely infrastructure-oblivious as they are designed to support a broad range of hardware and deployment scenarios. Most only use basic configuration information about the infrastructure to make important placement and routing decisions. In the case of cloud-based storage systems, cloud services have their own infrastructure-specific limitations, such as minimum request sizes and maximum number of concurrent requests. By ignoring infrastructure-specific details, these storage systems are unable to react to resource demand changes and may have additional inefficiencies from performing redundant network operations. As a result, provisioning enough resources for these systems to address all possible workloads and scenarios would be cost prohibitive. \n \nThis thesis studies the performance problems in commonly used distributed storage systems and introduces novel infrastructure-aware design methods to improve their performance. First, it addresses the problem of slow reads due to network congestion that is induced by disjoint replica and path selection. Selecting a read replica separately from the network path can perform poorly if all paths to the pre-selected endpoints are congested. Second, this thesis looks at scalability limitations of consensus protocols that are commonly used in geo-distributed key value stores and distributed ledgers. Due to their network-oblivious designs, existing protocols redundantly communicate over highly oversubscribed WAN links, which poorly utilize network resources and limits consistent replication at large scale. Finally, this thesis addresses the need for a cloud-specific realtime storage system for capital market use cases. Public cloud infrastructures provide feature-rich and cost-effective storage services. However, existing realtime timeseries databases are not built to take advantage of cloud storage services. Therefore, they do not effectively utilize cloud services to provide high performance while minimizing deployment cost. \n \nThis thesis presents three systems that address these problems by using infrastructure-aware design methods. Our performance evaluation of these systems shows that infrastructure-aware design is highly effective in improving the performance of large scale distributed storage systems.
Elliptic curve digital signature algorithm (ECDSA) is the simulation of digital signature algorithm (DSA) algorithm on elliptic curve. Compared with DSA, ECDSA has higher security and is the only widely accepted ECDSA, which has been adopted by many standardisation organisations. Based on the study of the original ECDSA scheme, this paper attempts to propose a new improved scheme. The proposed scheme has one main improvement. That is, considering that the original scheme has a finite field inversion process in the signature equation, the time-consuming inversion operation is completely avoided in the design. The proposed scheme has faster computation speed and reduces the ratio of verifying signature to signature generation time. The algorithm has certain significance for improving the efficiency of elliptic curve cryptography. Our simulation results show that the scheme runs faster and has higher signature and verification efficiency than that of the original scheme without compromising security. What's more, we also explore its application in bitcoin and Internet of Things (IoT).
Hyperledger Fabric is a permissioned enterprise blockchain allowing organizations to collaborate and automate processes via smart contracts. However, these contracts could contain security vulnerabilities leading to unexpected behavior or other negative consequences. Therefore, this study takes a closer look at three reported smart contract vulnerabilities in Fabric: rich queries, pseudorandom number generators, and global variables. Smart contracts containing these vulnerabilities were deployed on a test network, and the vulnerable contract features were exploited and explained. The study provides an estimation of each vulnerability's impact severity, and possible countermeasures to lower it were explored and evaluated. This study found that the proposed countermeasures can at least mitigate the impact severity of all three vulnerabilities.<br/>Additionally, the study provides an overview of compatible analysis tools. The available tools were found to be lacking, however, as most of them do not exist outside of research papers. Overall, static code analysis tools were found to be effective at detecting all three vulnerabilities.
Petr Kuznetsov, Yvonne-Anne Pignolet, Pavel Ponomarev, Andrei Tonkikh
Most modern asset transfer systems use consensus to maintain a totally ordered chain of transactions. It was recently shown that consensus is not always necessary for implementing asset transfer. More efficient, asynchronous solutions can be built using reliable broadcast instead of consensus. This approach has been originally used in the closed (permissioned) setting. In this paper, we extend it to the open (permissionless) environment. We present {Pastro}, a permissionless and asynchronous asset-transfer implementation, in which quorum systems, traditionally used in reliable broadcast, are replaced with a weighted Proof-of-Stake mechanism. {Pastro} tolerates a dynamic adversary that is able to adaptively corrupt participants based on the assets owned by them.