Source-linked AI summary

An Overview on Smart Contracts: Challenges, Advances and Platforms

Zibin Zheng, Shaoan Xie, Hong-Ning Dai, Weili Chen, Xiangping Chen, Jian Weng, Muhammad Imran

arXiv:1912.10370v1cs.SEcs.DC

TL;DR

Smart contracts promise automated, blockchain-based enforcement of agreements without trusted third parties, but their development and operation still face technical challenges. This paper surveys those challenges and recent advances, compares major platforms, and categorizes applications to provide an overview of the field.

  • Problem

    Smart contracts offer automation and reduced intermediary involvement, but important technical challenges remain across their lifecycle, including immutable deployed code and transaction-ordering dependence.

  • Method

    The paper conducts a survey covering smart-contract and blockchain foundations, lifecycle challenges, recent advances, platform comparisons, and application categories.

  • Results

    The paper identifies lifecycle research challenges, summarizes advances addressing them, compares typical platforms, and catalogs diverse smart-contract applications and use cases.

  • Takeaways & Limitations

    The overview is intended to guide development of secure and scalable smart-contract applications and support the evolution of blockchain technologies.

Abstract

from arXiv · show

Smart contract technology is reshaping conventional industry and business processes. Being embedded in blockchains, smart contracts enable the contractual terms of an agreement to be enforced automatically without the intervention of a trusted third party. As a result, smart contracts can cut down administration and save services costs, improve the efficiency of business processes and reduce the risks. Although smart contracts are promising to drive the new wave of innovation in business processes, there are a number of challenges to be tackled.This paper presents a survey on smart contracts. We first introduce blockchains and smart contracts. We then present the challenges in smart contracts as well as recent technical advances. We also compare typical smart contract platforms and give a categorization of smart contract applications along with some representative examples.

I. INTRODUCTION

The paper frames smart contracts as blockchain-based programs that automatically execute predefined clauses, reducing reliance on trusted intermediaries while introducing privacy, correctness, and lifecycle challenges. It surveys these challenges and advances, compares platforms, and categorizes applications.

  • Smart contracts: Blockchain-based smart contracts automatically execute programmed clauses when predefined conditions are met, unlike conventional contracts completed through centralized third parties.They are stored, replicated, and updated in distributed blockchains.
  • Smart contract example: A buyer-supplier purchase procedure can be completed without third-party intervention, with blockchain-stored product and payment information supporting the contract.The supplier publishes a catalog, and the buyer submits an order specifying quantity and payment date.
  • Advantages: Smart contracts can reduce risks, administration and service costs, and business-process turnaround time through immutability, distributed consensus, and automatic peer-to-peer settlement.The paper connects these benefits to traceable transactions, decentralized triggering, and settlement after predefined conditions are met.
  • Challenges: Key challenges include preserving execution privacy when transactions are globally available and ensuring contract correctness despite software faults and failures.The paper also notes that transaction-order uncertainty can produce inconsistent outcomes for order-dependent operations.
  • Paper scope: The survey identifies lifecycle research challenges, summarizes technical advances, compares typical platforms, and categorizes diverse smart-contract applications.Its stated objective is a systematic overview of technical challenges in blockchain-enabled smart contracts.

II. OVERVIEW OF BLOCKCHAIN AND SMART CONTRACT

Blockchain is presented as a continuously growing, publicly auditable ledger whose distributed validation and consensus support smart-contract execution. Its core characteristics include decentralization, immutability, persistency, and anonymity.

  • B. Smart Contract: Smart contracts are built upon blockchain technology to support correct contract execution.The paper introduces blockchain before providing its smart-contract overview.
  • A. Blockchain: A blockchain is a continuously growing chain of blocks validated by network nodes before new blocks are appended.It can be regarded as a public ledger in which transactions cannot be falsified.
  • A. Blockchain: Consensus algorithms determine which node stores the next block and how other nodes validate it, with PoW, PoS, and PBFT given as representative examples.Users who solve the consensus puzzle in systems such as PoW or PoS are called miners.
  • A. Blockchain: Simultaneous consensus can create bisected branches; selecting the longest chain resolves the disparity because it is more tolerant to malicious attacks.The shorter side chain is discarded in the described mechanism.
  • A. Blockchain: Blockchain technology is characterized by decentralization, immutability, persistency, and anonymity.These characteristics are presented as key properties of blockchain systems.

B. Smart Contract

Smart contracts encode contractual clauses as executable programs on blockchains, progressing through creation, deployment, execution, and completion. Their lifecycle combines iterative negotiation and software development with immutable deployment, while readability and modification remain challenges.

  • B. Smart Contract: Smart contracts encode approved contractual clauses as executable programs whose logical flows and statement executions are recorded as blockchain transactions.
  • B. Smart Contract: The lifecycle comprises four consecutive phases: creation, deployment, execution, and completion.
  • Creation: Creation iteratively converts negotiated obligations, rights, and prohibitions from natural language into computer-language contracts through design, implementation, and validation.
  • Deployment: Deployment makes validated contracts available through blockchain platforms, but immutability means amendments require creating a new contract.
  • Lifecycle: During deployment, execution, and completion, statement-level transactions are written to the blockchain as the contract progresses.
  • Readability: Contract readability is difficult across source, compiled, and executed forms; proposed advances include reverse engineering, human-readable representations, and IELE.

2) Functional issues:

Smart contract platforms face functional issues involving re-entrancy, block randomness, and execution cost. Proposed advances include state-based consistency checks, delayed randomness, and gas-cost analysis and optimization.

  • Functional issues: Functional issues include re-entrancy attacks, unreliable block randomness, and excessive execution costs.
  • Re-entrancy: Obsidian uses named states for consistency checking and verification to address re-entrancy and money leakage vulnerabilities.
  • Block randomness: Delay functions can generate randomness whose value becomes known only after a short interval, limiting miners’ ability to manipulate outcomes.
  • Overcharging: More than 90% of real Ethereum smart contracts reportedly contain gas-costly patterns, motivating GasReducer to detect and replace inefficient bytecode.

B. Deployment challenges

Deployment challenges center on correctness, security, dynamic contract interactions, and control-flow changes after deployment. Research advances analyze bytecode, source code, and machine-learning representations, while graph, path, and execution-environment methods address dynamic behavior.

  • Contract correctness: Because deployed contracts are immutable, correctness must be evaluated beforehand, although modelling smart contracts makes verification difficult.
  • Contract correctness: Bytecode analysis detects threats from compiled code, including mishandled exceptions, timestamp-dependent problems, and gas-focused vulnerabilities.
  • Contract correctness: Source-code methods verify runtime safety and functional correctness by translating contracts into verification-oriented representations.
  • Contract correctness: Machine-learning analyses use semantic token sequences, bytecode-to-image transformations, CNNs, and LSTMs to detect smart-contract vulnerabilities.
  • Dynamic control flow: Although deployed contracts are immutable, interactions with other contracts can change control flow and increase interconnectedness over time.
  • Dynamic control flow: Graph analysis predicts contract interactions, MAIAN searches invocation paths for property violations, and EVMFuzz cross-references execution outputs to find environment vulnerabilities.

C. Execution challenges

Execution determines a smart contract’s final state but depends on trustworthy external information and consistent transaction ordering. Proposed solutions use trusted or decentralized oracles and transaction designs that constrain execution order or encode operation dependencies.

  • Execution challenges: Execution is crucial because it determines the final state of a smart contract.
  • Trustworthy oracle: Oracles supply and verify real-world information for sandboxed contracts, making oracle trustworthiness a central challenge.
  • Trustworthy oracle: Town Crier scrapes reliable websites and forwards time-framed source data from a protected software-enclave environment.
  • Trustworthy oracle: ASTRAEA uses stakeholder voting and economic rewards or penalties to support decentralized oracle selection.
  • Transaction-ordering dependence: Uncertain transaction ordering can produce different final states, such as x + 1 or x × 10, when operations are order-dependent.
  • Transaction-ordering dependence: Transaction counters enforce increasing transition numbers, while predefined contract functions can encode operation dependencies and avoid ordering anomalies.

3) Execution Efficiency:

Smart contract systems face efficiency, privacy, security, and scam-detection challenges. Recent approaches address execution parallelism, contract inspection, privacy-preserving execution, secure relaying, and fraud detection.

  • Execution efficiency: Serialized smart contract execution limits system performance, while shared data makes concurrent execution challenging.Inspecting contract data without a prescribed interface is also important for improving execution efficiency.
  • Execution efficiency: Software Transactional Memory treats each contract invocation as a speculative atomic action, enabling parallel execution with rollback of conflicts.This approach is proposed for miners or validators.
  • Execution efficiency: Memory-layout reification can decompile compiled contract binaries to inspect contract content after deployment without redeployment.Redeployment may cause additional costs.
  • Privacy and security: Most platforms expose transaction records and data publicly, so pseudonymous keys do not prevent transactional privacy loss.Publicly visible balances and operation sequences can reveal useful information.
  • Privacy and security: Hawk compiles contracts into cryptographic protocols with private and public portions to establish privacy-preserved smart contracts.The private portion executes the major function, while the public portion protects users.
  • Privacy and security: SABRE combines secure relaying, routing-policy adjustments, and hardware-software codesign to protect blockchain links and reduce relay traffic.Its relays are placed to protect client-relay links.
  • Scam detection: Scam detection helps users terminate contracts early and avoid unnecessary losses, including Ponzi schemes and honeypots.A study collected 16,082,269 transactions and identified 17,777 transactions related to Ethereum Ponzi schemes, which collected over 410,000 US dollars within two years.

IV. SMART CONTRACT DEVELOPMENT PLATFORMS

The paper presents five representative smart contract platforms selected for community popularity and technical maturity. Their architectures differ in execution environments, languages, and access models, with Fabric emphasizing permissioned enterprise use.

  • Platform overview: The surveyed platforms are Ethereum, Hyperledger Fabric, Corda, Stellar, and Rootstock, selected for community popularity and technical maturity.The paper compares their common features and gives an example of smart contract development.
  • Ethereum: Ethereum executes smart contracts in the EVM using Turing-complete languages such as Solidity, Serpent, LLL, and Mutan.Contracts are compiled into machine code and run in the EVM under an account-based data model.
  • Ethereum: Ethereum uses proof of work, and transaction cost is calculated informally as gas limit × gas price.Gas acts as an internal price for transaction execution because Ether’s value is unstable.
  • Hyperledger Fabric: Fabric executes code in Docker containers, reducing overhead relative to virtual machines while sacrificing application isolation.It is designed for general enterprise applications.
  • Hyperledger Fabric: Fabric is a permissioned blockchain whose users require authorization through certificate authorities.Its authenticated network uses multiple certificate-authority roles.
  • Hyperledger Fabric: Fabric uses PBFT consensus with multi-round voting among authenticated users, which can cause time delay.The paper identifies the development of more efficient consensus algorithms as an unresolved need.

3) Corda:

Corda is specialized for private digital-asset platforms, while the comparison places it among platforms differing in execution, programming, consensus, permission, and application scope. The broader comparison highlights trade-offs between expressiveness, overhead, privacy, and platform specialization.

  • Corda: Corda supports digital-currency applications by saving and processing historical digital-asset records.It uses Java and Kotlin on the JVM, is Turing incomplete for verifiability, and adopts a transaction-based data model.
  • Corda: Corda typically uses private authorized networks, Raft consensus, and point-to-point messaging rather than global broadcast.Its consensus uses leader selection, log replication, and safety assurance.
  • Stellar: Stellar is simpler and more accessible than Ethereum, supports several programming languages, and uses non-Turing-complete contracts in Docker containers.The container-based execution reduces overhead, and one transaction costs approximately $0.000.
  • Rootstock: Rootstock runs on Bitcoin, supports Solidity and Turing-complete contracts, confirms executed transactions within 20 seconds, and uses its own virtual machines.It is a public, account-based blockchain.
  • EOS: EOS combines BFT and delegated proof of stake to support decentralized-application scalability.Delegates produce blocks and BFT makes them irreversible among selected delegates.
  • Cross-platform comparison: The platform comparison covers execution environment, language, Turing completeness, data model, consensus, permission, and application.These dimensions distinguish the representative platforms’ technical and organizational designs.
  • Cross-platform comparison: Fabric and Stellar use Docker containers, while EOS uses Wasm and Ethereum, Corda, and Rootstock use distinct virtual-machine environments.Container execution reduces overhead but sacrifices application isolation.
  • Cross-platform comparison: Ethereum, EOS, and Rootstock are public platforms, Corda and Hyperledger are private, and Stellar is a consortium blockchain.Permission determines whether users may join freely, require authentication, or participate through organizations.

C. Example of developing a smart contract

The development workflow converts a negotiated agreement into executable code, compiles it into machine code, and validates transactions through blockchain consensus before appending them to the ledger.

  • Contract development workflow: After negotiations, an agreement between Alice and Bob is implemented in a smart contract language such as Solidity or Golang.The example concerns a money transfer contract.
  • Contract development workflow: A compiler such as solc converts the smart contract code into machine code or bytecode for execution on a virtual machine.The compiled output runs on the platform’s execution environment.
  • Transaction validation: Each transaction is validated across the blockchain network through consensus algorithms before being appended to the transaction list.Every node keeps a copy of the updated blockchain.
  • Solidity example: Solidity syntax resembles JavaScript and supports inheritance and user-defined types.The paper illustrates these capabilities with a Solidity smart contract example.

V. APPLICATIONS OF SMART CONTRACT

Smart contracts support applications across IoT, distributed-system security, cloud computing, and financial services by automating transactions and reducing reliance on intermediaries. The surveyed examples emphasize resource savings, security mechanisms, and faster or less costly financial processes.

  • Smart contracts are applied across IoT, sharing economy, finance, and other domains, with six major application types categorized in the paper.
  • A. Internet of Things: In industrial manufacturing, smart contracts distribute firmware update hashes so IoT devices can retrieve them automatically, greatly saving resources.
  • B. Distributed system security: Smart contracts support distributed-system security by using incentive mechanisms to help users identify cloud servers that will not collude or cheat.
  • C. Finance: 20 days or more to 6 to 10 days: smart contracts can shorten capital-market settlement periods and are predicted to produce 5% to 6% demand growth.
  • C. Finance: Smart contracts can automate mortgage processes and insurance claim settlement, potentially reducing costs, delays, processing overheads, and claim-processing time.

D. Data provenance

Smart contracts and blockchains are used to improve data provenance, protect intellectual property, and address centralization and privacy problems in sharing-economy platforms. The examples rely on traceable blockchain records, encryption, watermarking, and privacy-preserving mechanisms.

  • D. Data provenance: Clinical-trial fabrication and falsification motivate data-provenance systems that track data origin, derivation, and transformation.
  • D. Data provenance: Smart-contract provenance systems can track data transformations, while ProvChain records provenance in blockchain transactions for traceable modifications.
  • E. Intellectual property: Digital watermarks containing buyer and product identifiers allow intellectual-property infringement to be traced and identified through smart contracts and blockchains.
  • F. Sharing economy: Sharing-economy platforms face high transaction costs, privacy exposure, and unreliable centralized intermediaries; smart contracts can decentralize these platforms.
  • F. Sharing economy: Ethereum-based sharing systems allow users to register and share items without a trusted third party while preserving personal information privacy.

F. Public sector

Smart contracts and blockchains are presented as tools for public-sector transparency, bidding, identity management, voting, property exchange, and energy trading. The paper’s overall survey organizes these applications alongside broader benefits and unresolved development challenges.

  • F. Public sector: Blockchain and smart contracts can prevent data fraudulence and support transparent public bidding through identity verification, process automation, auditing, and review.
  • F. Public sector: Self-tallying voting protocols can keep votes private while allowing user identities to remain verifiable without a trusted third party.
  • F. Public sector: Smart contracts can manage personal digital identity and reputation by granting access to private information through programmable clauses.
  • F. Public sector: Smart-property protocols can abort ownership transfers when required signatures are absent, while consortium blockchains support fast energy trading without a trusted intermediary.
  • Summary: Across applications, smart contracts reduce dependence on trusted third parties, lower costs, improve data reliability, and offer privacy preservation.
Loading 1912.10370v1…